parse-duration: Make self-test build on its own.
[gnulib.git] / ChangeLog
1 2012-06-20  Simon Josefsson  <simon@josefsson.org>
2
3         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
4         bring in LIBINTL.
5
6 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
7
8         init.sh: do not rely on autoupated PWD
9         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
10         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
11         Although Nelson's bug was not necessarily fixed by this patch,
12         it seems wise to make the change for safety.
13         * tests/init.sh (path_prepend_): Do not rely on PWD updating
14         automagically after 'cd'; this is not reliable on older shells.
15         (setup_): Fail if we cannot cd to temporary directory.
16
17 2012-06-19  Bruno Haible  <bruno@clisp.org>
18
19         stat, fstat: Avoid warnings on mingw64.
20         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
21         redefining.
22         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
23         Reported by Daniel P. Berrange <berrange@redhat.com>.
24
25 2012-06-19  Bruno Haible  <bruno@clisp.org>
26
27         stdioext: Add support for musl libc.
28
29         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
30         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
31
32         * m4/fseterr.m4: New file.
33         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
34         function exists.
35         * modules/fseterr (Files): Add m4/fseterr.m4.
36         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
37         __fseterr does not exist.
38         (Makefile.am): Remove fseterr.c from lib_SOURCES.
39
40         * lib/freadable.h: Update comment.
41
42         * lib/fwritable.h: Update comment.
43
44         * lib/freading.h: Update comment.
45
46         * lib/fwriting.h: Update comment.
47
48         * m4/freadahead.m4: New file.
49         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
50         that function exists.
51         * modules/freadahead (Files): Add m4/freadahead.m4.
52         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
53         __freadahead does not exist.
54         (Makefile.am): Remove freadahead.c from lib_SOURCES.
55
56         * m4/freadptr.m4: New file.
57         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
58         function exists.
59         * modules/freadptr (Files): Add m4/freadptr.m4.
60         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
61         __freadptr does not exist.
62         (Makefile.am): Remove freadptr.c from lib_SOURCES.
63
64         * m4/freadseek.m4: New file.
65         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
66         exists.
67         * modules/freadseek (Files): Add m4/freadseek.m4.
68         (configure.ac): Invoke gl_FUNC_FREADSEEK.
69
70         * lib/fpurge.c (fpurge): Update comment.
71
72         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
73
74 2012-06-19  Bruno Haible  <bruno@clisp.org>
75
76         *printf-posix: Put more info into config.log.
77         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
78         exit code into config.log.
79
80 2012-06-19  Bruno Haible  <bruno@clisp.org>
81
82         getopt-gnu: Fix exit code overflow in autoconf test.
83         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
84         to keep them below < 128.
85
86 2012-06-17  Jim Meyering  <meyering@redhat.com>
87
88         maint.mk: fix typo in code to derive GPG key at release time
89         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
90
91 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
92
93         regex: avoid warning when pointers are not long
94         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
95         and uintptr_t, not long, for portability to hosts where pointers and
96         long have different sizes.  Issue noted by Daniel P. Berrange in
97         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
98         and fix suggested by Bruno Haible in
99         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
100
101 2012-06-17  Bruno Haible  <bruno@clisp.org>
102
103         dummy: Relicense into the public domain.
104         * modules/dummy (License): Set to "public domain".
105         Suggested by Reuben Thomas.
106
107 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
108
109         announce-gen: VPATH issues
110         * build-aux/announce-gen (--srcdir): New option, used to trim the
111         $srcdir part of the path from $builddir to NEWS.
112         * top/maint.mk (announcement): Adjust.
113
114 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
115
116         gnu-web-doc-update: VPATH builds
117         * build-aux/gnu-web-doc-update (--builddir): New option.
118         Revamp the handling of options.
119         Prefer $(...) to `...`.
120         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
121         the template, and it is GNU mktemp specific.
122         Prefer set -e to long series of &&.
123         Restore the initial git branch, not "master".
124         Properly initialize submodules (don't rely only on bootstrap).
125         Do not reconfigure blindly, use config.status.
126         * top/README-release: Update instructions for gnu-web-doc-update.
127
128 2012-06-11  Jim Meyering  <meyering@redhat.com>
129
130         maint.mk: revert most of the previous change re "all these"
131         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
132         For rationale, see the discussion at
133         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
134
135 2012-06-10  Karl Berry  <karl@gnu.org>
136
137         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
138
139         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
140
141 2012-06-10  Bruce Korb  <bkorb@gnu.org>
142
143         parse-duration: Relicense under LGPLv2+.
144         * modules/parse-duration (License): Change to LGPLv2+.
145
146 2012-06-10  Jim Meyering  <meyering@redhat.com>
147
148         maint.mk: prohibit common grammar error: "all these"
149         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
150         the list of prohibited word sequences.  It should be "all of these".
151         * lib/tempname.c (__gen_tempname): Fix one of them.
152
153 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
154
155         do-release-commit-and-tag: support VPATH builds
156         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
157         (noteworthy): Defined earlier to factor its value.
158         (noteworthy_stub): New.
159         Use it to factor.
160         (help_version): Split into...
161         (help, version): these.
162         Adjust the option processing part.
163         Support "--option=value" in addition to "--option value".
164         (builddir): New.
165         (--builddir): New option.
166         * top/README-release: Document this.
167         Reword slightly so that the reader cannot understand that he
168         has to do these steps before calling do-release-commit-and-tag.
169
170 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
171
172         readme-release: also require announce-gen and maintainer-makefile
173         * modules/readme-release (Depends-on): here.
174         * modules/announce-gen, modules/do-release-commit-and-tag,
175         modules/gnu-web-doc-update, modules/maintainer-makefile
176         (Description): Point to readme-release.
177
178 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
179
180         maint.mk: fix VPATH issues.
181         * top/maint.mk (news-check): GNU Make understand $< very well.
182         (release-prep): NEWS is in $(srcdir).
183
184 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
185
186         readme-release: require the promoted modules.
187         * modules/readme-release (Depends-on): Add
188         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
189         in this text.
190
191 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
192             Bruno Haible  <bruno@clisp.org>
193
194         error, strerror-override: Support mingw64 from Fedora 17.
195         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
196         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
197         EINPROGRESS.
198         * lib/strerror-override.h (strerror_override): Test it.
199         * lib/strerror-override.c (strerror_override): Likewise.
200         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
201
202 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
203             Bruno Haible  <bruno@clisp.org>
204
205         error, strerror-override: Support mingw64 from Fedora 17.
206         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
207         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
208         * lib/strerror-override.h (strerror_override): Test it.
209         * lib/strerror-override.c (strerror_override): Likewise.
210
211 2012-06-03  Bruno Haible  <bruno@clisp.org>
212
213         error, strerror-override: Support new errno values from POSIX:2008.
214         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
215         ENOTRECOVERABLE.
216         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
217         platforms.
218         * lib/strerror-override.c (strerror_override): Conditionalize the
219         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
220         * lib/strerror-override.h (strerror_override): Declare also if
221         GNULIB_defined_EOWNERDEAD is defined.
222         * tests/test-errno.c (e130, e131): New variables.
223         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
224         ENOTRECOVERABLE.
225         Reported by Paolo Bonzini.
226
227 2012-05-31  Jim Meyering  <meyering@redhat.com>
228
229         savewd: add missing dependency on sys_wait module
230         * modules/savewd (Depends-on): Add sys_wait, needed at least
231         for MSVC.  Report and suggested change by Michael Goffioul.
232
233 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
234
235         system-quote-tests: port to CentOS 5
236         Problem reported by Tom G. Christensen in
237         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
238         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
239
240 2012-05-29  Jim Meyering  <meyering@redhat.com>
241
242         maint: fix typos in comments and ChangeLog
243         Culprits identified and fixed mostly automatically using these commands:
244         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
245         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
246         using http://github.com/lyda/misspell-check
247         * ChangeLog: Fix typos.
248         * doc/solaris-versions: Likewise.
249         * lib/regexec.c (re_search_stub): Likewise.
250         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
251
252 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
253
254         manywarnings: remove duplicate -Wmultichar entry
255         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
256         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
257         so keep the entry marked as documented.
258
259 2012-05-27  Karl Berry  <karl@gnu.org>
260
261         * config/srclist.txt (mktime.c): remove last libc sync,
262         perhaps just temporarily.
263
264 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
265
266         regex: don't assume uint64_t or uint32_t
267         * lib/regcomp.c (init_word_char): Don't assume that the types
268         uint64_t and uint32_t exist.  The C standard doesn't guarantee
269         them, and on some 32-bit compilers there is no uint64_t.
270         Problem reported by Gianluigi Tiesi in
271         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
272
273 2012-05-25  Jim Meyering  <meyering@redhat.com>
274
275         maint.mk: add strncpy-prohibiting syntax-check rule
276         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
277
278 2012-05-24  Jim Meyering  <meyering@redhat.com>
279
280         maint.mk: compute $(gpg_key_ID) more portably
281         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
282         That use of sed is not portable to some fringe systems.
283         Reported by Paul Eggert in
284         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
285
286 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
287
288         mktime: sync from glibc
289         * config/srclist.txt: Uncomment mktime.c.
290         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
291         First, indent with tabs, since glibc uses tabs and doesn't want to
292         change and we'd rather be identical to glibc.  Also, two small
293         coding changes:
294         (isdst_differ): Use &&, not &, as && is the usual style.
295         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
296         for clarity.
297
298 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
299
300         announce-gen: du -h is more portable than du --human
301         * build-aux/announce-gen (sizes): Invoke du with -h instead
302         of --human.  Accept leading white space in its output.
303
304 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
305
306         announce-gen: Improve diagnostics.
307         * build-aux/announce-gen: When parsing command line options,
308         prefer "announce-gen: option --release-type requires an argument"
309         to "Option release-type requires an argument".
310
311 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
312
313         maint.mk: gpg_key_ID: use sed more portably
314         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
315         the closing brace.
316         (refresh-po): Fuse two sed invocations into one.
317
318 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
319
320         gitlog-to-changelog: support the log message format used in Bison.
321         * build-aux/gitlog-to-changelog: Support --strip-tab and
322         --strip-cherry-picked.
323
324 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
325
326         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
327         the rest of the current time slice to another thread in the current
328         process. So if the thread that feeds the file decscriptor we're
329         polling is not in the current process, we get busy-waiting.
330         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
331         Patch from Theodore Leblond.
332         * lib/select.c: Split polling out of the loop that sets the output
333         fd_sets.  Check for zero result and loop if the wait timeout is
334         infinite.
335
336 2012-05-21  Simon Josefsson  <simon@josefsson.org>
337
338         select: Fix build error on IRIX 6.5.
339         * lib/select.c: Include stddef.h for NULL.
340
341 2012-05-21  Simon Josefsson  <simon@josefsson.org>
342
343         gc: fix libgcrypt detection on older machines.
344         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
345         copyright years because the file has been distributed every year
346         since it was created.
347
348 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
349
350         crypto: fix bug in large buffer handling
351         Problem reported by Serge Belyshev for glibc in
352         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
353         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
354         * lib/md4.c (md4_process_block):
355         * lib/md5.c (md5_process_block):
356         * lib/sha1.c (sha1_process_block):
357         * lib/sha256.c (sha256_process_block):
358         Don't assume the buffer length is less than 2**32.
359         * lib/sha512.c (sha512_process_block): Likewise.
360         Here, the bug is present only in the rare case where the host does
361         not support uint64_t or where size_t is wider than 64 bits.
362         Use u64size to work around the problems.
363         * lib/u64.h (u64size): New macro.
364
365 2012-05-15  Pádraig Brady  <P@draigBrady.com>
366
367         fsusage: fix block size returned on older Linux 2.6
368
369         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
370         which is available since Linux 2.6.
371         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
372         when the member is available so it can be used as a fallback.
373         * doc/posix-functions/statvfs.texi: Mention the hang issue
374         on Linux < 2.6.36.
375
376 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
377
378         bootstrap: suppress stderr chatter
379         * build-aux/bootstrap (insert_sorted_if_absent, main program):
380         Omit unnecessary chatter to stderr.  The main program chatter
381         was there only inadvertantly.
382
383         bootstrap: .gitignore files created by autopoint, libtool
384         I ran into this problem when bootstrapping the latest diffutils.
385         After './bootstrap', 'git status' reported lots of untracked files
386         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
387         autopoint and do not need to be version-controlled.
388         * build-aux/bootstrap: Put into .gitignore the files that
389         autopoint and libtool create, by keeping track of files that exist
390         after but not before these programs are run.
391         (version_controlled_file): Move up.  2nd arg is now full file
392         name, not base name; this is more convenient.  Put CVS at the end,
393         as it's now somewhat deprecated.
394
395 2012-05-14  Jim Meyering  <meyering@redhat.com>
396
397         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
398         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
399         definition.  Reported by Bruno Haible.
400
401 2012-05-13  Bruno Haible  <bruno@clisp.org>
402             Paul Eggert  <eggert@cs.ucla.edu>
403
404         binary-io: Define set_binary_mode function.
405         * lib/binary-io.h (set_binary_mode): New function.
406         (SET_BINARY): Define in terms of set_binary_mode.
407         * modules/binary-io (configure.ac): Require AC_C_INLINE.
408         * tests/test-binary-io.c (main): Accept an argument, and test either
409         set_binary_mode or SET_BINARY depending on the argument.
410         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
411         argument. Clean up also t-bin-out0.tmp.
412
413 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
414
415         bootstrap: take advantage of POSIX shell features
416
417         The 'bootstrap' script offered by Gnulib script already uses POSIX
418         shell features (like $((...)) arithmetic expansions) that are not
419         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
420         means that bootstrap must already be run using a proper POSIX shell,
421         which will thus provide more features, like ${var#pattern} parameter
422         expansion or inversion of a command exit status with '!'.  We can
423         thus use these features to improve the clarity and the performances
424         of the bootstrap script.
425
426         Suggested by Eric Blake.
427
428         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
429         of sed/expr plus command substitutions, to save some forks.  While
430         we are at it, prefer the POSIX $(...) form of command substitution,
431         rather than the legacy form `...` (since the former is visually
432         clearer and interacts better with quoting), and prefer the idiom:
433           "if ! CMD; then ACTION ..."
434         over the idiom:
435           "if CMD; then :; else ACTION ..."
436         which was required by legacy Bourne shells not supporting '!'.
437
438 2012-05-12  Bruno Haible  <bruno@clisp.org>
439
440         system-quote: Add more comments.
441         * lib/system-quote.h: Add more comments about wilcards and limitations.
442         Suggested by Eli Zaretskii <eliz@gnu.org>.
443
444         sh-quote, system-quote: Add comments about wildcards.
445         * lib/sh-quote.h: Clarify what happens with wildcard characters.
446         * lib/system-quote.h: Likewise.
447         Reported by Eli Zaretskii <eliz@gnu.org>.
448
449 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
450
451         fsusage: check for GNU/Linux statvfs problem dynamically
452         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
453         Define STAT_STATFS2_BSIZE too, since in this case the code now
454         checks dynamically whether statvfs is reliable, falling back on
455         Linux-style statfs otherwise.
456         (statvfs_works): New function, for dynamically testing statvfs.
457         (get_fs_usage) [STAT_STATVFS]: Use it.
458         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
459         statvfs on GNU/Linux hosts, since it's now done dynamically.
460
461 2012-05-10  Bruno Haible  <bruno@clisp.org>
462
463         system-quote, execute, spawn-pipe: Escape '?' on Windows.
464         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
465         '?' character.
466         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
467         * tests/test-system-quote-main.c (check_all): Check also strings like
468         "??????????".
469         Reported by Eli Zaretskii <eliz@gnu.org>.
470
471 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
472
473         _Noreturn: port config.h to gcc -Wundef
474         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
475         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
476         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
477
478 2012-05-10  Bruno Haible  <bruno@clisp.org>
479
480         system-quote: Refactor.
481         * lib/system-quote.h (system_quote_copy): Fix comment.
482         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
483         New functions, extracted from system_quote_copy.
484         (system_quote_length, system_quote_copy): Use these functions.
485         Reported by Paul Eggert.
486
487 2012-05-08  Bruno Haible  <bruno@clisp.org>
488
489         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
490         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
491
492 2012-05-08  Bruno Haible  <bruno@clisp.org>
493
494         Tests for module 'system-quote'.
495         * modules/system-quote-tests: New file.
496         * tests/test-system-quote.sh: New file.
497         * tests/test-system-quote-main.c: New file.
498         * tests/test-system-quote-child.c: New file.
499
500         New module 'system-quote'.
501         * lib/system-quote.h: New file.
502         * lib/system-quote.c: New file.
503         * modules/system-quote: New file.
504
505 2012-05-08  Bruno Haible  <bruno@clisp.org>
506
507         sh-quote: Make C++ safe and allow multiple inclusion.
508         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
509         declarations in extern "C".
510
511 2012-05-08  Bruno Haible  <bruno@clisp.org>
512
513         sh-quote tests: Make tests stricter.
514         * tests/test-sh-quote.c (check_one): Check the return value of
515         shell_quote_copy.
516         (main): Check a string with a CR character. Check a string that
517         contains UCHAR_MAX.
518
519 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
520
521         warnings.m4: provide a means to specify the program to compile.
522         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
523         (gl_WARN_ADD): here.
524         Use gl_AS_VAR_APPEND.
525         Support an argument to specify the program to compile.
526         (gl_WARN_ADD): Accept an argument to specify the program to compile.
527         AC_SUBST the WARN_CFLAGS when they are used.
528         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
529         leave this to gl_WARN_ADD.
530
531 2012-05-08  Eric Blake  <eblake@redhat.com>
532
533         doc: recommendations on gettext version
534         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
535         choice between versions.
536         * DEPENDENCIES (gettext): Cover both approaches.
537
538 2012-05-08  Jim Meyering  <meyering@redhat.com>
539
540         init.sh: explain why EXEEXT support uses aliases rather than functions
541         * tests/init.sh: Add a comment.
542
543         init.sh: don't let bash aliases interfere with tests
544         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
545         is bash.  This avoids problems for those who alias standard commands to
546         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
547         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
548
549 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
550
551         stdint: be more consistent with glibc, SunOS libc
552         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
553         (gl_int_fast16_t, gl_uint_fast16_t)
554         (gl_int_fast32_t, gl_uint_fast32_t)
555         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
556         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
557         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
558         Be consistent with glibc by default, and with SunOS 5.10 and later
559         if __sun is defined.  This lessens the likelihood of clashes if
560         code compiled for older hosts is combined with code compiled for
561         newer ones.  Problem reported by Niels Möller in
562         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
563
564 2012-05-07  Eric Blake  <eblake@redhat.com>
565
566         isatty: relax license to LGPLv2+
567         * modules/isatty (License): Relax license.
568
569 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
570
571         stat-size: comment fix
572         * lib/stat-size.h: Remove obsolete comment about indenting.
573
574 2012-05-06  Bruno Haible  <bruno@clisp.org>
575
576         Tests for module 'sh-quote'.
577         * modules/sh-quote-tests: New file.
578         * tests/test-sh-quote.c: New file.
579
580 2012-05-06  Bruno Haible  <bruno@clisp.org>
581
582         sh-quote: Improve shell_quote_argv's signature.
583         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
584         * lib/sh-quote.c (shell_quote_argv): Likewise.
585
586 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
587
588         stdint: document issues with int_fast8_t etc.
589         * doc/posix-headers/stdint.texi (stdint.h): Say that other
590         stdint.h substitutes may define these types differently.  See
591         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
592
593 2012-05-05  Bruno Haible  <bruno@clisp.org>
594
595         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
596         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
597         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
598         or 'guessing no (mishandles large arguments)'.
599
600 2012-05-05  Bruno Haible  <bruno@clisp.org>
601
602         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
603         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
604         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
605         set gl_cv_func_link_follows_symlink to "guessing no".
606
607 2012-05-05  Bruno Haible  <bruno@clisp.org>
608
609         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
610         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
611         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
612         "guessing no".
613         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
614
615 2012-05-05  Bruno Haible  <bruno@clisp.org>
616
617         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
618         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
619         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
620         set gl_cv_struct_dirent_d_ino to "guessing yes".
621
622 2012-05-05  Bruno Haible  <bruno@clisp.org>
623
624         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
625         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
626         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
627         "guessing yes".
628
629 2012-05-05  Bruno Haible  <bruno@clisp.org>
630
631         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
632         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
633         compiling to a glibc system, set gl_cv_func_signbit and
634         gl_cv_func_signbit_gcc to "guessing yes".
635
636 2012-05-05  Bruno Haible  <bruno@clisp.org>
637
638         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
639         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
640         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
641         to "guessing yes".
642         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
643         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
644
645 2012-05-05  Bruno Haible  <bruno@clisp.org>
646
647         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
648         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
649         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
650         gl_cv_func_realpath_works to "guessing yes".
651
652 2012-05-05  Bruno Haible  <bruno@clisp.org>
653
654         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
655         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
656         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
657
658 2012-05-04  Bruno Haible  <bruno@clisp.org>
659
660         Tweak last commit.
661         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
662         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
663
664 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
665
666         unistd_h: make it easier to avoid sys_types_h
667         This is useful for Emacs, which has its own method of porting to
668         Windows, and which therefore does not need the sys_types_h module.
669         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
670         code moved here from gl_SYS_TYPES_H.
671         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
672         using the code directly.
673         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
674         gl_SYS_TYPES_H.
675         * modules/sys_types (Files):
676         * modules/unistd (Files): Add m4/off_t.m4.
677
678 2012-05-03  Bruno Haible  <bruno@clisp.org>
679
680         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
681         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
682         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
683         "guessing yes" or "guessing no".
684         (gl_FUNC_LSTAT): Update.
685         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
686         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
687         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
688
689 2012-05-03  Bruno Haible  <bruno@clisp.org>
690
691         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
692         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
693         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
694         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
695         cross-compiling, choose the first alternative on glibc systems.
696         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
697
698 2012-05-03  Bruno Haible  <bruno@clisp.org>
699
700         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
701         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
702         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
703
704 2012-05-03  Bruno Haible  <bruno@clisp.org>
705
706         chown: Avoid "guessing no" when cross-compiling to glibc systems.
707         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
708
709 2012-05-03  Bruno Haible  <bruno@clisp.org>
710
711         Avoid "guessing no" guesses when cross-compiling to glibc systems.
712         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
713         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
714         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
715         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
716         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
717         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
718         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
719         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
720         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
721         compiling to glibc systems, set gl_cv_func_chown_slash_works,
722         gl_cv_func_chown_ctime_works to "guessing yes".
723         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
724         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
725         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
726         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
727         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
728         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
729         compiling to glibc systems, set gl_cv_func_open_directory_works to
730         "guessing yes".
731         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
732         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
733         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
734         "guessing yes".
735         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
736         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
737         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
738         compiling to glibc systems, set gl_cv_func_floorf_ieee to
739         "guessing yes".
740         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
741         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
742         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
743         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
744         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
745         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
746         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
747         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
748         "guessing yes".
749         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
750         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
751         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
752         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
753         "guessing yes".
754         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
755         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
756         "guessing yes".
757         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
758         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
759         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
760         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
761         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
762         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
763         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
764         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
765         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
766         compiling to glibc systems, set gl_cv_func_log10f_ieee to
767         "guessing yes".
768         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
769         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
770         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
771         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
772         "guessing yes".
773         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
774         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
775         "guessing yes".
776         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
777         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
778         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
779         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
780         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
781         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
782         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
783         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
784         compiling to glibc systems, set gl_cv_func_mkfifo_works to
785         "guessing yes".
786         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
787         compiling to glibc systems, set gl_cv_func_mknod_works to
788         "guessing yes".
789         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
790         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
791         "guessing yes".
792         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
793         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
794         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
795         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
796         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
797         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
798         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
799         compiling to glibc systems, set gl_cv_func_svid_putenv to
800         "guessing yes".
801         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
802         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
803         "guessing yes".
804         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
805         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
806         "guessing yes".
807         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
808         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
809         to "guessing yes".
810         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
811         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
812         to "guessing yes".
813         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
814         compiling to glibc systems, set gl_cv_func_rmdir_works to
815         "guessing yes".
816         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
817         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
818         gl_cv_func_unlink_parent_fails to "guessing yes".
819         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
820         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
821         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
822         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
823         gl_cv_func_rename_dest_works to "guessing yes".
824         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
825         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
826         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
827         compiling to glibc systems, set gl_cv_func_roundf_ieee to
828         "guessing yes".
829         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
830         compiling to glibc systems, set gl_cv_func_roundl_ieee to
831         "guessing yes".
832         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
833         compiling to glibc systems, set gl_cv_func_setenv_works to
834         "guessing yes".
835         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
836         compiling to glibc systems, set gl_cv_func_unsetenv_works to
837         "guessing yes".
838         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
839         compiling to glibc systems, set gl_cv_func_sleep_works to
840         "guessing yes".
841         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
842         compiling to glibc systems, set gl_cv_func_stat_file_slash to
843         "guessing yes".
844         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
845         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
846         "guessing yes".
847         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
848         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
849         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
850         compiling to glibc systems, set gl_cv_func_truncf_ieee to
851         "guessing yes".
852         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
853         compiling to glibc systems, set gl_cv_func_truncl_ieee to
854         "guessing yes".
855         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
856         compiling to glibc systems, set gl_cv_func_usleep_works to
857         "guessing yes".
858         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
859         compiling to glibc systems, set gl_cv_func_futimesat_works to
860         "guessing yes".
861
862 2012-05-03  Bruno Haible  <bruno@clisp.org>
863
864         Say "guessing yes" or "guessing no" when cross-compiling.
865         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
866         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
867         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
868         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
869         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
870         am_cv_func_working_getline to "guessing yes" or "guessing no".
871         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
872         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
873         (gl_FUNC_MEMMEM): When cross-compiling, set
874         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
875         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
876         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
877         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
878         set gl_cv_func_strcasestr_works_always to "guessing yes" or
879         "guessing no".
880         (gl_FUNC_STRCASESTR): When cross-compiling, set
881         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
882         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
883         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
884         (gl_FUNC_STRSTR): When cross-compiling, set
885         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
886         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
887         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
888         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
889         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
890
891 2012-05-01  Bruno Haible  <bruno@clisp.org>
892
893         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
894         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
895         * build-aux/reloc-ldflags: Likewise.
896         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
897
898 2012-05-01  Bruno Haible  <bruno@clisp.org>
899
900         gnulib-tool: Remove transitional code.
901         * gnulib-tool: Don't warn about --import with 0 arguments any more.
902         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
903
904 2012-05-01  Bruno Haible  <bruno@clisp.org>
905
906         getcwd: Fix misindentation.
907         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
908
909 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
910
911         exclude: process exclude and include directives in order
912         This restores the pre-2009 behavior, and is part of a fix of a
913         grep bug reported by Quentin Arce in
914         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
915         * lib/exclude.c (struct exclude): Remove 'tail' member.
916         (new_exclude_segment): Prepend the new segment instead of appending.
917         Return void, since that's now more convenient.
918         (file_pattern_matches): Renamed from excluded_file_pattern_p.
919         (file_name_matches): Renamed from excluded_file_name_p.
920         (file_pattern_matches, file_name_matches):
921         Return true if the pattern matches, not if it excludes.
922         All callers changed.
923         (excluded_file_name): Process the list in reverse order;
924         since the list is now reversed this restores the pre-2009 behavior.
925         (add_exclude): Adjust to new reversed-order list.  Use local var
926         rather than macro, for clarity.
927         * tests/test-exclude7.sh: Adjust to corrected behavior.
928
929         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
930         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
931         it's not possible here.  Handle the case of \ at end of pattern
932         without dumping core.
933         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
934
935         _Noreturn: future-proof non-GNU and non-MSVC compilers
936         * build-aux/snippet/_Noreturn.h (_Noreturn):
937         * m4/gnulib-common.m4 (gl_COMMON_BODY):
938         Do not define _Noreturn if __STDC_VERSION__ indicates this is
939         C11 or later.  This is more likely to work with random future C
940         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
941         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
942
943         exclude: handle wildcards with FNM_EXTMATCH
944         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
945         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
946         comment that "has wildcards" really means "has or may have
947         wildcards".  Simplify by avoiding the need to call strcspn.
948
949 2012-04-29  Bruno Haible  <bruno@clisp.org>
950
951         gnulib-tool: Fix list of authors.
952         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
953
954 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
955
956         bootstrap: support Automake-NG in $buildreq
957         * bootstrap (check_versions): Handle automake and aclocal from
958         Automake-NG specially.  They can be specified as respectively
959         the "automake-ng" and "aclocal-ng" requirements.
960
961 2012-04-25  Eric Blake  <eblake@redhat.com>
962
963         bootstrap: only force latest Makefile.in.in for gettext module
964         * build-aux/bootstrap (with_gettext): Only install latest
965         Makefile.in.in for projects requesting bleeding edge gettext.
966
967 2012-04-22  Bruno Haible  <bruno@clisp.org>
968
969         doc: Mention reason for replacement on glibc/Linux systems.
970         * doc/posix-functions/dprintf.texi: Mention the problem with special
971         'long double' values.
972         * doc/posix-functions/fprintf.texi: Likewise.
973         * doc/posix-functions/printf.texi: Likewise.
974         * doc/posix-functions/snprintf.texi: Likewise.
975         * doc/posix-functions/sprintf.texi: Likewise.
976         * doc/posix-functions/vdprintf.texi: Likewise.
977         * doc/posix-functions/vfprintf.texi: Likewise.
978         * doc/posix-functions/vprintf.texi: Likewise.
979         * doc/posix-functions/vsnprintf.texi: Likewise.
980         * doc/posix-functions/vsprintf.texi: Likewise.
981         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
982         platforms with F_DUPFD_CLOEXEC problems.
983         * doc/posix-functions/glob.texi: Mention which platforms are affected
984         by the problem with symbolic links.
985         * doc/posix-functions/linkat.texi: Mention the problem with
986         AT_SYMLINK_FOLLOW on Linux.
987
988 2012-04-22  Bruno Haible  <bruno@clisp.org>
989
990         pwrite: Don't replace on all platforms.
991         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
992
993 2012-04-22  Bruno Haible  <bruno@clisp.org>
994
995         rint* tests: Avoid gcc warnings.
996         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
997         * tests/test-rintf.c (INFINITY, NAN): Likewise.
998         * tests/test-rintl.c (INFINITY, NAN): Likewise.
999
1000 2012-04-21  Bruno Haible  <bruno@clisp.org>
1001
1002         users.txt: Update.
1003         * users.txt: Add freedink, wdiff. Update URLs for projects that have
1004         switched from CVS to git, bzr, or svn.
1005
1006 2012-04-21  Bruno Haible  <bruno@clisp.org>
1007
1008         Large File Support for native Windows platforms.
1009
1010         * m4/largefile.m4 (gl_LARGEFILE): New macro.
1011         * modules/largefile (configure.ac): Require gl_LARGEFILE.
1012
1013         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
1014         type.
1015         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
1016         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
1017         * doc/posix-headers/sys_types.texi: Mention the effect of the
1018         'largefile' module.
1019
1020         * lib/fcntl.in.h: Add comments about off_t.
1021         * modules/fcntl-h (Depends-on): Add sys_types.
1022
1023         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
1024         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
1025         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
1026         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
1027         * modules/unistd (Depends-on): Add sys_types.
1028         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
1029
1030         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
1031         instead of lseek.
1032         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
1033         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
1034         * modules/lseek (Depends-on): Add sys_types.
1035
1036         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
1037         msvc-nothrow.h.
1038         (SetFileSize): New function.
1039         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
1040         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
1041         if Large File Support is requested.
1042         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
1043         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
1044
1045         * lib/stdio.in.h: Add comments about off_t.
1046         * modules/stdio (Depends-on): Add sys_types.
1047
1048         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
1049         instead of ftello.
1050         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
1051         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
1052         (gl_PREREQ_FTELLO): New macro.
1053         * modules/ftello (Depends-on): Add sys_types.
1054         (configure.ac): Incoke gl_PREREQ_FTELLO.
1055
1056         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
1057         instead of fseeko.
1058         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
1059         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
1060         (gl_PREREQ_FSEEKO): New macro.
1061         * modules/fseeko (Depends-on): Add sys_types.
1062         (configure.ac): Invoke gl_PREREQ_FSEEKO.
1063
1064         * lib/sys_stat.in.h: Add comments about off_t.
1065         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
1066         64-bit integer for st_size in 'struct stat'.
1067         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
1068         Define _GL_WINDOWS_64_BIT_ST_SIZE.
1069         * modules/sys_stat (Depends-on): Add sys_types.
1070         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
1071
1072         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
1073         instead of stat or _stat.
1074
1075         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
1076         'struct _stati64' instead of fstat and 'struct stat'.
1077         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
1078         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
1079
1080         Reported by Ray Satiro <raysatiro@yahoo.com>.
1081
1082 2012-04-19  Eric Blake  <eblake@redhat.com>
1083
1084         bootstrap: accommodate older libtool
1085         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
1086         Reported by Daniel P. Berrange.
1087
1088 2012-04-19  Jim Meyering  <meyering@redhat.com>
1089
1090         announce-gen: avoid failure due to lack of Digest::SHA1
1091         Even with the preferred Digest::SHA available, this script
1092         would fail when the backup module, Digest::SHA1, was not installed.
1093         * build-aux/announce-gen: Quote the conditional use of "use".
1094         Reported by Reuben Thomas in:
1095         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
1096
1097         bootstrap: don't let a user's CDPATH setting affect this script
1098         When CDPATH is set, cd will sometimes generate output.
1099         When "cd" is run in a subshell whose output matters, that
1100         surprising-to-some output can cause malfunction.
1101         Unsetting CDPATH turns off this shell "feature."
1102         * build-aux/bootstrap (CDPATH): Unset.
1103         Reported by Reuben Thomas in:
1104         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
1105         and inspired by his patch here:
1106         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
1107
1108 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
1109         and Jim Meyering  <meyering@redhat.com>
1110
1111         maint.mk: catch "see @xref{}" and similar
1112         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
1113         prohibit "See also @xref{", "Also see @pxref{", and similar.
1114
1115 2012-04-16  Jim Meyering  <meyering@redhat.com>
1116
1117         bootstrap: really use gnulib's po/Makefile.in.in
1118         * build-aux/bootstrap: Correct the source file name in previous change.
1119         Reported by Akim Demaille.
1120
1121         configmake: correct minor inconsistency in Makefile rule
1122         * modules/configmake (Makefile.am): All other rules like this one
1123         run the final "mv -f ..." in the same backslash-continued command
1124         as the one that does everything else.  This one put the mv -f ...
1125         command on a separate, non-backslash-continued line.
1126         Make it like the others.
1127
1128         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
1129         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
1130         the one from gettext.  Reported by Akim Demaille.
1131
1132 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
1133
1134         Fix recursion of install-* into po directories.
1135         Bison's install-pdf bug reported by Hans Aberg at
1136         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
1137         * build-aux/po/Makefile.in.in (install-dvi, install-html)
1138         (install-info, install-pdf, install-ps): New targets.
1139
1140 2012-04-16  Jim Meyering  <meyering@redhat.com>
1141
1142         maint: avoid spurious "make sc_maint" failure
1143         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
1144         exempt all *.class file names, for lib/javaversion.class.
1145
1146 2012-04-15  Bruno Haible  <bruno@clisp.org>
1147
1148         lseek: Make configure test independent of environment.
1149         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
1150         Windows, we know that lseek() on pipes is broken; skip the runtime
1151         test.
1152
1153 2012-04-14  Bruno Haible  <bruno@clisp.org>
1154
1155         stat: Bypass buggy override in mingw64.
1156         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
1157         * lib/stat.c (stat) [mingw64]: Define to _stat.
1158         * doc/posix-functions/stat.texi: Mention mingw64 bug.
1159
1160 2012-04-14  Bruno Haible  <bruno@clisp.org>
1161
1162         pathmax: Fix compilation error on MSVC 9.
1163         * modules/pathmax (Depends-on): Add unistd.
1164
1165 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
1166
1167         README: document pointer comparison assumption
1168         * README (Portability guidelines): Document assumption about
1169         pointer comparisons, in response to a recent bug-gnulib comment by
1170         Jeffrey Kegler.
1171
1172 2012-04-12  Bruno Haible  <bruno@clisp.org>
1173
1174         Tests for module 'getrusage'.
1175         * modules/getrusage-tests: New file.
1176         * tests/test-getrusage.c: New file.
1177
1178         New module 'getrusage'.
1179         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
1180         warn-on-use.h.
1181         (getrusage): New declaration.
1182         * lib/getrusage.c: New file.
1183         * m4/getrusage.m4: New file.
1184         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
1185         is declared.
1186         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
1187         HAVE_GETRUSAGE.
1188         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
1189         snippet/c++defs, snippet/warn-on-use.
1190         (Makefile.am): Update generation of sys/resource.h. Substitute
1191         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
1192         * modules/getrusage: New file.
1193         * doc/posix-functions/getrusage.texi: Mention the new module.
1194
1195 2012-04-12  Bruno Haible  <bruno@clisp.org>
1196
1197         Tests for module 'sys_resource'.
1198         * modules/sys_resource-tests: New file.
1199         * tests/test-sys_resource.c: New file.
1200
1201         New module 'sys_resource'.
1202         * lib/sys_resource.in.h: New file.
1203         * m4/sys_resource_h.m4: New file.
1204         * modules/sys_resource: New file.
1205         * doc/posix-headers/sys_resource.texi: Mention the new module.
1206
1207 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
1208
1209         ioctl: Fix compilation error on mingw.
1210         * lib/ioctl.c: Include <windows.h>.
1211         Also reported by Ray Satiro <raysatiro@yahoo.com>.
1212
1213 2012-04-04  Jim Meyering  <meyering@redhat.com>
1214
1215         regex: correct #pragma guard expression
1216         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
1217         not 4.3.  Correct its cpp guard expression.
1218
1219 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
1220
1221         regex: remove unnecessary type punning
1222         Problem reported by Vladimir Serbinenko in
1223         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
1224         * lib/regex.h (struct re_pattern_buffer): Change the type of
1225         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
1226         Fix comment to match code.
1227         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
1228         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
1229         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
1230         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
1231         (set_regs):
1232         Omit no-longer-necessary casts.
1233
1234 2012-04-03  Bruno Haible  <bruno@clisp.org>
1235
1236         Tests for module 'ilogbl'.
1237         * modules/ilogbl-tests: New file.
1238         * tests/test-ilogbl.c: New file.
1239
1240         New module 'ilogbl'.
1241         * lib/math.in.h (ilogbl): New declaration.
1242         * lib/ilogbl.c: New file.
1243         * m4/ilogbl.m4: New file.
1244         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
1245         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
1246         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
1247         Split sed invocation, to avoid the limit of 100 substitutions of
1248         HP-UX 'sed'.
1249         * modules/ilogbl: New file.
1250         * tests/test-math-c++.cc: Check the declaration of ilogbl.
1251         * doc/posix-functions/ilogbl.texi: Mention the new module.
1252
1253 2012-04-03  Bruno Haible  <bruno@clisp.org>
1254
1255         Tests for module 'ilogbf'.
1256         * modules/ilogbf-tests: New file.
1257         * tests/test-ilogbf.c: New file.
1258
1259         New module 'ilogbf'.
1260         * lib/math.in.h (ilogbf): New declaration.
1261         * lib/ilogbf.c: New file.
1262         * m4/ilogbf.m4: New file.
1263         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
1264         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
1265         REPLACE_ILOGBF.
1266         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
1267         REPLACE_ILOGBF.
1268         * modules/ilogbf: New file.
1269         * tests/test-math-c++.cc: Check the declaration of ilogbf.
1270         * doc/posix-functions/ilogbf.texi: Mention the new module.
1271
1272 2012-04-03  Bruno Haible  <bruno@clisp.org>
1273
1274         Tests for module 'ilogb'.
1275         * modules/ilogb-tests: New file.
1276         * tests/test-ilogb.c: New file.
1277         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
1278         tests/test-logb-ieee.h.
1279
1280         New module 'ilogb'.
1281         * lib/math.in.h (ilogb): New declaration.
1282         * lib/ilogb.c: New file.
1283         * m4/ilogb.m4: New file.
1284         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
1285         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
1286         REPLACE_ILOGB.
1287         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
1288         REPLACE_ILOGB.
1289         * modules/ilogb: New file.
1290         * tests/test-math-c++.cc: Check the declaration of ilogb.
1291         * doc/posix-functions/ilogb.texi: Mention the new module.
1292
1293 2012-04-03  Bruno Haible  <bruno@clisp.org>
1294
1295         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
1296         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
1297         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
1298         (main): Check their values.
1299         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
1300         problem.
1301
1302 2012-04-03  Bruno Haible  <bruno@clisp.org>
1303
1304         Tests for module 'logbl-ieee'.
1305         * modules/logbl-ieee-tests: New file.
1306         * tests/test-logbl-ieee.c: New file.
1307
1308         New module 'logbl-ieee'.
1309         * modules/logbl-ieee: New file.
1310
1311         Tests for module 'logb-ieee'.
1312         * modules/logb-ieee-tests: New file.
1313         * tests/test-logb-ieee.c: New file.
1314
1315         New module 'logb-ieee'.
1316         * modules/logb-ieee: New file.
1317
1318         Tests for module 'logbf-ieee'.
1319         * modules/logbf-ieee-tests: New file.
1320         * tests/test-logbf-ieee.c: New file.
1321         * tests/test-logb-ieee.h: New file.
1322
1323         New module 'logbf-ieee'.
1324         * modules/logbf-ieee: New file.
1325
1326 2012-04-03  Bruno Haible  <bruno@clisp.org>
1327
1328         Tests for module 'logbl'.
1329         * modules/logbl-tests: New file.
1330         * tests/test-logbl.c: New file.
1331
1332         New module 'logbl'.
1333         * lib/math.in.h (logbl): New declaration.
1334         * lib/logbl.c: New file.
1335         * m4/logbl.m4: New file.
1336         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
1337         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
1338         REPLACE_LOGBL.
1339         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
1340         REPLACE_LOGBL.
1341         * modules/logbl: New file.
1342         * tests/test-math-c++.cc: Check the declaration of logbl.
1343         * doc/posix-functions/logbl.texi: Mention the new module.
1344
1345 2012-04-02  Bruno Haible  <bruno@clisp.org>
1346
1347         Tests for module 'logbf'.
1348         * modules/logbf-tests: New file.
1349         * tests/test-logbf.c: New file.
1350
1351         New module 'logbf'.
1352         * lib/math.in.h (logbf): New declaration.
1353         * lib/logbf.c: New file.
1354         * m4/logbf.m4: New file.
1355         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
1356         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
1357         REPLACE_LOGBF.
1358         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
1359         REPLACE_LOGBF.
1360         * modules/logbf: New file.
1361         * tests/test-math-c++.cc: Check the declaration of logbf.
1362         * doc/posix-functions/logbf.texi: Mention the new module.
1363
1364 2012-04-02  Bruno Haible  <bruno@clisp.org>
1365
1366         logb tests: More tests.
1367         * tests/test-logb.h: New file, based on tests/test-logb.c and
1368         tests/test-frexp.h.
1369         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
1370         (main): Just invoke test_function.
1371         * modules/logb-tests (Files): Add tests/test-logb.h,
1372         tests/minus-zero.h, tests/randomd.c.
1373         (Makefile.am): Add randomd.c to test_logb_SOURCES.
1374
1375         logb: Provide replacement and workarounds.
1376         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
1377         is 1.
1378         * lib/logb.c: New file.
1379         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
1380         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
1381         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
1382         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
1383         * modules/logb (Files): Add lib/logb.c.
1384         (Depends-on): Add isfinite, frexp, isnand.
1385         (configure.ac): Compile the replacement code logb.c if needed.
1386         * tests/test-math-c++.cc: Check the declaration of logb.
1387         * doc/posix-functions/logb.texi: Mention the replacement and the bug
1388         with subnormal numbers.
1389
1390 2012-04-02  Bruno Haible  <bruno@clisp.org>
1391
1392         log10* tests: Speed up.
1393         * tests/test-log10.h (test_function): Reduce amount of random numbers
1394         to test.
1395
1396 2012-04-01  Bruno Haible  <bruno@clisp.org>
1397
1398         logf-ieee: Fix test whether logf works.
1399         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
1400
1401 2012-04-01  Bruno Haible  <bruno@clisp.org>
1402
1403         log10l: Work around log10l-ieee test failure on IRIX 6.5.
1404         * lib/log10l.c: Include <float.h>
1405         (log10l): On IRIX, normalize the +Infinity value.
1406         * modules/log10l (Depends-on): Add 'float'.
1407         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
1408         +Infinity.
1409
1410         log10f-ieee: Work around test failure on NetBSD 5.1.
1411         * m4/log10f-ieee.m4: New file.
1412         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
1413         test whether log10f works with a negative argument. Replace it if not.
1414         * lib/log10f.c (log10f): For negative arguments, return NaN.
1415         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
1416         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
1417         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
1418
1419         log10f-ieee: Work around test failure on Solaris 9.
1420         * modules/log10f-ieee (Depends-on): Add log10-ieee.
1421         (configure.ac): Require gl_FUNC_LOG10F.
1422
1423         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
1424         * m4/log10-ieee.m4: New file.
1425         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
1426         whether log10 works with a negative argument. Replace it if not.
1427         * lib/log10.c (log10): For negative arguments, return NaN.
1428         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
1429         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
1430         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
1431
1432         Tests for module 'log10l-ieee'.
1433         * modules/log10l-ieee-tests: New file.
1434         * tests/test-log10l-ieee.c: New file.
1435
1436         New module 'log10l-ieee'.
1437         * modules/log10l-ieee: New file.
1438
1439         Tests for module 'log10-ieee'.
1440         * modules/log10-ieee-tests: New file.
1441         * tests/test-log10-ieee.c: New file.
1442
1443         New module 'log10-ieee'.
1444         * modules/log10-ieee: New file.
1445
1446         Tests for module 'log10f-ieee'.
1447         * modules/log10f-ieee-tests: New file.
1448         * tests/test-log10f-ieee.c: New file.
1449         * tests/test-log10-ieee.h: New file.
1450
1451         New module 'log10f-ieee'.
1452         * modules/log10f-ieee: New file.
1453
1454 2012-04-01  Bruno Haible  <bruno@clisp.org>
1455
1456         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
1457         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
1458         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
1459         workaround.
1460         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
1461         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
1462         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
1463         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
1464         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
1465         (Depends-on): Update conditions.
1466         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
1467         IRIX 6.5, OSF/1 5.1 problems.
1468
1469 2012-04-01  Bruno Haible  <bruno@clisp.org>
1470
1471         log10f: Work around OSF/1 5.1 bug.
1472         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
1473         * lib/log10f.c (log10f): If logf exists, use it and provide just the
1474         workaround.
1475         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
1476         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
1477         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
1478         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
1479         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
1480         (Depends-on): Update conditions.
1481         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
1482
1483 2012-04-01  Bruno Haible  <bruno@clisp.org>
1484
1485         log10: Work around OSF/1 5.1 bug.
1486         * lib/math.in.h (log10): New declaration.
1487         * lib/log10.c: New file.
1488         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
1489         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
1490         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
1491         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
1492         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
1493         * modules/log10 (Files): Add lib/log10.c.
1494         (Depends-on): Add math.
1495         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
1496         * tests/test-math-c++.cc: Check the declaration of log10.
1497         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
1498
1499 2012-03-31  Bruno Haible  <bruno@clisp.org>
1500
1501         log10l tests: More tests.
1502         * modules/log10l-tests (Files): Add tests/test-log10l.h,
1503         tests/minus-zero.h, tests/randoml.c.
1504         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
1505         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
1506         (main): Invoke test_function.
1507
1508         log10f tests: More tests.
1509         * modules/log10f-tests (Files): Add tests/test-log10.h,
1510         tests/minus-zero.h, tests/randomf.c.
1511         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
1512         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
1513         (main): Invoke test_function.
1514
1515         log10 tests: More tests.
1516         * tests/test-log10.h: New file.
1517         * modules/log10-tests (Files): Add tests/test-log10.h,
1518         tests/minus-zero.h, tests/randomd.c.
1519         (Makefile.am): Add randomd.c to test_log10_SOURCES.
1520         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
1521         (main): Invoke test_function.
1522
1523 2012-03-31  Simon Josefsson  <simon@josefsson.org>
1524
1525         fflush: Fix syntax error.
1526         * lib/fflush.c: Include unused-parameter.h, needed for
1527         _GL_UNUSED_PARAMETER.
1528         * modules/fflush (Depends-on): Add snippet/unused-parameter.
1529
1530 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
1531
1532         regex: pacify GCC when compiling GRUB
1533         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
1534         a diagnostic.  Reported by Vladimir Serbinenko in
1535         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
1536
1537 2012-03-29  Eric Blake  <eblake@redhat.com>
1538
1539         stdio: don't assume gets any more
1540         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
1541         support.
1542         * modules/stdio (Makefile.am): Likewise.
1543         * lib/stdio-read.c (gets): Likewise.
1544         * tests/test-stdio-c++.cc: Likewise.
1545         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
1546         * lib/stdio.in.h (gets): Make warning occur in more places.
1547         * doc/posix-functions/gets.texi (gets): Update documentation.
1548         Reported by Christer Solskogen.
1549
1550         maint.mk: fix syntax checks without exclusions
1551         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
1552         Reported by Daniel P. Berrange.
1553
1554         strerror_r: avoid compiler warning
1555         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
1556         level.
1557
1558         fflush: avoid compiler warning
1559         * lib/fflush.c (update_fpos_cache): Mark variables that are
1560         potentially unused.
1561
1562 2012-03-25  Bruno Haible  <bruno@clisp.org>
1563
1564         Tests for module 'localeconv'.
1565         * modules/localeconv-tests: New file.
1566         * tests/test-localeconv.c: New file.
1567
1568         New module 'localeconv'.
1569         * lib/locale.in.h (localeconv): New declaration.
1570         * lib/localeconv.c: New file.
1571         * m4/localeconv.m4: New file.
1572         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
1573         REPLACE_LOCALECONV.
1574         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
1575         REPLACE_LOCALECONV.
1576         * modules/localeconv: New file.
1577         * modules/nl_langinfo (Depends-on): Add localeconv.
1578         * modules/human (Depends-on): Likewise.
1579         * doc/posix-functions/localeconv.texi: Mention the new module.
1580
1581 2012-03-25  Bruno Haible  <bruno@clisp.org>
1582
1583         locale: Provide a complete 'struct lconv'.
1584         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
1585         'struct lconv' does not contain int_p_cs_precedes.
1586         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
1587         * doc/posix-headers/locale.texi: Update.
1588
1589         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
1590         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
1591         * doc/posix-headers/locale.texi: Update.
1592
1593         locale: Provide a working 'struct lconv'.
1594         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
1595         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
1596         'struct lconv' does not even contain decimal_point.
1597         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
1598         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
1599         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
1600         * doc/posix-headers/locale.texi: Mention the problems with
1601         'struct lconv'.
1602         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
1603
1604 2012-03-24  Bruno Haible  <bruno@clisp.org>
1605
1606         Enable common subexpression optimization in GCC.
1607         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
1608         macros.
1609         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
1610         GCC attribute 'const'.
1611         (uc_locale_language): Declare with GCC attribute 'pure'.
1612         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
1613         with GCC attribute 'const'.
1614         * lib/unictype.in.h (uc_is_general_category_withtable,
1615         uc_combining_class, uc_combining_class_name,
1616         uc_combining_class_long_name, uc_bidi_class_name,
1617         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
1618         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
1619         uc_decimal_value, uc_digit_value, uc_numeric_value,
1620         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
1621         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
1622         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
1623         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
1624         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
1625         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
1626         Declare with GCC attribute 'const'.
1627         (uc_general_category_name, uc_general_category_long_name,
1628         uc_general_category_byname, uc_general_category,
1629         uc_is_general_category, uc_combining_class_byname,
1630         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
1631         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
1632         Declare with GCC attribute 'pure'.
1633         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
1634         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
1635         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
1636         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
1637         with GCC attribute 'pure'.
1638         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
1639         'const'.
1640         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
1641         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
1642         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
1643         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
1644         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
1645         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
1646         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
1647         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
1648         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
1649         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
1650         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
1651         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
1652         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
1653         GCC attribute 'pure'.
1654         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
1655         'const'.
1656         * lib/uniwidth.in.h (uc_width): Simplify declaration.
1657         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
1658         u32_strwidth): Declare with GCC attribute 'pure'.
1659
1660         Enable common subexpression optimization in GCC.
1661         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1662         (alphasort): Declare with GCC attribute 'pure'.
1663         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1664         (atoll): Declare with GCC attribute 'pure'.
1665         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
1666         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
1667         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
1668         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1669         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
1670         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
1671         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
1672
1673 2012-03-24  Bruno Haible  <bruno@clisp.org>
1674
1675         gnulib-tool: Avoid unintended error output from 'cmp'.
1676         * gnulib-tool (func_add_file, func_update_file, func_import): Use
1677         "cmp -s", not "cmp > /dev/null".
1678
1679 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
1680
1681         gnulib-tool: fix imprecise comments w.r.t. an automake bug
1682
1683         It's not just Automake versions < 1.9b that creates an empty
1684         pkgdatadir at installation time if pkgdata_DATA is specified
1685         to empty; modern automake versions do this as well, at least
1686         until automake 1.11.4 (not yet released at the moment of writing,
1687         but soon to appear).  That behaviour was generally considered a
1688         feature rather than a bug, at least until this discussion:
1689         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
1690
1691         See also automake bugs #10997 and #11030.
1692
1693         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
1694         reference to relevant automake bug numbers.
1695         (func_emit_tests_Makefile_am): Likewise.
1696
1697 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1698
1699         announce-gen: use Digest::SHA when possible
1700         * build-aux/announce-gen: Use Digest::SHA when possible, falling
1701         back to Digest::SHA1 if necessary.
1702
1703 2012-03-20  Jim Meyering  <meyering@redhat.com>
1704
1705         tests: avoid gcc warnings about argv vs. const initializers
1706         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
1707         warnings about discarding 'const' qualifier from pointer target type.
1708         * tests/test-posix_spawn2.c (main): Likewise.
1709
1710 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1711
1712         README-release: simplify slightly
1713         * top/README-release: Run "git checkout master" only once.
1714
1715 2012-03-15  Mark Wielaard  <mark@klomp.org>
1716
1717         git-merge-changelog: add specific example on how to use with hg.
1718         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
1719
1720 2012-03-18  Mark Wielaard  <mark@klomp.org>
1721
1722         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
1723
1724 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
1725
1726         git-version-gen: don't let "prefix" envvar cause trouble
1727         * build-aux/git-version-gen (prefix): Initialize properly,
1728         so as not to use a value specified via the environment.
1729         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
1730
1731 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1732
1733         regex: diagnose too-large repeat counts in EREs
1734         Previously, the code did not diagnose the too-large repeat count
1735         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
1736         as if it were 'b\{1000000000}', which is unexpected.
1737         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
1738         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
1739         is a reasonable one for this problem.  Another option would be to
1740         create a new REG_OVERFLOW error for repeat counts that are too large.
1741         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
1742         count is too large, so that the caller can distinguish the two cases.
1743         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
1744         "Too large" return code, and that repeat counts are one example of this.
1745
1746 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1747
1748         doc: some glibc x32 integer width issues
1749         * doc/posix-headers/sys_types.texi (sys/types.h):
1750         * doc/posix-headers/time.texi (time.h):
1751         Mention that glibc x32 does not conform to POSIX in a couple of
1752         areas related to integer widths.
1753
1754 2012-03-15  Bruno Haible  <bruno@clisp.org>
1755
1756         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
1757         * lib/fma.c (VOLATILE): New macro.
1758         (FUNC): Use it to work around a GCC compiler bug.
1759
1760 2012-03-13  Bruno Haible  <bruno@clisp.org>
1761
1762         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1763         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
1764         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
1765         REPLACE_HYPOTL to 1.
1766         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
1767
1768 2012-03-13  Bruno Haible  <bruno@clisp.org>
1769
1770         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1771         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
1772         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
1773         REPLACE_REMAINDERL to 1.
1774         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
1775         bug.
1776
1777 2012-03-13  Bruno Haible  <bruno@clisp.org>
1778
1779         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1780         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
1781         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
1782         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
1783         too big rounding errors.
1784         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
1785         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
1786         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
1787         (Depends-on): Update conditions.
1788         * tests/test-sqrtl.c (my_ldexpl): New function.
1789         (main): Add test of a particular value.
1790         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
1791
1792 2012-03-13  Pádraig Brady  <P@draigBrady.com>
1793
1794         doc: Update timer_* platform portability notes.
1795         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
1796         that always return ENOSYS.
1797         * doc/posix-functions/timer_delete.texi: Likewise.
1798         * doc/posix-functions/timer_gettime.texi: Likewise.
1799         * doc/posix-functions/timer_settime.texi: Likewise.
1800
1801 2012-03-13  Bruno Haible  <bruno@clisp.org>
1802
1803         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1804         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
1805         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
1806         REPLACE_CBRTL to 1.
1807         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
1808
1809 2012-03-13  Bruno Haible  <bruno@clisp.org>
1810
1811         remainderl: Avoid compilation error on AIX >= 5.2.
1812         * lib/math.in.h (remainderl): Undefine macro from the system header.
1813
1814 2012-03-13  Bruno Haible  <bruno@clisp.org>
1815
1816         Avoid compilation errors with MSVC option -fp:strict.
1817         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
1818         * lib/cbrtf.c: Likewise.
1819         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1820
1821 2012-03-12  Bruno Haible  <bruno@clisp.org>
1822
1823         uninorm: Don't crash in out-of-memory conditions.
1824         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
1825         gracefully.
1826         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
1827         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
1828
1829 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
1830
1831         quote: fix syntax-check
1832         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
1833         also exports quote_quoting_options.
1834
1835 2012-03-12  Simon Josefsson  <simon@josefsson.org>
1836
1837         Collapse list of copyright years to ranges.  See
1838         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
1839         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
1840         build-aux/csharpexec.sh.in, build-aux/gnupload,
1841         build-aux/install-reloc, build-aux/javacomp.sh.in,
1842         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
1843         build-aux/move-if-change, build-aux/reloc-ldflags,
1844         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
1845
1846 2012-03-11  Bruno Haible  <bruno@clisp.org>
1847
1848         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
1849         * m4/log2f-ieee.m4: New file.
1850         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
1851         whether log2f works with a minus zero argument. Replace it if not.
1852         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
1853         (Depends-on): Add log2-ieee.
1854         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
1855         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
1856
1857         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
1858         * m4/log2-ieee.m4: New file.
1859         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
1860         whether log2 works with a minus zero argument. Replace it if not.
1861         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
1862         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
1863         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
1864
1865         Tests for module 'log2l-ieee'.
1866         * modules/log2l-ieee-tests: New file.
1867         * tests/test-log2l-ieee.c: New file.
1868
1869         New module 'log2l-ieee'.
1870         * modules/log2l-ieee: New file.
1871
1872         Tests for module 'log2-ieee'.
1873         * modules/log2-ieee-tests: New file.
1874         * tests/test-log2-ieee.c: New file.
1875
1876         New module 'log2-ieee'.
1877         * modules/log2-ieee: New file.
1878
1879         Tests for module 'log2f-ieee'.
1880         * modules/log2f-ieee-tests: New file.
1881         * tests/test-log2f-ieee.c: New file.
1882         * tests/test-log2-ieee.h: New file.
1883
1884         New module 'log2f-ieee'.
1885         * modules/log2f-ieee: New file.
1886
1887 2012-03-11  Bruno Haible  <bruno@clisp.org>
1888
1889         Tests for module 'log2l'.
1890         * modules/log2l-tests: New file.
1891         * tests/test-log2l.c: New file.
1892
1893         New module 'log2l'.
1894         * lib/math.in.h (log2l): New declaration.
1895         * lib/log2l.c: New file.
1896         * m4/log2l.m4: New file.
1897         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
1898         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
1899         REPLACE_LOG2L.
1900         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
1901         REPLACE_LOG2L.
1902         * modules/log2l: New file.
1903         * tests/test-math-c++.cc: Check the declaration of log2l.
1904         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
1905         and OSF/1 problems.
1906
1907 2012-03-11  Bruno Haible  <bruno@clisp.org>
1908
1909         Tests for module 'log2f'.
1910         * modules/log2f-tests: New file.
1911         * tests/test-log2f.c: New file.
1912
1913         New module 'log2f'.
1914         * lib/math.in.h (log2f): New declaration.
1915         * lib/log2f.c: New file.
1916         * m4/log2f.m4: New file.
1917         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
1918         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
1919         REPLACE_LOG2F.
1920         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
1921         REPLACE_LOG2F.
1922         * modules/log2f: New file.
1923         * tests/test-math-c++.cc: Check the declaration of log2f.
1924         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
1925         and OSF/1 and Cygwin problems.
1926
1927 2012-03-11  Bruno Haible  <bruno@clisp.org>
1928
1929         Tests for module 'log2'.
1930         * modules/log2-tests: New file.
1931         * tests/test-log2.c: New file.
1932         * tests/test-log2.h: New file.
1933
1934         New module 'log2'.
1935         * lib/math.in.h (log2): New declaration.
1936         * lib/log2.c: New file.
1937         * m4/log2.m4: New file.
1938         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
1939         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
1940         REPLACE_LOG2.
1941         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
1942         REPLACE_LOG2.
1943         * modules/log2: New file.
1944         * tests/test-math-c++.cc: Check the declaration of log2.
1945         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
1946         and OSF/1 and Cygwin problems.
1947
1948 2012-03-11  Bruno Haible  <bruno@clisp.org>
1949
1950         exp2* tests: More tests.
1951         * tests/test-exp2.h (test_function): Test all integral arguments that
1952         don't need to overflow or denormalized numbers.
1953         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
1954         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
1955         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
1956
1957 2012-03-10  Bruno Haible  <bruno@clisp.org>
1958
1959         log1pl-ieee: Work around test failure on AIX 7.1.
1960         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
1961
1962         log1pl-ieee: Work around test failure on IRIX 6.5.
1963         * m4/log1pl-ieee.m4: New file.
1964         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
1965         test whether log1pl works with a minus zero argument. Replace it if
1966         not.
1967         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
1968         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
1969         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
1970         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
1971         (Depends-on): Update conditions.
1972         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
1973         m4/signbit.m4.
1974         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
1975         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
1976
1977         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
1978         * m4/log1pf-ieee.m4: New file.
1979         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
1980         test whether log1pf works with a minus zero argument. Replace it if
1981         not.
1982         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
1983         m4/signbit.m4.
1984         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
1985         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
1986
1987         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
1988         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
1989         (configure.ac): Require gl_FUNC_LOG1PF.
1990
1991         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
1992         * m4/log1p-ieee.m4: New file.
1993         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
1994         whether log1p works with a minus zero argument. Replace it if not.
1995         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
1996         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
1997         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
1998         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
1999         (Depends-on): Update conditions.
2000         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
2001         m4/signbit.m4.
2002         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
2003         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
2004
2005         Tests for module 'log1pl-ieee'.
2006         * modules/log1pl-ieee-tests: New file.
2007         * tests/test-log1pl-ieee.c: New file.
2008
2009         New module 'log1pl-ieee'.
2010         * modules/log1pl-ieee: New file.
2011
2012         Tests for module 'log1p-ieee'.
2013         * modules/log1p-ieee-tests: New file.
2014         * tests/test-log1p-ieee.c: New file.
2015
2016         New module 'log1p-ieee'.
2017         * modules/log1p-ieee: New file.
2018
2019         Tests for module 'log1pf-ieee'.
2020         * modules/log1pf-ieee-tests: New file.
2021         * tests/test-log1pf-ieee.c: New file.
2022         * tests/test-log1p-ieee.h: New file.
2023
2024         New module 'log1pf-ieee'.
2025         * modules/log1pf-ieee: New file.
2026
2027 2012-03-10  Bruno Haible  <bruno@clisp.org>
2028
2029         Tests for module 'log1pl'.
2030         * modules/log1pl-tests: New file.
2031         * tests/test-log1pl.c: New file.
2032
2033         New module 'log1pl'.
2034         * lib/math.in.h (log1pl): New declaration.
2035         * lib/log1pl.c: New file.
2036         * m4/log1pl.m4: New file.
2037         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
2038         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
2039         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
2040         * modules/log1pl: New file.
2041         * tests/test-math-c++.cc: Check the declaration of log1pl.
2042         * doc/posix-functions/log1pl.texi: Mention the new module.
2043
2044 2012-03-10  Bruno Haible  <bruno@clisp.org>
2045
2046         Tests for module 'log1pf'.
2047         * modules/log1pf-tests: New file.
2048         * tests/test-log1pf.c: New file.
2049
2050         New module 'log1pf'.
2051         * lib/math.in.h (log1pf): New declaration.
2052         * lib/log1pf.c: New file.
2053         * m4/log1pf.m4: New file.
2054         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
2055         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
2056         REPLACE_LOG1PF.
2057         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
2058         REPLACE_LOG1PF.
2059         * modules/log1pf: New file.
2060         * tests/test-math-c++.cc: Check the declaration of log1pf.
2061         * doc/posix-functions/log1pf.texi: Mention the new module.
2062
2063 2012-03-10  Bruno Haible  <bruno@clisp.org>
2064
2065         log1p tests: More tests.
2066         * tests/test-log1p.h: New file.
2067         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
2068         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
2069         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
2070         (main): Invoke test_function.
2071
2072         log1p: Provide replacement for Minix and MSVC.
2073         * lib/math.in.h (log1p): New declaration.
2074         * lib/log1p.c: New file.
2075         * m4/log1p.m4: New file.
2076         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
2077         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
2078         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
2079         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
2080         (Depends-on): Add math, isnand, log, round.
2081         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
2082         HAVE_LOG1P is 0.
2083         * tests/test-math-c++.cc: Check the declaration of log1p.
2084         * doc/posix-functions/log1p.texi: Mention the replacement.
2085
2086 2012-03-10  Bruno Haible  <bruno@clisp.org>
2087
2088         math tests: Small simplification.
2089         * tests/test-exp.h (test_function): Use the same err_bound for
2090         'double' on platforms with sizeof (long double) == sizeof (double)
2091         than on platforms with sizeof (long double) > sizeof (double).
2092         * tests/test-exp2.h (test_function): Likewise.
2093         * tests/test-expm1.h (test_function): Likewise.
2094         * tests/test-log.h (test_function): Likewise.
2095
2096 2012-03-10  Bruno Haible  <bruno@clisp.org>
2097
2098         Fix some comments.
2099         * lib/expl.c: Fix an ambiguous comment.
2100         * lib/expm1.c: Likewise.
2101         * lib/expm1l.c: Likewise.
2102         * lib/exp2.c: Likewise.
2103         * lib/exp2l.c: Likewise.
2104
2105 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
2106
2107         regex: allow inclusion of <regex.h> before <limits.h>
2108         Without this patch, portable programs had to include <limits.h> before
2109         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
2110         I ran into this problem with a test version of GNU grep on Solaris 8.
2111         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
2112         This is done conditionally so that this change can be merged
2113         back to glibc.
2114         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
2115         using the included regex.
2116
2117         fts: depend on fdopendir
2118         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
2119         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
2120         problem was introduced when fdopendir was split out.
2121
2122 2012-03-10  Bruno Haible  <bruno@clisp.org>
2123
2124         Remove unused variables.
2125         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
2126         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
2127
2128 2012-03-10  Bruno Haible  <bruno@clisp.org>
2129
2130         isnanf-nolibm: Fix last commit.
2131         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
2132
2133         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
2134         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
2135
2136 2012-03-10  Bruno Haible  <bruno@clisp.org>
2137
2138         logf-ieee: Work around test failure on NetBSD 5.1.
2139         * m4/logf-ieee.m4: New file.
2140         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
2141         whether logf works with a negative argument. Replace it if not.
2142         * lib/logf.c (logf): For negative arguments, return NaN.
2143         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
2144         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
2145         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
2146
2147         logf-ieee: Work around test failure on Solaris 9.
2148         * modules/logf-ieee (Depends-on): Add log-ieee.
2149         (configure.ac): Require gl_FUNC_LOGF.
2150
2151         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
2152         * m4/log-ieee.m4: New file.
2153         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
2154         log works with a negative argument. Replace it if not.
2155         * lib/log.c (log): For negative arguments, return NaN.
2156         * modules/log-ieee (Files): Add m4/log-ieee.m4.
2157         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
2158         * doc/posix-functions/log.texi: Mention the log-ieee module.
2159
2160         Tests for module 'logl-ieee'.
2161         * modules/logl-ieee-tests: New file.
2162         * tests/test-logl-ieee.c: New file.
2163
2164         New module 'logl-ieee'.
2165         * modules/logl-ieee: New file.
2166
2167         Tests for module 'log-ieee'.
2168         * modules/log-ieee-tests: New file.
2169         * tests/test-log-ieee.c: New file.
2170
2171         New module 'log-ieee'.
2172         * modules/log-ieee: New file.
2173
2174         Tests for module 'logf-ieee'.
2175         * modules/logf-ieee-tests: New file.
2176         * tests/test-logf-ieee.c: New file.
2177         * tests/test-log-ieee.h: New file.
2178
2179         New module 'logf-ieee'.
2180         * modules/logf-ieee: New file.
2181
2182 2012-03-10  Bruno Haible  <bruno@clisp.org>
2183
2184         log: Fix bug introduced on 2012-03-09.
2185         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
2186
2187 2012-03-10  Pádraig Brady  <P@draigBrady.com>
2188
2189         timer-time: link explicitly with pthreads on glibc
2190         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2191         to support static linking, when newer glibc is
2192         detected, as that contains pthread emulation of
2193         POSIX timer functions where required.
2194         * modules/timer-time: Depend on threadlib to
2195         pull in the appropriate library to link.
2196
2197 2012-03-10  Bruno Haible  <bruno@clisp.org>
2198
2199         log* tests: More tests.
2200         * tests/test-log.h: New file.
2201         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
2202         (main): Invoke test_function.
2203         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
2204         (main): Invoke test_function.
2205         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
2206         (main): Invoke test_function.
2207         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2208         tests/randomd.c.
2209         (Makefile.am): Add randomd.c to test_log_SOURCES.
2210         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2211         tests/randomf.c.
2212         (Makefile.am): Add randomf.c to test_logf_SOURCES.
2213         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2214         tests/randoml.c.
2215         (Depends-on): Add 'float'.
2216         (Makefile.am): Add randoml.c to test_logl_SOURCES.
2217
2218 2012-03-09  Bruno Haible  <bruno@clisp.org>
2219
2220         logl: Work around OSF/1 5.1 bug.
2221         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
2222         * lib/logl.c (logl): If logl exists, use it and provide just the
2223         workaround.
2224         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
2225         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
2226         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
2227         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
2228         * modules/logl (configure.ac): Consider REPLACE_LOGL.
2229         (Depends-on): Update conditions.
2230         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
2231
2232 2012-03-09  Bruno Haible  <bruno@clisp.org>
2233
2234         logf: Work around OSF/1 5.1 bug.
2235         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
2236         * lib/logf.c (logf): If logf exists, use it and provide just the
2237         workaround.
2238         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
2239         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
2240         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
2241         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
2242         * modules/logf (configure.ac): Consider REPLACE_LOGF.
2243         (Depends-on): Update conditions.
2244         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
2245
2246 2012-03-09  Bruno Haible  <bruno@clisp.org>
2247
2248         log: Work around OSF/1 5.1 bug.
2249         * lib/math.in.h (log): New declaration.
2250         * lib/log.c: New file.
2251         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
2252         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
2253         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
2254         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
2255         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
2256         * modules/log (Files): Add lib/log.c.
2257         (Depends-on): Add math.
2258         (configure.ac): If REPLACE_LOG is 1, compile an override.
2259         * tests/test-math-c++.cc: Check the declaration of log.
2260         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
2261
2262 2012-03-09  Jim Meyering  <meyering@redhat.com>
2263
2264         readtokens.c: adjust wording in a comment
2265         * lib/readtokens.c: Insert omitted "that" in a comment.
2266
2267 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
2268
2269         modechange: add notations +40, 00440, etc.
2270         * lib/modechange.c (mode_compile): Support new notations
2271         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
2272
2273 2012-03-08  Bruno Haible  <bruno@clisp.org>
2274
2275         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
2276         * m4/exp2l-ieee.m4: New file.
2277         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
2278         test whether exp2l works with a NaN argument and with a negative
2279         infinity argument. Replace it if not.
2280         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
2281         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
2282         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
2283         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
2284         (Depends-on): Update conditions.
2285         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
2286         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
2287         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
2288
2289         Tests for module 'exp2l-ieee'.
2290         * modules/exp2l-ieee-tests: New file.
2291         * tests/test-exp2l-ieee.c: New file.
2292
2293         New module 'exp2l-ieee'.
2294         * modules/exp2l-ieee: New file.
2295
2296         Tests for module 'exp2-ieee'.
2297         * modules/exp2-ieee-tests: New file.
2298         * tests/test-exp2-ieee.c: New file.
2299
2300         New module 'exp2-ieee'.
2301         * modules/exp2-ieee: New file.
2302
2303         Tests for module 'exp2f-ieee'.
2304         * modules/exp2f-ieee-tests: New file.
2305         * tests/test-exp2f-ieee.c: New file.
2306         * tests/test-exp2-ieee.h: New file.
2307
2308         New module 'exp2f-ieee'.
2309         * modules/exp2f-ieee: New file.
2310
2311 2012-03-08  Bruno Haible  <bruno@clisp.org>
2312
2313         Tests for module 'exp2l'.
2314         * modules/exp2l-tests: New file.
2315         * tests/test-exp2l.c: New file.
2316
2317         New module 'exp2l'.
2318         * lib/math.in.h (exp2l): New declaration.
2319         * lib/exp2l.c: New file.
2320         * lib/expl-table.c: New file, extracted from lib/expl.c.
2321         * lib/expl.c (gl_expl_table): New declaration.
2322         (expl): Remove expl_table. Update reference.
2323         * m4/exp2l.m4: New file.
2324         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
2325         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
2326         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
2327         * modules/exp2l: New file.
2328         * modules/expl (Files): Add lib/expl-table.c.
2329         (configure.ac): Compile also expl-table.c.
2330         * tests/test-math-c++.cc: Check the declaration of exp2l.
2331         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
2332         problem.
2333
2334 2012-03-08  Bruno Haible  <bruno@clisp.org>
2335
2336         Tests for module 'exp2f'.
2337         * modules/exp2f-tests: New file.
2338         * tests/test-exp2f.c: New file.
2339
2340         New module 'exp2f'.
2341         * lib/math.in.h (exp2f): New declaration.
2342         * lib/exp2f.c: New file.
2343         * m4/exp2f.m4: New file.
2344         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
2345         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
2346         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
2347         * modules/exp2f: New file.
2348         * tests/test-math-c++.cc: Check the declaration of exp2f.
2349         * doc/posix-functions/exp2f.texi: Mention the new module and the
2350         IRIX problem.
2351
2352 2012-03-08  Bruno Haible  <bruno@clisp.org>
2353
2354         Tests for module 'exp2'.
2355         * modules/exp2-tests: New file.
2356         * tests/test-exp2.c: New file.
2357         * tests/test-exp2.h: New file.
2358
2359         New module 'exp2'.
2360         * lib/math.in.h (exp2): New declaration.
2361         * lib/exp2.c: New file.
2362         * m4/exp2.m4: New file.
2363         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
2364         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
2365         REPLACE_EXP2.
2366         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
2367         REPLACE_EXP2.
2368         * modules/exp2: New file.
2369         * tests/test-math-c++.cc: Check the declaration of exp2.
2370         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
2371         and OpenBSD problems.
2372
2373 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
2374
2375         savedir: fix comment typo
2376         * lib/savedir.c (savedirstream): Fix typo in comment.
2377
2378 2012-03-08  Bruno Haible  <bruno@clisp.org>
2379
2380         test-readtokens.c: use const; remove unwarranted cast
2381         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
2382
2383 2012-03-08  Bruno Haible  <bruno@clisp.org>
2384
2385         fmal: Avoid compilation error on AIX.
2386         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
2387         AIX 5.2..7.1.
2388
2389 2012-03-08  Bruno Haible  <bruno@clisp.org>
2390
2391         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
2392         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
2393         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
2394         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
2395         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
2396         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
2397         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
2398
2399 2012-03-08  Bruno Haible  <bruno@clisp.org>
2400
2401         remainderf: Override buggy system function on IRIX 6.5.
2402         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
2403         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
2404         when it exists.
2405         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
2406
2407 2012-03-08  Jim Meyering  <meyering@redhat.com>
2408
2409         test-readtokens.c: avoid const-related compilation warnings
2410         * tests/test-readtokens.c: Avoid const-related compilation warnings.
2411
2412 2012-03-07  Jim Meyering  <meyering@redhat.com>
2413             Bruno Haible  <bruno@clisp.org>
2414
2415         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
2416         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
2417         tests/randomd.c.
2418         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
2419         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
2420         tests/randoml.c.
2421         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
2422
2423 2012-03-07  Bruno Haible  <bruno@clisp.org>
2424
2425         expm1l: Avoid compilation error on AIX.
2426         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
2427         AIX 5.2..7.1.
2428
2429 2012-03-07  Bruno Haible  <bruno@clisp.org>
2430
2431         expm1l: Don't override undeclared system function on IRIX 6.5.
2432         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
2433         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
2434         it exists. Set HAVE_DECL_EXPM1L.
2435         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
2436         HAVE_EXPM1L.
2437         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
2438         HAVE_EXPM1L.
2439         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
2440
2441 2012-03-07  Bruno Haible  <bruno@clisp.org>
2442
2443         remainderl: Don't override undeclared system function on IRIX 6.5.
2444         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
2445         HAVE_REMAINDERL.
2446         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
2447         declared when it exists. Set HAVE_DECL_REMAINDERL.
2448         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
2449         not HAVE_REMAINDERL.
2450         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
2451         HAVE_REMAINDERL.
2452         * doc/posix-functions/remainderl.texi: Mention missing declaration
2453         problem.
2454
2455 2012-03-07  Bruno Haible  <bruno@clisp.org>
2456
2457         rintf: Don't override undeclared system function on IRIX 6.5.
2458         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
2459         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
2460         exists. Set HAVE_DECL_RINTF.
2461         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
2462         HAVE_RINTF.
2463         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
2464         HAVE_RINTF.
2465         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
2466
2467 2012-03-07  Bruno Haible  <bruno@clisp.org>
2468
2469         roundl: Avoid compilation error on AIX.
2470         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
2471         AIX 5.2..7.1.
2472
2473 2012-03-07  Bruno Haible  <bruno@clisp.org>
2474
2475         roundl: Don't override undeclared system function on IRIX 6.5.
2476         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
2477         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
2478         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
2479         * modules/roundl (configure.ac): For replacement code, test
2480         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
2481         (Depends-on): Update conditions.
2482         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
2483
2484 2012-03-07  Bruno Haible  <bruno@clisp.org>
2485
2486         roundf: Don't override undeclared system function on IRIX 6.5.
2487         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
2488         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
2489         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
2490         * modules/roundf (configure.ac): For replacement code, test
2491         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
2492         (Depends-on): Update conditions.
2493         * modules/roundf-ieee (Depends-on): Update conditions.
2494         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
2495
2496 2012-03-07  Bruno Haible  <bruno@clisp.org>
2497
2498         round: Don't override undeclared system function on IRIX 6.5.
2499         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
2500         argument.
2501         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
2502         also when it is not declared. Set HAVE_ROUND. For replacement code,
2503         test HAVE_ROUND, not HAVE_DECL_ROUND.
2504         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
2505         not HAVE_DECL_ROUND.
2506         (Depends-on): Update conditions.
2507         * modules/round-ieee (Depends-on): Update conditions.
2508         * doc/posix-functions/round.texi: Mention the IRIX problem.
2509
2510 2012-03-07  Bruno Haible  <bruno@clisp.org>
2511
2512         copysignf: Don't override undeclared system function on IRIX 6.5.
2513         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
2514         HAVE_COPYSIGNF.
2515         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
2516         declared when it exists. Set HAVE_DECL_COPYSIGNF.
2517         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
2518         not HAVE_COPYSIGNF.
2519         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
2520         HAVE_COPYSIGNF.
2521         * doc/posix-functions/copysignf.texi: Mention missing declaration
2522         problem.
2523
2524 2012-03-07  Jim Meyering  <meyering@redhat.com>
2525
2526         readtokens: add tests
2527         * modules/readtokens-tests: New file.
2528         * tests/test-readtokens.c: New file.
2529
2530 2012-03-07  Jim Meyering  <meyering@redhat.com>
2531
2532         quotearg: the module must now include quote.h
2533         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
2534         So must the module.
2535         * modules/quotearg (Files): Add quote.h.
2536
2537 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
2538
2539         readtokens: avoid core dumps with unusual calling patterns
2540         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
2541         * lib/readtokens.c: Include limits.h.
2542         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
2543         (readtoken): Don't cache the delimiters; the cache code was buggy
2544         if !delim && saved_delim, or if the new n_delim differs from the old.
2545         Also, it wasn't thread-safe.
2546
2547 2012-03-07  Bruno Haible  <bruno@clisp.org>
2548
2549         quote: Adhere to common module description layout.
2550         * modules/quote (Makefile.am): Add back empty section.
2551
2552 2012-03-06  Akim Demaille  <demaille@gostai.com>
2553
2554         quote: fuse into quotearg
2555         This patch is made for the benefit of Bison.
2556         quote does not leave the choice of the quoting style to the user.
2557         quoting_style provides poor customizability, yet quoting_options,
2558         which is very rich, is hidden inside quotearg.c.  So in order to
2559         allow quote customization, move its implementation to quotearg.c.
2560         * lib/quote.c: Remove.
2561         * modules/quote: Adjust.
2562         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
2563         warning: provide all the members of literal structs.
2564         (quote_quoting_options): New.
2565         (quote, quote_n): Import implementation from quote.c.
2566         * lib/quote.h: Import the comments from quote.c.
2567         (quote_quoting_options): New.
2568
2569 2012-03-06  Bruno Haible  <bruno@clisp.org>
2570
2571         Tests for module 'expm1l-ieee'.
2572         * modules/expm1l-ieee-tests: New file.
2573         * tests/test-expm1l-ieee.c: New file.
2574
2575         New module 'expm1l-ieee'.
2576         * modules/expm1l-ieee: New file.
2577
2578         Tests for module 'expm1f-ieee'.
2579         * modules/expm1f-ieee-tests: New file.
2580         * tests/test-expm1f-ieee.c: New file.
2581
2582         New module 'expm1f-ieee'.
2583         * modules/expm1f-ieee: New file.
2584
2585         Tests for module 'expm1-ieee'.
2586         * modules/expm1-ieee-tests: New file.
2587         * tests/test-expm1-ieee.c: New file.
2588         * tests/test-expm1-ieee.h: New file.
2589
2590         New module 'expm1-ieee'.
2591         * modules/expm1-ieee: New file.
2592         * m4/expm1-ieee.m4: New file.
2593         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
2594         whether expm1 works with a minus zero argument. Replace it if not.
2595         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
2596         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
2597         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
2598         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
2599         (Depends-on): Update conditions.
2600         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
2601         AIX problem.
2602
2603 2012-03-06  Bruno Haible  <bruno@clisp.org>
2604
2605         Work around expm1f bug on IRIX 6.5.
2606         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
2607         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
2608         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
2609         not work.
2610         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
2611         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
2612         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
2613         (Depends-on): Update conditions.
2614         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
2615
2616 2012-03-06  Bruno Haible  <bruno@clisp.org>
2617
2618         Tests for module 'expm1l'.
2619         * modules/expm1l-tests: New file.
2620         * tests/test-expm1l.c: New file.
2621
2622         New module 'expm1l'.
2623         * lib/math.in.h (expm1l): New declaration.
2624         * lib/expm1l.c: New file.
2625         * m4/expm1l.m4: New file.
2626         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
2627         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
2628         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
2629         * modules/expm1l: New file.
2630         * tests/test-math-c++.cc: Check the declaration of expm1l.
2631         * doc/posix-functions/expm1l.texi: Mention the new module.
2632
2633 2012-03-06  Bruno Haible  <bruno@clisp.org>
2634
2635         Tests for module 'expm1f'.
2636         * modules/expm1f-tests: New file.
2637         * tests/test-expm1f.c: New file.
2638
2639         New module 'expm1f'.
2640         * lib/math.in.h (expm1f): New declaration.
2641         * lib/expm1f.c: New file.
2642         * m4/expm1f.m4: New file.
2643         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
2644         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
2645         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
2646         * modules/expm1f: New file.
2647         * tests/test-math-c++.cc: Check the declaration of expm1f.
2648         * doc/posix-functions/expm1f.texi: Mention the new module.
2649
2650 2012-03-06  Bruno Haible  <bruno@clisp.org>
2651
2652         Tests for module 'expm1'.
2653         * modules/expm1-tests: New file.
2654         * tests/test-expm1.c: New file.
2655         * tests/test-expm1.h: New file.
2656
2657         New module 'expm1'.
2658         * lib/math.in.h (expm1): New declaration.
2659         * lib/expm1.c: New file.
2660         * m4/expm1.m4: New file.
2661         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
2662         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
2663         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
2664         * modules/expm1: New file.
2665         * tests/test-math-c++.cc: Check the declaration of expm1.
2666         * doc/posix-functions/expm1.texi: Mention the new module.
2667
2668 2012-03-06  Bruno Haible  <bruno@clisp.org>
2669
2670         math: Ensure declarations of math functions.
2671         * modules/acosf (Depends-on): Add 'extensions'.
2672         * modules/asinf (Depends-on): Likewise.
2673         * modules/atan2f (Depends-on): Likewise.
2674         * modules/atanf (Depends-on): Likewise.
2675         * modules/cbrt (Depends-on): Likewise.
2676         * modules/cbrtf (Depends-on): Likewise.
2677         * modules/cbrtl (Depends-on): Likewise.
2678         * modules/copysignf (Depends-on): Likewise.
2679         * modules/copysignl (Depends-on): Likewise.
2680         * modules/cosf (Depends-on): Likewise.
2681         * modules/coshf (Depends-on): Likewise.
2682         * modules/expf (Depends-on): Likewise.
2683         * modules/fabsf (Depends-on): Likewise.
2684         * modules/fabsl (Depends-on): Likewise.
2685         * modules/fmaf (Depends-on): Likewise.
2686         * modules/fmal (Depends-on): Likewise.
2687         * modules/fmodf (Depends-on): Likewise.
2688         * modules/fmodl (Depends-on): Likewise.
2689         * modules/frexpf (Depends-on): Likewise.
2690         * modules/frexpl (Depends-on): Likewise.
2691         * modules/hypot (Depends-on): Likewise.
2692         * modules/hypotf (Depends-on): Likewise.
2693         * modules/hypotl (Depends-on): Likewise.
2694         * modules/ldexpf (Depends-on): Likewise.
2695         * modules/ldexpl (Depends-on): Likewise.
2696         * modules/log10f (Depends-on): Likewise.
2697         * modules/log10l (Depends-on): Likewise.
2698         * modules/log1p (Depends-on): Likewise.
2699         * modules/logb (Depends-on): Likewise.
2700         * modules/logf (Depends-on): Likewise.
2701         * modules/modff (Depends-on): Likewise.
2702         * modules/modfl (Depends-on): Likewise.
2703         * modules/powf (Depends-on): Likewise.
2704         * modules/remainderf (Depends-on): Likewise.
2705         * modules/remainderl (Depends-on): Likewise.
2706         * modules/rintf (Depends-on): Likewise.
2707         * modules/rintl (Depends-on): Likewise.
2708         * modules/sinf (Depends-on): Likewise.
2709         * modules/sinhf (Depends-on): Likewise.
2710         * modules/sqrtf (Depends-on): Likewise.
2711         * modules/tanf (Depends-on): Likewise.
2712         * modules/tanhf (Depends-on): Likewise.
2713         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
2714         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
2715         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
2716         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
2717         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
2718         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
2719         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
2720         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
2721         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
2722         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
2723         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
2724         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
2725         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
2726         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
2727         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
2728         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
2729         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
2730         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2731         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
2732         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
2733         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
2734         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
2735         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
2736         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
2737         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
2738         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
2739         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
2740         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
2741         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
2742         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
2743         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
2744         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
2745         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
2746         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
2747         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
2748         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
2749         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
2750         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
2751         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
2752         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
2753         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
2754
2755 2012-03-06  Bruno Haible  <bruno@clisp.org>
2756
2757         math: Update module names in warnings.
2758         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
2759         tanl): Use specific module name in warn-on-use warning.
2760
2761 2012-03-06  Bruno Haible  <bruno@clisp.org>
2762
2763         expl: Simplify computation.
2764         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
2765
2766 2012-03-05  Bruno Haible  <bruno@clisp.org>
2767
2768         exp* tests: More tests.
2769         * tests/test-exp.h: New file.
2770         * tests/test-exp.c: Include <float.h> and test-exp.h.
2771         (main): Invoke test_function.
2772         * tests/test-expf.c: Include <float.h> and test-exp.h.
2773         (main): Invoke test_function.
2774         * tests/test-expl.c: Include <float.h> and test-exp.h.
2775         (main): Invoke test_function.
2776         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
2777         (Makefile.am): Add randomd.c to test_exp_SOURCES.
2778         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
2779         (Makefile.am): Add randomf.c to test_expf_SOURCES.
2780         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
2781         (Depends-on): Add 'float'.
2782         (Makefile.am): Add randoml.c to test_expl_SOURCES.
2783
2784         expl: Fix precision of computed result.
2785         * lib/expl.c: Completely rewritten.
2786         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
2787         (Maintainer): Add me.
2788         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
2789
2790 2012-03-05  Bruno Haible  <bruno@clisp.org>
2791
2792         cbrt* tests: More tests.
2793         * tests/test-cbrt.h: New file.
2794         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
2795         (main): Invoke test_function.
2796         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
2797         (main): Invoke test_function.
2798         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
2799         (main): Invoke test_function.
2800         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
2801         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
2802         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
2803         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
2804         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
2805         (Depends-on): Add 'float'.
2806         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
2807
2808 2012-03-05  Bruno Haible  <bruno@clisp.org>
2809
2810         hypot* tests: More tests.
2811         * tests/test-hypot.h: New file, partially extracted from
2812         tests/test-hypotl.c.
2813         * tests/test-hypot.c: Include test-hypot.h.
2814         (main): Invoke test_function.
2815         * tests/test-hypotf.c: Include test-hypot.h.
2816         (main): Invoke test_function.
2817         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
2818         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
2819         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
2820         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
2821         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
2822         tests/randomf.c.
2823         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
2824         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
2825         tests/randoml.c.
2826         (Depends-on): Add 'fpucw', 'float'.
2827         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
2828
2829 2012-03-05  Bruno Haible  <bruno@clisp.org>
2830
2831         fpucw: Doc about FreeBSD.
2832         * lib/fpucw.h: Mention FreeBSD in comments.
2833
2834 2012-03-04  Bruno Haible  <bruno@clisp.org>
2835
2836         sqrt* tests: More tests.
2837         * tests/test-sqrt.h: New file.
2838         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
2839         (main): Invoke test_function.
2840         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
2841         (main): Invoke test_function.
2842         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
2843         (main): Invoke test_function.
2844         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
2845         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
2846         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
2847         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
2848         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
2849         (Depends-on): Add 'float'.
2850         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
2851
2852 2012-03-04  Bruno Haible  <bruno@clisp.org>
2853
2854         remainder* tests: More tests.
2855         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
2856         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
2857         (main): Invoke test_function.
2858         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
2859         (main): Invoke test_function.
2860         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
2861         (main): Invoke test_function.
2862         * modules/remainder-tests (Files): Add tests/test-remainder.h,
2863         tests/randomd.c.
2864         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
2865         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
2866         tests/randomf.c.
2867         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
2868         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
2869         tests/randoml.c.
2870         (Depends-on): Add 'float'.
2871         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
2872
2873 2012-03-04  Bruno Haible  <bruno@clisp.org>
2874
2875         remainder, remainderf, remainderl: Fix computation for large quotients.
2876         * lib/remainder.c: Completely rewritten.
2877         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
2878         USE_FLOAT.
2879         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
2880         USE_LONG_DOUBLE.
2881         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
2882         isnand, isinf. Remove round, fma.
2883         * modules/remainderf (Files): Add lib/remainder.c.
2884         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
2885         Remove roundf, fmaf.
2886         * modules/remainderl (Files): Add lib/remainder.c.
2887         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
2888         isinf. Remove roundl, fmal.
2889         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
2890         REMAINDER_LIBM.
2891         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
2892         REMAINDERF_LIBM.
2893         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
2894         REMAINDERL_LIBM.
2895
2896 2012-03-04  Bruno Haible  <bruno@clisp.org>
2897
2898         fmod* tests: More tests.
2899         * tests/test-fmod.h (my_ldexp): New function.
2900         (test_function): Reduce amount of random numbers to test. Add tests
2901         of very large quotients x / y.
2902         * tests/test-fmod.c (MAX_EXP): New macro.
2903         * tests/test-fmodf.c (MAX_EXP): Likewise.
2904         * tests/test-fmodl.c (MAX_EXP): Likewise.
2905
2906 2012-03-04  Bruno Haible  <bruno@clisp.org>
2907
2908         fmod, fmodl: Fix computation for large quotients x / y.
2909         * lib/fmod.c: Completely rewritten.
2910         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
2911         USE_LONG_DOUBLE.
2912         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
2913         isnand. Remove fma.
2914         * modules/fmodl (Files): Add lib/fmod.c.
2915         (Depends-on): Add float, isfinite, signbit, fabsl,
2916         frexpl, ldexpl, isnanl. Remove fma.
2917         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
2918         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
2919
2920 2012-03-03  Bruno Haible  <bruno@clisp.org>
2921
2922         fmod* tests: More tests.
2923         * tests/test-fmod.h: New file.
2924         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
2925         (main): Invoke test_function.
2926         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
2927         (main): Invoke test_function.
2928         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
2929         (main): Invoke test_function.
2930         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
2931         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
2932         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
2933         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
2934         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
2935         (Depends-on): Add 'float'.
2936         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
2937
2938 2012-03-03  Bruno Haible  <bruno@clisp.org>
2939
2940         rint* tests: More tests.
2941         * tests/test-rint.h: New file, partially extracted from
2942         tests/test-rintl.c.
2943         * tests/test-rint.c: Include test-rint.h.
2944         (main): Invoke test_function.
2945         * tests/test-rintf.c: Include test-rint.h.
2946         (main): Invoke test_function.
2947         * tests/test-rintl.c: Include test-rint.h.
2948         (main): Invoke test_function.
2949         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
2950         (Makefile.am): Add randomd.c to test_rint_SOURCES.
2951         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
2952         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
2953         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
2954         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
2955
2956 2012-03-03  Bruno Haible  <bruno@clisp.org>
2957
2958         modf* tests: More tests.
2959         * tests/test-modf.h: New file.
2960         * tests/test-modf.c: Include <float.h> and test-modf.h.
2961         (main): Invoke test_function.
2962         * tests/test-modff.c: Include <float.h> and test-modf.h.
2963         (main): Invoke test_function.
2964         * tests/test-modfl.c: Include <float.h> and test-modf.h.
2965         (main): Invoke test_function.
2966         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
2967         (Makefile.am): Add randomd.c to test_modf_SOURCES.
2968         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
2969         (Makefile.am): Add randomf.c to test_modff_SOURCES.
2970         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
2971         (Depends-on): Add 'float'.
2972         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
2973
2974 2012-03-03  Bruno Haible  <bruno@clisp.org>
2975
2976         fabs* tests: More tests.
2977         * tests/test-fabs.h: New file, partially extracted from
2978         tests/test-fabsl.c.
2979         * tests/test-fabs.c (RANDOM): New macro.
2980         * tests/test-fabsf.c (RANDOM): New macro.
2981         * tests/test-fabsl.c (RANDOM): New macro.
2982         * modules/fabs-tests (Files): Add tests/randomd.c.
2983         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
2984         * modules/fabsf-tests (Files): Add tests/randomf.c.
2985         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
2986         * modules/fabsl-tests (Files): Add tests/randoml.c.
2987         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
2988
2989 2012-03-03  Bruno Haible  <bruno@clisp.org>
2990
2991         ldexp* tests: More tests.
2992         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
2993         * tests/test-ldexp.c (RANDOM): New macro.
2994         * tests/test-ldexpf.c (RANDOM): New macro.
2995         * tests/test-ldexpl.c (RANDOM): New macro.
2996         * modules/ldexp-tests (Files): Add tests/randomd.c.
2997         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
2998         * modules/ldexpf-tests (Files): Add tests/randomf.c.
2999         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
3000         * modules/ldexpl-tests (Files): Add tests/randoml.c.
3001         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
3002
3003 2012-03-03  Bruno Haible  <bruno@clisp.org>
3004
3005         frexp* tests: More tests.
3006         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
3007         * tests/test-frexp.c (RANDOM): New macro.
3008         * tests/test-frexpf.c (RANDOM): New macro.
3009         * tests/test-frexpl.c (RANDOM): New macro.
3010         * modules/frexp-tests (Files): Add tests/randomd.c.
3011         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
3012         * modules/frexpf-tests (Files): Add tests/randomf.c.
3013         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
3014         * modules/frexpl-tests (Files): Add tests/randoml.c.
3015         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
3016
3017 2012-03-03  Bruno Haible  <bruno@clisp.org>
3018
3019         Support for pseudo-random numbers in tests.
3020         * tests/randomf.c: New file.
3021         * tests/randomd.c: New file.
3022         * tests/randoml.c: New file.
3023         * tests/macros.h (randomf, randomd, randoml): New declarations.
3024
3025 2012-03-03  Bruno Haible  <bruno@clisp.org>
3026
3027         frexp* tests: Refactor.
3028         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
3029         * tests/test-frexp.c: Include and use it.
3030         * tests/test-frexpf.c: Likewise.
3031         * tests/test-frexpl.c: Likewise.
3032         * modules/frexp-tests (Files): Add tests/test-frexp.h.
3033         * modules/frexpf-tests (Files): Likewise.
3034         * modules/frexpl-tests (Files): Likewise.
3035
3036 2012-03-02  Jim Meyering  <meyering@redhat.com>
3037
3038         maint: don't specify XZ_OPT=-9ev in dist-related rule
3039         Using xz's -9 option is warranted only if you have a very large
3040         tarball (see xz's documentation for the sizes vs. presets), and
3041         requires 64MiB of memory at decompression time.
3042         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
3043         Automake's default of just "-e" is fine.  Override on a
3044         per-package basis by setting XZ_OPT e.g., in cfg.mk.
3045
3046 2012-03-01  Eric Blake  <eblake@redhat.com>
3047
3048         maint.mk: allow announcement for non-gnulib project
3049         * maint.mk (announcement): Skip gnulib version if not used.
3050
3051 2012-03-01  Jim Meyering  <meyering@redhat.com>
3052
3053         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
3054         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
3055         envvar settings cannot interfere.  Otherwise, setting envvars like
3056         prohibit=foo require=bar, etc. would cause spurious test failures.
3057
3058 2012-03-01  Eric Blake  <eblake@redhat.com>
3059
3060         maint.mk: add per-line exclusions to prohibitions
3061         * maint.mk (_sc_search_regexp): Add $exclude parameter.
3062         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
3063         (sc_const_long_option): Use it.
3064
3065 2012-03-01  Bruno Haible  <bruno@clisp.org>
3066
3067         Tests for module 'expl-ieee'.
3068         * modules/expl-ieee-tests: New file.
3069         * tests/test-expl-ieee.c: New file.
3070
3071         New module 'expl-ieee'.
3072         * modules/expl-ieee: New file.
3073
3074         Tests for module 'exp-ieee'.
3075         * modules/exp-ieee-tests: New file.
3076         * tests/test-exp-ieee.c: New file.
3077
3078         New module 'exp-ieee'.
3079         * modules/exp-ieee: New file.
3080
3081         Tests for module 'expf-ieee'.
3082         * modules/expf-ieee-tests: New file.
3083         * tests/test-expf-ieee.c: New file.
3084         * tests/test-exp-ieee.h: New file.
3085
3086         New module 'expf-ieee'.
3087         * modules/expf-ieee: New file.
3088
3089 2012-02-29  Bruno Haible  <bruno@clisp.org>
3090
3091         cbrtl-ieee: Work around test failure on IRIX 6.5.
3092         * m4/cbrtl-ieee.m4: New file.
3093         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
3094         test whether cbrtl works with a minus zero argument. Replace it if not.
3095         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
3096         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
3097         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
3098         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
3099         (Depends-on): Update conditions.
3100         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
3101         m4/signbit.m4.
3102         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
3103         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
3104         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
3105
3106         Tests for module 'cbrtl-ieee'.
3107         * modules/cbrtl-ieee-tests: New file.
3108         * tests/test-cbrtl-ieee.c: New file.
3109
3110         New module 'cbrtl-ieee'.
3111         * modules/cbrtl-ieee: New file.
3112
3113         Tests for module 'cbrt-ieee'.
3114         * modules/cbrt-ieee-tests: New file.
3115         * tests/test-cbrt-ieee.c: New file.
3116
3117         New module 'cbrt-ieee'.
3118         * modules/cbrt-ieee: New file.
3119
3120         Tests for module 'cbrtf-ieee'.
3121         * modules/cbrtf-ieee-tests: New file.
3122         * tests/test-cbrtf-ieee.c: New file.
3123         * tests/test-cbrt-ieee.h: New file.
3124
3125         New module 'cbrtf-ieee'.
3126         * modules/cbrtf-ieee: New file.
3127
3128 2012-02-29  Bruno Haible  <bruno@clisp.org>
3129
3130         cbrtf: Work around bug in IRIX 6.5 system function.
3131         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
3132         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
3133         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
3134         work.
3135         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
3136         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
3137         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
3138         (Depends-on): Update conditions.
3139         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
3140
3141 2012-02-29  Bruno Haible  <bruno@clisp.org>
3142
3143         Tests for module 'cbrtl'.
3144         * modules/cbrtl-tests: New file.
3145         * tests/test-cbrtl.c: New file.
3146
3147         New module 'cbrtl'.
3148         * lib/math.in.h (cbrtl): New declaration.
3149         * lib/cbrtl.c: New file.
3150         * m4/cbrtl.m4: New file.
3151         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
3152         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
3153         HAVE_DECL_CBRTL.
3154         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
3155         HAVE_DECL_CBRTL.
3156         * modules/cbrtl: New file.
3157         * tests/test-math-c++.cc: Check the declaration of cbrtl.
3158         * doc/posix-functions/cbrtl.texi: Mention the new module.
3159
3160 2012-02-29  Bruno Haible  <bruno@clisp.org>
3161
3162         Tests for module 'cbrtf'.
3163         * modules/cbrtf-tests: New file.
3164         * tests/test-cbrtf.c: New file.
3165
3166         New module 'cbrtf'.
3167         * lib/math.in.h (cbrtf): New declaration.
3168         * lib/cbrtf.c: New file.
3169         * m4/cbrtf.m4: New file.
3170         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
3171         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
3172         HAVE_DECL_CBRTF.
3173         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
3174         HAVE_DECL_CBRTF.
3175         * modules/cbrtf: New file.
3176         * tests/test-math-c++.cc: Check the declaration of cbrtf.
3177         * doc/posix-functions/cbrtf.texi: Mention the new module.
3178
3179 2012-02-29  Bruno Haible  <bruno@clisp.org>
3180
3181         cbrt: Provide replacement on MSVC and Minix.
3182         * lib/math.in.h (cbrt): New declaration.
3183         * lib/cbrt.c: New file.
3184         * m4/cbrt.m4: New file.
3185         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
3186         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
3187         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
3188         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
3189         (Depends-on): Add dependencies.
3190         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
3191         * tests/test-math-c++.cc: Check the declaration of cbrt.
3192         * doc/posix-functions/cbrt.texi: Mention that the module provides a
3193         replacement.
3194
3195 2012-02-29  Bruno Haible  <bruno@clisp.org>
3196
3197         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
3198         * m4/hypotl-ieee.m4: New file.
3199         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
3200         test whether hypotl works with mixed NaN and Infinity arguments.
3201         Replace it if not.
3202         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
3203         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
3204         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
3205         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
3206         (Depends-on): Update conditions.
3207         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
3208         (Depends-on): Add hypot-ieee.
3209         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
3210         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
3211
3212         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
3213         * m4/hypotf-ieee.m4: New file.
3214         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
3215         test whether hypotf works with mixed NaN and Infinity arguments.
3216         Replace it if not.
3217         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
3218         (Depends-on): Add hypot-ieee.
3219         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
3220         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
3221
3222         hypot-ieee: Work around test failure on OSF/1 and native Windows.
3223         * lib/math.in.h (hypot): New declaration.
3224         * lib/hypot.c: New file.
3225         * m4/hypot-ieee.m4: New file.
3226         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
3227         whether hypot works with mixed NaN and Infinity arguments. Replace it
3228         if not.
3229         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
3230         REPLACE_HYPOT.
3231         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
3232         * modules/hypot (Files): Add lib/hypot.c.
3233         (Depends-on): Add dependencies.
3234         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
3235         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
3236         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
3237         * tests/test-math-c++.cc: Check the declaration of hypot.
3238         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
3239
3240         Tests for module 'hypotl-ieee'.
3241         * modules/hypotl-ieee-tests: New file.
3242         * tests/test-hypotl-ieee.c: New file.
3243
3244         New module 'hypotl-ieee'.
3245         * modules/hypotl-ieee: New file.
3246
3247         Tests for module 'hypot-ieee'.
3248         * modules/hypot-ieee-tests: New file.
3249         * tests/test-hypot-ieee.c: New file.
3250
3251         New module 'hypot-ieee'.
3252         * modules/hypot-ieee: New file.
3253
3254         Tests for module 'hypotf-ieee'.
3255         * modules/hypotf-ieee-tests: New file.
3256         * tests/test-hypotf-ieee.c: New file.
3257         * tests/test-hypot-ieee.h: New file.
3258
3259         New module 'hypotf-ieee'.
3260         * modules/hypotf-ieee: New file.
3261
3262 2012-02-29  Bruno Haible  <bruno@clisp.org>
3263
3264         Remove unused variables.
3265         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
3266         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
3267         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
3268         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
3269
3270 2012-02-29  Eric Blake  <eblake@redhat.com>
3271
3272         termios: fix pid_t always, not just for tcgetsid
3273         * doc/posix-headers/termios.texi (termios.h): Mention problem.
3274         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
3275         just when building tcgetsid.
3276
3277 2012-02-29  Bruno Haible  <bruno@clisp.org>
3278
3279         Tests for module 'hypotl'.
3280         * modules/hypotl-tests: New file.
3281         * tests/test-hypotl.c: New file.
3282
3283         New module 'hypotl'.
3284         * lib/math.in.h (hypotl): New declaration.
3285         * lib/hypotl.c: New file.
3286         * m4/hypotl.m4: New file.
3287         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
3288         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
3289         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
3290         * modules/hypotl: New file.
3291         * tests/test-math-c++.cc: Check the hypotl declaration.
3292         * doc/posix-functions/hypotl.texi: Mention the new module.
3293
3294 2012-02-29  Eric Blake  <eblake@redhat.com>
3295
3296         tcgetsid: fix cygwin header bug
3297         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
3298
3299         docs: update cygwin progress
3300         * doc/posix-functions/llround.texi (llround): Added in cygwin
3301         1.7.8.
3302         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
3303         * doc/glibc-functions/program_invocation_name.texi
3304         (program_invocation_name): Likewise.
3305         * doc/glibc-functions/program_invocation_short_name.texi
3306         (program_invocation_short_name): Likewise.
3307         * doc/glibc-functions/madvise.texi (madvise): Likewise.
3308         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
3309         Likewise.
3310         * doc/posix-functions/pthread_spin_destroy.texi
3311         (pthread_spin_destroy): Added in cygwin 1.7.10.
3312         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
3313         Likewise.
3314         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
3315         Likewise.
3316         * doc/posix-functions/pthread_spin_trylock.texi
3317         (pthread_spin_trylock): Likewise.
3318         * doc/posix-functions/pthread_spin_unlock.texi
3319         (pthread_spin_unlock): Likewise.
3320         * doc/posix-functions/pthread_setschedprio.texi
3321         (pthread_setschedprio): Likewise.
3322         * doc/posix-functions/pthread_attr_getstack.texi
3323         (pthread_attr_getstack): Likewise.
3324         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
3325         (pthread_attr_getstackaddr): Likewise.
3326         * doc/glibc-functions/pthread_getattr_np.texi
3327         (pthread_getattr_np): Likewise.
3328         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
3329         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
3330         * doc/posix-functions/clock_settime.texi (clock_settime):
3331         Likewise.
3332         * doc/posix-functions/pthread_attr_getguardsize.texi
3333         (pthread_attr_getguardsize): Likewise.
3334         * doc/posix-functions/pthread_attr_setguardsize.texi
3335         (pthread_attr_setguardsize): Likewise.
3336         * doc/posix-functions/pthread_attr_setstack.texi
3337         (pthread_attr_setstack): Likewise.
3338         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
3339         (pthread_attr_setstackaddr): Likewise.
3340         * doc/posix-functions/clock_getcpuclockid.texi
3341         (clock_getcpuclockid): Likewise.
3342         * doc/posix-functions/pthread_getcpuclockid.texi
3343         (pthread_getcpuclockid): Likewise.
3344         * doc/glibc-functions/error.texi (error): Likewise.
3345         * doc/glibc-functions/error_at_line.texi (error_at_line):
3346         Likewise.
3347         * doc/glibc-functions/error_message_count.texi
3348         (error_message_count): Likewise.
3349         * doc/glibc-functions/error_one_per_line.texi
3350         (error_one_per_line): Likewise.
3351         * doc/glibc-functions/error_print_progname.texi
3352         (error_print_progname): Likewise.
3353         * doc/posix-functions/pthread_condattr_getclock.texi
3354         (pthread_condattr_getclock): Likewise.
3355         * doc/posix-functions/pthread_condattr_setclock.texi
3356         (pthread_condattr_setclock): Likewise.
3357         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
3358         Likewise.
3359         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
3360         * doc/glibc-functions/getpt.texi (getpt): Likewise.
3361         * doc/glibc-functions/get_current_dir_name.texi
3362         (get_current_dir_name): Likewise.
3363         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
3364         Likewise.
3365         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
3366         wrong return type.
3367         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
3368         1.7.11.
3369
3370 2012-02-29  Bruno Haible  <bruno@clisp.org>
3371
3372         Tests for module 'hypotf'.
3373         * modules/hypotf-tests: New file.
3374         * tests/test-hypotf.c: New file.
3375
3376         New module 'hypotf'.
3377         * lib/math.in.h (hypotf): New declaration.
3378         * lib/hypotf.c: New file.
3379         * m4/hypotf.m4: New file.
3380         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
3381         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
3382         REPLACE_HYPOTF.
3383         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
3384         REPLACE_HYPOTF.
3385         * modules/hypotf: New file.
3386         * tests/test-math-c++.cc: Check the hypotf declaration.
3387         * doc/posix-functions/hypotf.texi: Mention the new module.
3388
3389         hypot: Prepare for hypotf module.
3390         * m4/hypot.m4: New file.
3391         * modules/hypot (Files): Add m4/hypot.m4.
3392         (configure.ac): Invoke gl_FUNC_HYPOT.
3393
3394 2012-02-29  Bruno Haible  <bruno@clisp.org>
3395
3396         hypot tests: More tests.
3397         * tests/test-hypot.c: Include <float.h>.
3398         (main): Add tests about overflow and underflow.
3399
3400 2012-02-29  Bruno Haible  <bruno@clisp.org>
3401
3402         math code: Add comments.
3403         * lib/acosl.c: Add comment about related glibc source files.
3404         * lib/asinl.c: Likewise.
3405         * lib/atanl.c: Likewise.
3406         * lib/expl.c: Likewise.
3407         * lib/logl.c: Likewise.
3408         * lib/sincosl.c: Likewise.
3409         * lib/sinl.c: Likewise.
3410         * lib/tanl.c: Likewise.
3411         * lib/trigl.c: Likewise.
3412         * lib/cosl.c: Likewise. Fix comments.
3413
3414 2012-02-28  Bruno Haible  <bruno@clisp.org>
3415
3416         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
3417         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
3418         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
3419         HUGE_VALL are defined.
3420         (numeric_equald): Renamed from numeric_equal.
3421         (numeric_equalf, numeric_equall): New functions.
3422         (main): Check also HUGE_VALF, HUGE_VALL.
3423         * modules/math-tests (Files): Add tests/macros.h.
3424         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
3425         HUGE_VALL.
3426
3427 2012-02-28  Bruno Haible  <bruno@clisp.org>
3428
3429         doc: Move ISO C11 feature notes into POSIX chapters.
3430         * doc/posix-functions/aligned_alloc.texi: Renamed from
3431         doc/glibc-functions/aligned_alloc.texi.
3432         * doc/posix-functions/quick_exit.texi: Renamed from
3433         doc/glibc-functions/quick_exit.texi.
3434         * doc/posix-headers/uchar.texi: Renamed from
3435         doc/glibc-headers/uchar.texi.
3436         * doc/posix-functions/c16rtomb.texi: Renamed from
3437         doc/glibc-functions/c16rtomb.texi.
3438         * doc/posix-functions/c32rtomb.texi: Renamed from
3439         doc/glibc-functions/c32rtomb.texi.
3440         * doc/posix-functions/mbrtoc16.texi: Renamed from
3441         doc/glibc-functions/mbrtoc16.texi.
3442         * doc/posix-functions/mbrtoc32.texi: Renamed from
3443         doc/glibc-functions/mbrtoc32.texi.
3444         * doc/gnulib.texi: Update.
3445         (Glibc uchar.h): Remove section.
3446         Suggested by Eric Blake.
3447
3448 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
3449
3450         stdnoreturn: port to MSVC better
3451         MSVC standard headers use __declspec(noreturn), so #define noreturn
3452         to empty on that platform.  Reported by Bruno Haible in
3453         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
3454         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
3455         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
3456
3457 2012-02-28  Bruno Haible  <bruno@clisp.org>
3458
3459         doc: Mention new glibc headers and functions.
3460         * doc/glibc-headers/uchar.texi: New file.
3461         * doc/glibc-functions/aligned_alloc.texi: New file.
3462         * doc/glibc-functions/c16rtomb.texi: New file.
3463         * doc/glibc-functions/c32rtomb.texi: New file.
3464         * doc/glibc-functions/clock_adjtime.texi: New file.
3465         * doc/glibc-functions/fanotify_init.texi: New file.
3466         * doc/glibc-functions/fanotify_mark.texi: New file.
3467         * doc/glibc-functions/inet6_opt_append.texi: New file.
3468         * doc/glibc-functions/inet6_opt_find.texi: New file.
3469         * doc/glibc-functions/inet6_opt_finish.texi: New file.
3470         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
3471         * doc/glibc-functions/inet6_opt_init.texi: New file.
3472         * doc/glibc-functions/inet6_opt_next.texi: New file.
3473         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
3474         * doc/glibc-functions/inet6_rth_add.texi: New file.
3475         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
3476         * doc/glibc-functions/inet6_rth_init.texi: New file.
3477         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
3478         * doc/glibc-functions/inet6_rth_segments.texi: New file.
3479         * doc/glibc-functions/inet6_rth_space.texi: New file.
3480         * doc/glibc-functions/login.texi: New file.
3481         * doc/glibc-functions/mbrtoc16.texi: New file.
3482         * doc/glibc-functions/mbrtoc32.texi: New file.
3483         * doc/glibc-functions/name_to_handle_at.texi: New file.
3484         * doc/glibc-functions/ntp_gettimex.texi: New file.
3485         * doc/glibc-functions/open_by_handle_at.texi: New file.
3486         * doc/glibc-functions/prlimit.texi: New file.
3487         * doc/glibc-functions/process_vm_readv.texi: New file.
3488         * doc/glibc-functions/process_vm_writev.texi: New file.
3489         * doc/glibc-functions/recvmmsg.texi: New file.
3490         * doc/glibc-functions/scandirat.texi: New file.
3491         * doc/glibc-functions/sendmmsg.texi: New file.
3492         * doc/glibc-functions/setns.texi: New file.
3493         * doc/glibc-functions/timespec_get.texi: New file.
3494         * doc/gnulib.texi: Include them.
3495         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
3496         sections.
3497         Reported by Eric Blake.
3498
3499 2012-02-28  Bruno Haible  <bruno@clisp.org>
3500
3501         Avoid compilation errors with MSVC option -fp:strict.
3502         * lib/floor.c: Use MSVC specific pragma fenv_access.
3503         * lib/ceil.c: Likewise.
3504         * lib/trunc.c: Likewise.
3505         * lib/round.c: Likewise.
3506         * lib/rint.c: Likewise.
3507         * lib/fma.c: Likewise.
3508         * lib/integer_length.c: Likewise.
3509         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3510         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3511         * tests/test-floor2.c: Likewise.
3512         * tests/test-floorf2.c: Likewise.
3513         * tests/test-ceil2.c: Likewise.
3514         * tests/test-ceilf2.c: Likewise.
3515         * tests/test-trunc2.c: Likewise.
3516         * tests/test-truncf2.c: Likewise.
3517         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3518
3519 2012-02-27  Bruno Haible  <bruno@clisp.org>
3520
3521         Tests for module 'sqrtl-ieee'.
3522         * modules/sqrtl-ieee-tests: New file.
3523         * tests/test-sqrtl-ieee.c: New file.
3524
3525         New module 'sqrtl-ieee'.
3526         * modules/sqrtl-ieee: New file.
3527
3528         Tests for module 'sqrt-ieee'.
3529         * modules/sqrt-ieee-tests: New file.
3530         * tests/test-sqrt-ieee.c: New file.
3531
3532         New module 'sqrt-ieee'.
3533         * modules/sqrt-ieee: New file.
3534
3535         Tests for module 'sqrtf-ieee'.
3536         * modules/sqrtf-ieee-tests: New file.
3537         * tests/test-sqrtf-ieee.c: New file.
3538         * tests/test-sqrt-ieee.h: New file.
3539
3540         New module 'sqrtf-ieee'.
3541         * modules/sqrtf-ieee: New file.
3542
3543 2012-02-27  Bruno Haible  <bruno@clisp.org>
3544
3545         remainderl-ieee: Work around test failure on OSF/1.
3546         * m4/remainderl-ieee.m4: New file.
3547         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
3548         present, test whether remainderl works with a zero second argument.
3549         Replace it if not.
3550         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
3551         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
3552         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
3553         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
3554         (Depends-on): Update conditions.
3555         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
3556         (Depends-on): Add remainder-ieee.
3557         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
3558         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
3559         module.
3560
3561         remainderf-ieee: Work around test failure on OSF/1.
3562         * m4/remainderf-ieee.m4: New file.
3563         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
3564         present, test whether remainderf works with a zero second argument.
3565         Replace it if not.
3566         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
3567         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
3568         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
3569         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
3570         (Depends-on): Update conditions.
3571         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
3572         (Depends-on): Add remainder-ieee.
3573         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
3574         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
3575         module.
3576
3577         remainder-ieee: Work around test failure on OSF/1.
3578         * m4/remainder-ieee.m4: New file.
3579         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
3580         present, test whether remainder works with a zero second argument.
3581         Replace it if not.
3582         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
3583         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
3584         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
3585         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
3586         (Depends-on): Update dependencies.
3587         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
3588         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
3589         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
3590
3591         Tests for module 'remainderl-ieee'.
3592         * modules/remainderl-ieee-tests: New file.
3593         * tests/test-remainderl-ieee.c: New file.
3594
3595         New module 'remainderl-ieee'.
3596         * modules/remainderl-ieee: New file.
3597
3598         Tests for module 'remainder-ieee'.
3599         * modules/remainder-ieee-tests: New file.
3600         * tests/test-remainder-ieee.c: New file.
3601
3602         New module 'remainder-ieee'.
3603         * modules/remainder-ieee: New file.
3604
3605         Tests for module 'remainderf-ieee'.
3606         * modules/remainderf-ieee-tests: New file.
3607         * tests/test-remainderf-ieee.c: New file.
3608         * tests/test-remainder-ieee.h: New file.
3609
3610         New module 'remainderf-ieee'.
3611         * modules/remainderf-ieee: New file.
3612
3613 2012-02-27  Bruno Haible  <bruno@clisp.org>
3614
3615         modff, modfl: Fix configure syntax error.
3616         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
3617         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3618
3619 2012-02-27  Bruno Haible  <bruno@clisp.org>
3620
3621         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
3622         * m4/fmodl-ieee.m4: New file.
3623         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
3624         whether fmodl works with zero arguments. Replace it if not.
3625         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
3626         (Depends-on): Add fmod-ieee.
3627         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
3628         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
3629
3630         fmodf-ieee: Work around test failure on OSF/1.
3631         * m4/fmodf-ieee.m4: New file.
3632         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
3633         whether fmodf works with zero arguments. Replace it if not.
3634         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
3635         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
3636         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
3637         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
3638         (Depends-on): Update dependencies.
3639         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
3640         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
3641         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
3642
3643         fmodf-ieee: Work around test failure on MSVC 9.
3644         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
3645         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
3646
3647         fmod-ieee: Work around test failures on OSF/1, mingw.
3648         * m4/fmod-ieee.m4: New file.
3649         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
3650         whether fmod works with zero arguments. Replace it if not.
3651         * lib/math.in.h (fmod): New declaration.
3652         * lib/fmod.c: New file.
3653         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
3654         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
3655         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
3656         * modules/fmod (Files): Add lib/fmod.c.
3657         (Depends-on): Add math, isinf, trunc, fma.
3658         (configure.ac): Arrange to compile lib/fmod.c if needed.
3659         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
3660         m4/signbit.m4.
3661         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
3662         * tests/test-math-c++.cc: Check the declaration of fmod.
3663         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
3664
3665         fmodl-ieee: Fix test failures.
3666         * lib/fmodl.c (fmodl): Treat Inf specially.
3667         * modules/fmodl (Depends-on): Add isinf.
3668
3669         Tests for module 'fmodl-ieee'.
3670         * modules/fmodl-ieee-tests: New file.
3671         * tests/test-fmodl-ieee.c: New file.
3672
3673         New module 'fmodl-ieee'.
3674         * modules/fmodl-ieee: New file.
3675
3676         Tests for module 'fmod-ieee'.
3677         * modules/fmod-ieee-tests: New file.
3678         * tests/test-fmod-ieee.c: New file.
3679
3680         New module 'fmod-ieee'.
3681         * modules/fmod-ieee: New file.
3682
3683         Tests for module 'fmodf-ieee'.
3684         * modules/fmodf-ieee-tests: New file.
3685         * tests/test-fmodf-ieee.c: New file.
3686         * tests/test-fmod-ieee.h: New file.
3687
3688         New module 'fmodf-ieee'.
3689         * modules/fmodf-ieee: New file.
3690
3691 2012-02-27  Bruno Haible  <bruno@clisp.org>
3692
3693         Tests for module 'rintl-ieee'.
3694         * modules/rintl-ieee-tests: New file.
3695         * tests/test-rintl-ieee.c: New file.
3696
3697         New module 'rintl-ieee'.
3698         * modules/rintl-ieee: New file.
3699
3700         Tests for module 'rint-ieee'.
3701         * modules/rint-ieee-tests: New file.
3702         * tests/test-rint-ieee.c: New file.
3703
3704         New module 'rint-ieee'.
3705         * modules/rint-ieee: New file.
3706
3707         Tests for module 'rintf-ieee'.
3708         * modules/rintf-ieee-tests: New file.
3709         * tests/test-rintf-ieee.c: New file.
3710         * tests/test-rint-ieee.h: New file.
3711
3712         New module 'rintf-ieee'.
3713         * modules/rintf-ieee: New file.
3714
3715 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
3716
3717         regex: re_search etc. should return -2 when memory exhausted
3718         This bug was uncovered when testing 'grep'.  Without the fix,
3719         re_search and friends return -1 when memory is exhausted, but -1
3720         means no match, and this causes grep to falsely report no-match
3721         instead of memory-exhaustion.  See
3722         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
3723         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
3724         trouble; this can occur if re_search_internal ran out of memory.
3725
3726 2012-02-26  Bruno Haible  <bruno@clisp.org>
3727
3728         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
3729         * m4/modfl-ieee.m4: New file.
3730         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
3731         whether modfl works with Inf. Replace it if not.
3732         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
3733         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
3734         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
3735         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
3736         (Depends-on): Update dependencies.
3737         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
3738         m4/signbit.m4.
3739         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
3740         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
3741
3742         modfl-ieee: Fix dependencies.
3743         * modules/modfl-ieee (Depends-on): Add modf-ieee.
3744
3745         modfl-ieee: Fix test failures.
3746         * lib/modfl.c (modfl): Treat NaN and Inf specially.
3747         * modules/modfl (Depends-on): Add isfinite, isinf.
3748
3749         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
3750         * m4/modff-ieee.m4: New file.
3751         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
3752         whether modff works with NaN and Inf. Replace it if not.
3753         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
3754         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
3755         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
3756         * modules/modff (configure.ac): Consider REPLACE_MODFF.
3757         (Depends-on): Update dependencies.
3758         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
3759         m4/signbit.m4.
3760         (Depends-on): Add modf-ieee.
3761         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
3762         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
3763
3764         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
3765         * m4/modf-ieee.m4: New file.
3766         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
3767         whether modf works with NaN and Inf. Replace it if not.
3768         * lib/math.in.h (modf): New declaration.
3769         * lib/modf.c: New file.
3770         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
3771         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
3772         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
3773         * modules/modf (Files): Add lib/modf.c.
3774         (Depends-on): Add math, isfinite, trunc, isinf.
3775         (configure.ac): Addrange to compile lib/modf.c if needed.
3776         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
3777         m4/signbit.m4.
3778         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
3779         * tests/test-math-c++.cc: Check the declaration of modf.
3780         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
3781
3782         Tests for module 'modfl-ieee'.
3783         * modules/modfl-ieee-tests: New file.
3784         * tests/test-modfl-ieee.c: New file.
3785
3786         New module 'modfl-ieee'.
3787         * modules/modfl-ieee: New file.
3788
3789         Tests for module 'modf-ieee'.
3790         * modules/modf-ieee-tests: New file.
3791         * tests/test-modf-ieee.c: New file.
3792
3793         New module 'modf-ieee'.
3794         * modules/modf-ieee: New file.
3795
3796         Tests for module 'modff-ieee'.
3797         * modules/modff-ieee-tests: New file.
3798         * tests/test-modff-ieee.c: New file.
3799         * tests/test-modf-ieee.h: New file.
3800
3801         New module 'modff-ieee'.
3802         * modules/modff-ieee: New file.
3803
3804 2012-02-26  Bruno Haible  <bruno@clisp.org>
3805
3806         Tests for module 'fabsl-ieee'.
3807         * modules/fabsl-ieee-tests: New file.
3808         * tests/test-fabsl-ieee.c: New file.
3809
3810         New module 'fabsl-ieee'.
3811         * modules/fabsl-ieee: New file.
3812
3813         Tests for module 'fabs-ieee'.
3814         * modules/fabs-ieee-tests: New file.
3815         * tests/test-fabs-ieee.c: New file.
3816
3817         New module 'fabs-ieee'.
3818         * modules/fabs-ieee: New file.
3819
3820         Tests for module 'fabsf-ieee'.
3821         * modules/fabsf-ieee-tests: New file.
3822         * tests/test-fabsf-ieee.c: New file.
3823         * tests/test-fabs-ieee.h: New file.
3824
3825         New module 'fabsf-ieee'.
3826         * modules/fabsf-ieee: New file.
3827
3828 2012-02-26  Bruno Haible  <bruno@clisp.org>
3829
3830         Tests for module 'fmal-ieee'.
3831         * modules/fmal-ieee-tests: New file.
3832         * tests/test-fmal-ieee.c: New file.
3833
3834         New module 'fmal-ieee'.
3835         * modules/fmal-ieee: New file.
3836
3837         Tests for module 'fma-ieee'.
3838         * modules/fma-ieee-tests: New file.
3839         * tests/test-fma-ieee.c: New file.
3840
3841         New module 'fma-ieee'.
3842         * modules/fma-ieee: New file.
3843
3844         Tests for module 'fmaf-ieee'.
3845         * modules/fmaf-ieee-tests: New file.
3846         * tests/test-fmaf-ieee.c: New file.
3847         * tests/test-fma-ieee.h: New file.
3848
3849         New module 'fmaf-ieee'.
3850         * modules/fmaf-ieee: New file.
3851
3852 2012-02-26  Bruno Haible  <bruno@clisp.org>
3853
3854         Tests for module 'ldexpl-ieee'.
3855         * modules/ldexpl-ieee-tests: New file.
3856         * tests/test-ldexpl-ieee.c: New file.
3857
3858         New module 'ldexpl-ieee'.
3859         * modules/ldexpl-ieee: New file.
3860
3861         Tests for module 'ldexp-ieee'.
3862         * modules/ldexp-ieee-tests: New file.
3863         * tests/test-ldexp-ieee.c: New file.
3864
3865         New module 'ldexp-ieee'.
3866         * modules/ldexp-ieee: New file.
3867
3868         Tests for module 'ldexpf-ieee'.
3869         * modules/ldexpf-ieee-tests: New file.
3870         * tests/test-ldexpf-ieee.c: New file.
3871         * tests/test-ldexp-ieee.h: New file.
3872
3873         New module 'ldexpf-ieee'.
3874         * modules/ldexpf-ieee: New file.
3875
3876 2012-02-26  Bruno Haible  <bruno@clisp.org>
3877
3878         Refactor frexp*-ieee tests.
3879         * tests/test-frexp-ieee.h: New file.
3880         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
3881         (main): Just call test_function.
3882         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
3883         (main): Just call test_function.
3884         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
3885         (main): Just call test_function.
3886         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
3887         * modules/frexp-ieee-tests (Files): Likewise.
3888         * modules/frexpl-ieee-tests (Files): Likewise.
3889
3890         Tests for module 'frexpl-ieee'.
3891         * modules/frexpl-ieee-tests: New file.
3892         * tests/test-frexpl-ieee.c: New file.
3893
3894         New module 'frexpl-ieee'.
3895         * modules/frexpl-ieee: New file.
3896
3897         Tests for module 'frexp-ieee'.
3898         * modules/frexp-ieee-tests: New file.
3899         * tests/test-frexp-ieee.c: New file.
3900
3901         New module 'frexp-ieee'.
3902         * modules/frexp-ieee: New file.
3903
3904         Tests for module 'frexpf-ieee'.
3905         * modules/frexpf-ieee-tests: New file.
3906         * tests/test-frexpf-ieee.c: New file.
3907
3908         New module 'frexpf-ieee'.
3909         * modules/frexpf-ieee: New file.
3910
3911 2012-02-26  Bruno Haible  <bruno@clisp.org>
3912
3913         roundl-ieee tests: More tests.
3914         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3915         (main): Add tests for [MX] shaded specification in POSIX.
3916         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3917         (Depends-on): Add isnanl-nolibm.
3918
3919         round-ieee tests: More tests.
3920         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3921         (main): Add tests for [MX] shaded specification in POSIX.
3922         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3923         (Depends-on): Add isnand-nolibm.
3924
3925         roundf-ieee tests: More tests.
3926         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3927         (main): Add tests for [MX] shaded specification in POSIX.
3928         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3929         (Depends-on): Add isnanf-nolibm.
3930
3931         truncl-ieee tests: More tests.
3932         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3933         (main): Add tests for [MX] shaded specification in POSIX.
3934         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3935         (Depends-on): Add isnanl-nolibm.
3936
3937         trunc-ieee tests: More tests.
3938         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3939         (main): Add tests for [MX] shaded specification in POSIX.
3940         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3941         (Depends-on): Add isnand-nolibm.
3942
3943         truncf-ieee tests: More tests.
3944         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3945         (main): Add tests for [MX] shaded specification in POSIX.
3946         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3947         (Depends-on): Add isnanf-nolibm.
3948
3949         ceill-ieee tests: More tests.
3950         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3951         (main): Add tests for [MX] shaded specification in POSIX.
3952         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3953         (Depends-on): Add isnanl-nolibm.
3954
3955         ceil-ieee tests: More tests.
3956         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3957         (main): Add tests for [MX] shaded specification in POSIX.
3958         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3959         (Depends-on): Add isnand-nolibm.
3960
3961         ceilf-ieee tests: More tests.
3962         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3963         (main): Add tests for [MX] shaded specification in POSIX.
3964         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3965         (Depends-on): Add isnanf-nolibm.
3966
3967         floorl-ieee tests: More tests.
3968         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3969         (main): Add tests for [MX] shaded specification in POSIX.
3970         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3971         (Depends-on): Add isnanl-nolibm.
3972
3973         floor-ieee tests: More tests.
3974         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3975         (main): Add tests for [MX] shaded specification in POSIX.
3976         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3977         (Depends-on): Add isnand-nolibm.
3978
3979         floorf-ieee tests: More tests.
3980         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3981         (main): Add tests for [MX] shaded specification in POSIX.
3982         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3983         (Depends-on): Add isnanf-nolibm.
3984
3985 2012-02-26  Bruno Haible  <bruno@clisp.org>
3986
3987         fpieee: More comments.
3988         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
3989
3990 2012-02-25  Bruno Haible  <bruno@clisp.org>
3991
3992         Tests for module 'log10l'.
3993         * modules/log10l-tests: New file.
3994         * tests/test-log10l.c: New file.
3995         * tests/test-math-c++.cc: Check the declaration of log10l.
3996
3997         New module 'log10l'.
3998         * lib/math.in.h (log10l): New declaration.
3999         * lib/log10l.c: New file.
4000         * m4/log10l.m4: New file.
4001         * modules/log10l: New file.
4002         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
4003         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
4004         HAVE_DECL_LOG10L.
4005         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
4006         HAVE_DECL_LOG10L.
4007         * doc/posix-functions/log10l.texi: Mention the new module.
4008
4009 2012-02-25  Bruno Haible  <bruno@clisp.org>
4010
4011         fmodl, remainder*: Avoid wrong results due to rounding errors.
4012         * lib/fmodl.c (fmodl): Correct the result if it is not within the
4013         expected bounds.
4014         * lib/remainderf.c (remainderf): Likewise.
4015         * lib/remainder.c (remainder): Likewise.
4016         * lib/remainderl.c (remainderl): Likewise.
4017
4018 2012-02-25  Bruno Haible  <bruno@clisp.org>
4019
4020         Tests for module 'remainderl'.
4021         * modules/remainderl-tests: New file.
4022         * tests/test-remainderl.c: New file.
4023         * tests/test-math-c++.cc: Check the declaration of remainderl.
4024
4025         New module 'remainderl'.
4026         * lib/math.in.h (remainderl): New declaration.
4027         * lib/remainderl.c: New file.
4028         * m4/remainderl.m4: New file.
4029         * modules/remainderl: New file.
4030         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
4031         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
4032         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
4033         HAVE_REMAINDERL.
4034         * doc/posix-functions/remainderl.texi: Mention the new module.
4035
4036 2012-02-25  Bruno Haible  <bruno@clisp.org>
4037
4038         Tests for module 'remainderf'.
4039         * modules/remainderf-tests: New file.
4040         * tests/test-remainderf.c: New file.
4041         * tests/test-math-c++.cc: Check the declaration of remainderf.
4042
4043         New module 'remainderf'.
4044         * lib/math.in.h (remainderf): New declaration.
4045         * lib/remainderf.c: New file.
4046         * m4/remainderf.m4: New file.
4047         * modules/remainderf: New file.
4048         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
4049         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
4050         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
4051         HAVE_REMAINDERF.
4052         * doc/posix-functions/remainderf.texi: Mention the new module.
4053
4054 2012-02-25  Bruno Haible  <bruno@clisp.org>
4055
4056         remainder: Support for MSVC.
4057         * lib/math.in.h (remainder): New declaration.
4058         * lib/remainder.c: New file.
4059         * m4/remainder.m4: New file.
4060         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
4061         (Depends-on): Add math, round, fma.
4062         (configure.ac): Use results of gl_FUNC_REMAINDER.
4063         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
4064         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
4065         HAVE_DECL_REMAINDER.
4066         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
4067         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
4068         * tests/test-math-c++.cc: Check the declaration of remainder.
4069         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
4070         problems are fixed.
4071
4072 2012-02-25  Bruno Haible  <bruno@clisp.org>
4073
4074         Tests for module 'fmodl'.
4075         * modules/fmodl-tests: New file.
4076         * tests/test-fmodl.c: New file.
4077         * tests/test-math-c++.cc: Check the declaration of fmodl.
4078
4079         New module 'fmodl'.
4080         * lib/math.in.h (fmodl): New declaration.
4081         * lib/fmodl.c: New file.
4082         * m4/fmodl.m4: New file.
4083         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
4084         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
4085         REPLACE_FMODL.
4086         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
4087         REPLACE_FMODL.
4088         * modules/fmodl: New file.
4089         * doc/posix-functions/fmodl.texi: Mention the new module.
4090
4091 2012-02-25  Bruno Haible  <bruno@clisp.org>
4092
4093         Tests for module 'modfl'.
4094         * modules/modfl-tests: New file.
4095         * tests/test-modfl.c: New file.
4096         * tests/test-math-c++.cc: Check the declaration of modfl.
4097
4098         New module 'modfl'.
4099         * lib/math.in.h (modfl): New declaration.
4100         * lib/modfl.c: New file.
4101         * m4/modfl.m4: New file.
4102         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
4103         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
4104         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
4105         * modules/modfl: New file.
4106         * doc/posix-functions/modfl.texi: Mention the new module.
4107
4108 2012-02-25  Bruno Haible  <bruno@clisp.org>
4109
4110         Tests for module 'fabsl'.
4111         * modules/fabsl-tests: New file.
4112         * tests/test-fabsl.c: New file.
4113         * tests/test-math-c++.cc: Check the declaration of fabsl.
4114
4115         New module 'fabsl'.
4116         * lib/math.in.h (fabsl): New declaration.
4117         * lib/fabsl.c: New file.
4118         * m4/fabsl.m4: New file.
4119         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
4120         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
4121         REPLACE_FABSL.
4122         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
4123         REPLACE_FABSL.
4124         * modules/fabsl: New file.
4125         * doc/posix-functions/fabsl.texi: Mention the new module.
4126
4127 2012-02-25  Bruno Haible  <bruno@clisp.org>
4128
4129         fabs tests: More tests.
4130         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
4131         (zero): New variable.
4132         (main): Add tests for signed zero.
4133         * modules/fabs-tests (Files): Add tests/minus-zero.h.
4134
4135         fabsf tests: More tests.
4136         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
4137         (zero): New variable.
4138         (main): Add tests for signed zero.
4139         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
4140
4141 2012-02-24  Bruno Haible  <bruno@clisp.org>
4142
4143         atanl: Provide function definition on MSVC.
4144         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
4145         function pointer.
4146         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
4147
4148 2012-02-24  Bruno Haible  <bruno@clisp.org>
4149
4150         acosl: Provide function definition on MSVC.
4151         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
4152         function pointer.
4153         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
4154
4155 2012-02-24  Bruno Haible  <bruno@clisp.org>
4156
4157         asinl: Provide function definition on MSVC.
4158         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
4159         function pointer.
4160         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
4161
4162 2012-02-24  Bruno Haible  <bruno@clisp.org>
4163
4164         tanl: Provide function definition on MSVC.
4165         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
4166         function pointer.
4167         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
4168
4169 2012-02-24  Bruno Haible  <bruno@clisp.org>
4170
4171         cosl: Provide function definition on MSVC.
4172         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
4173         function pointer.
4174         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
4175
4176 2012-02-24  Bruno Haible  <bruno@clisp.org>
4177
4178         sinl: Provide function definition on MSVC.
4179         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
4180         function pointer.
4181         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
4182
4183 2012-02-24  Bruno Haible  <bruno@clisp.org>
4184
4185         logl: Provide function definition on MSVC.
4186         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
4187         function pointer.
4188         * lib/math.in.h (logl): Undefine if it does not exist as a function.
4189
4190 2012-02-24  Bruno Haible  <bruno@clisp.org>
4191
4192         expl: Provide function definition on MSVC.
4193         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
4194         function pointer.
4195         * lib/math.in.h (expl): Undefine if it does not exist as a function.
4196
4197 2012-02-24  Bruno Haible  <bruno@clisp.org>
4198
4199         sqrtl: Provide function definition on MSVC.
4200         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
4201         a function pointer.
4202         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
4203
4204 2012-02-24  Bruno Haible  <bruno@clisp.org>
4205
4206         ceill: Provide function definition on MSVC.
4207         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
4208         used as a function pointer.
4209         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
4210
4211 2012-02-24  Bruno Haible  <bruno@clisp.org>
4212
4213         floorl: Provide function definition on MSVC.
4214         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
4215         used as a function pointer.
4216         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
4217
4218 2012-02-24  Bruno Haible  <bruno@clisp.org>
4219
4220         ceilf: Provide function definition on MSVC.
4221         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
4222         used as a function pointer.
4223         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
4224
4225 2012-02-24  Bruno Haible  <bruno@clisp.org>
4226
4227         floorf: Provide function definition on MSVC.
4228         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
4229         used as a function pointer.
4230         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
4231
4232 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
4233
4234         stdnoreturn: new module
4235         This implements a replacement for C11's <stdnoreturn.h>.
4236         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
4237         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
4238         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
4239         * tests/test-stdnoreturn.c: New files.
4240
4241 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
4242
4243         regex: fix false multibyte matches in some regular expressions
4244         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
4245         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
4246         * lib/regex_internal.c (re_string_skip_chars):
4247         Fix miscomputation of remain_len that may cause incomplete
4248         multi-byte character and false match.
4249
4250 2012-02-24  Jim Meyering  <meyering@redhat.com>
4251
4252         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
4253         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
4254         uses with "==" *before* the call, e.g., 0 == strcmp (...)
4255         Remove now-unnecessary str''cmp obfuscation.
4256         Suggested by Akim Demaille.
4257
4258 2012-02-24  Bruno Haible  <bruno@clisp.org>
4259
4260         streq: Rename macro.
4261         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
4262         * NEWS: Mention the change.
4263         * lib/mbrtowc.c (mbrtowc): Update.
4264         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
4265         * lib/wcwidth.c (wcwidth): Update.
4266         Suggested by Akim Demaille and Jim Meyering.
4267
4268 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
4269
4270         regex: fix typo in definition of MIN
4271         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
4272         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
4273
4274 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
4275             Bruno Haible  <bruno@clisp.org>
4276
4277         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
4278         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
4279         entries into a stack-allocated buffer directly.
4280         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
4281
4282 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
4283             Bruno Haible  <bruno@clisp.org>
4284
4285         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
4286
4287          - There were several instances of this pattern:
4288
4289              for (;;) {
4290                n = acl (f, GETACLCNT, 0, NULL);
4291                [ allocate an array A of size N ]
4292                if (acl (f, GETACL, n, a) == n)
4293                  break;
4294              }
4295
4296            This loop might never terminate if some other process is constantly
4297            manipulating the file's ACL.  The loop should be rewritten to
4298            terminate.
4299
4300          - The acl (... GETACLNT ...) call is merely an optimization; its value
4301            is merely a hint as to how big to make the array.  A better
4302            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
4303            and just guess a reasonably-big size, growing the size and trying
4304            again if it's not large enough.  This guarantees termination, and
4305            saves a system call.
4306
4307         * lib/acl-internal.h: Include <limits.h>.
4308         (MIN, SIZE_MAX): New macros.
4309         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
4310         a stack-allocated buffer, and use malloc if it does not fit. Don't
4311         use GETACLCNT.
4312         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
4313
4314 2012-02-19  Bruno Haible  <bruno@clisp.org>
4315
4316         acl: Fix endless loop on Solaris with vxfs.
4317         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
4318         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
4319         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
4320         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
4321         * tests/test-sameacls.c (main)[Solaris]: Likewise.
4322         Reported by Bill Jones in
4323         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
4324
4325 2012-02-19  Bruno Haible  <bruno@clisp.org>
4326
4327         acl: Fix copy-acl test failure on Solaris 11 2011-11.
4328         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
4329         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
4330         that this function returns 0 in some more cases.
4331
4332 2012-02-19  Bruno Haible  <bruno@clisp.org>
4333
4334         acl: Update doc references.
4335         * doc/acl-resources.txt: Update links to Solaris documentation.
4336
4337 2012-02-19  Bruno Haible  <bruno@clisp.org>
4338
4339         Fix test failure in many locales on Solaris 11.
4340         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
4341         'tr' arguments.
4342         * tests/test-pipe-filter-ii1.c (main): Likewise.
4343         * build-aux/bootstrap (check_versions): Run 'tr' command with range
4344         expressions in the C locale.
4345         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
4346         * m4/host-os.m4 (gl_HOST_OS): Likewise.
4347
4348 2012-02-19  Bruno Haible  <bruno@clisp.org>
4349
4350         gnulib-tool: Improve usage message.
4351         * gnulib-tool (func_usage): Move doc of --help and --version to the
4352         section "Operation modes".
4353
4354 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
4355
4356         README-release: make it easier to execute commands
4357         * top/README-release: break commands out on to separate lines.
4358
4359 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
4360
4361         GNUmakefile: simplify detection of unconfigured trees
4362         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
4363         whether the tree make is being run from is already configured or
4364         not.  Related simplifications.
4365
4366 2012-02-13  Simon Josefsson  <simon@josefsson.org>
4367
4368         * gnulib-tool (func_usage): Document --help and --version.
4369
4370 2012-02-11  Jim Meyering  <meyering@redhat.com>
4371
4372         bootstrap: don't exit 0 upon gnulib-tool failure
4373         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
4374         its exit status, not 0.
4375
4376 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
4377
4378         README-release: various improvements
4379         * top/README-release: Give a command to push changes for the
4380         release.  Add "distcheck" to list of other pre-release checks.
4381         Fix instance of "make stable" which should be "make TYPE".
4382
4383 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
4384
4385         maint: replace FSF snail-mail addresses with URLs
4386         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
4387         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
4388         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
4389         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
4390         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
4391         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
4392         * lib/check-version.c, lib/check-version.h, lib/config.charset:
4393         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
4394         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
4395         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
4396         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
4397         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
4398         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
4399         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
4400         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
4401         * lib/glthread/thread.c, lib/glthread/thread.h:
4402         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
4403         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
4404         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
4405         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
4406         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
4407         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
4408         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
4409         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
4410         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
4411         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
4412         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
4413         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
4414         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
4415         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
4416         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
4417         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
4418         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
4419         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
4420         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
4421         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
4422         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
4423         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
4424         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
4425         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
4426         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
4427         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
4428         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
4429         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
4430         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
4431         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
4432         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
4433         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
4434         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
4435         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
4436         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
4437         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
4438         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
4439         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
4440         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
4441         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
4442         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
4443         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
4444         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
4445         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
4446         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
4447         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
4448         * tests/test-poll.c, tests/test-quotearg-simple.c:
4449         * tests/test-quotearg.c, tests/test-quotearg.h:
4450         * tests/test-round-ieee.c, tests/test-round1.c:
4451         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
4452         * tests/test-roundl-ieee.c, tests/test-roundl.c:
4453         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
4454         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
4455         * tests/test-strerror.c, tests/test-strerror_r.c:
4456         * tests/test-strsignal.c, tests/test-strverscmp.c:
4457         * tests/test-xmemdup0.c:
4458         Replace FSF snail mail addresses with URLs, as per GNU coding
4459         standards.  See glibc bug
4460         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
4461
4462 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
4463
4464         README-release: capitalize a word and split a line
4465         * top/README-release: Fix punctuation and spacing.
4466
4467 2012-02-08  Akim Demaille  <demaille@gostai.com>
4468
4469         fatal-signal: use C prototypes (with explicit void).
4470         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
4471         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
4472
4473 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
4474
4475         regex: spelling fix
4476         * lib/regexec.c: spelling fix
4477
4478         regex: rely on stdint.h for SIZE_MAX
4479         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
4480
4481 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
4482
4483         regex: merge glibc changes
4484
4485         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
4486         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
4487         (init_word_char): Work even if bitset words are not exactly 32 or
4488         64 bits wide.  Don't assume there are no padding bits.
4489         * lib/regex.c [_LIBC]: Do not include <config.h>.
4490         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
4491         and -Wtype-limits.
4492         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
4493         needless disagreement with glibc.  All uses changed.  Define it to
4494         1 only if _GNU_SOURCE, to match glibc.
4495         (_REG_RM_NAME): Remove; no longer needed, since the names in
4496         question are now all protected by __USE_GNU.
4497         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
4498         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
4499         * lib/regex_internal.h (MIN): New macro.
4500
4501         2012-01-03 Ulrich Drepper <drepper@gmail.com>
4502         * lib/regcomp.c (init_word_char): Optimize regex a bit.
4503
4504         2011-12-30 Jakub Jelinek <jakub@redhat.com>
4505         * lib/regex_internal.c (re_string_fetch_byte_case):
4506         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
4507         is miscompiled, and it turns out it is because of an incorrect
4508         attribute on re_string_fetch_byte_case.  Unlike
4509         re_string_peek_byte_case, this one is really not pure, it modifies
4510         memory (increments pstr->cur_idx), and with the pure attribute GCC
4511         assumed it doesn't and it cached the presumed value of
4512         regexp->cur_idx in a variable across the
4513          for (;; ++i)
4514            {
4515              if (i >= BRACKET_NAME_BUF_SIZE)
4516                return REG_EBRACK;
4517              if (token->type == OP_OPEN_CHAR_CLASS)
4518                ch = re_string_fetch_byte_case (regexp);
4519              else
4520                ch = re_string_fetch_byte (regexp);
4521              if (re_string_eoi(regexp))
4522                return REG_EBRACK;
4523              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
4524                break;
4525              elem->opr.name[i] = ch;
4526            }
4527
4528         2011-11-29 Andreas Schwab <schwab@redhat.com>
4529         * lib/regcomp.c (build_equiv_class):
4530         Fix access after end of search string in regex matcher.
4531
4532         2011-11-12 Ulrich Drepper <drepper@redhat.com>
4533         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
4534
4535         2011-10-12 Ulrich Drepper <drepper@redhat.com>
4536         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
4537
4538         2011-10-11 Ulrich Drepper <drepper@redhat.com>
4539         * lib/regcomp.c (parse_branch, parse_sub_exp):
4540         More regex memory leak fixes and tests.
4541         (parse_sub_exp, parse_bracket_exp):
4542         Fix memory leak for some invalid regular expressions.
4543
4544         2011-05-28 Ulrich Drepper <drepper@gmail.com>
4545         * lib/regex_internal.c, lib/regexec.c:
4546         Fix unnecessary overallocation due to incomplete character.  When
4547         incomplete characters are found at the end of a string the code
4548         ran amok and allocated lots of memory.  Stricter limits are now in
4549         place.
4550
4551         2011-05-20 Reuben Thomas <rrt@sc3d.org>
4552         * lib/regex.h: Update documentation.
4553
4554         2011-05-16 Aharon Robbins <arnold@skeeve.com>
4555         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
4556
4557         2010-05-05 Andreas Schwab <schwab@redhat.com>
4558         * lib/regexec.c (find_collation_sequence_value):
4559         Fix lookup of collation sequence value during regexp matching.
4560
4561         2010-01-22 Ulrich Drepper <drepper@redhat.com>
4562         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
4563
4564         2008-01-16 Ulrich Drepper <drepper@redhat.com>
4565         * lib/regex.h: Cleanup namespace.
4566
4567         2007-11-26 Ulrich Drepper <drepper@redhat.com>
4568         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
4569
4570         2007-08-26 Ulrich Drepper <drepper@redhat.com>
4571         * lib/regex_internal.h: Prevent some declarations and definitions
4572         to be seen when used in tests.
4573
4574         2005-05-06 Ulrich Drepper <drepper@redhat.com>
4575         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
4576         __libc_lock_* macros if not _LIBC.
4577         (struct re_dfa_t): Add lock.
4578
4579 2012-02-07  Eric Blake  <eblake@redhat.com>
4580
4581         maint.mk: also prohibit lower-case @var@
4582         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
4583         lower case, like @top_srcdir@.
4584
4585 2012-02-04  Eric Blake  <eblake@redhat.com>
4586
4587         canonicalize: avoid uninitialized memory use
4588         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
4589         random '/' left in dest.
4590         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
4591
4592 2012-02-04  Bruno Haible  <bruno@clisp.org>
4593
4594         isatty: Fix test failure of ptsname_r on native Windows.
4595         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
4596         and don't set errno.
4597         (isatty): Test first whether fd is valid. Set errno when returning 0.
4598
4599 2012-02-04  Bruno Haible  <bruno@clisp.org>
4600
4601         spawn-pipe tests: Fix a NULL program name in a diagnostic.
4602         * tests/test-spawn-pipe-main.c: Include progname.h.
4603         (main): Invoke set_program_name.
4604         * modules/spawn-pipe-tests (Depends-on): Add progname.
4605
4606         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
4607         * tests/test-nonblocking-socket-main.c: Include progname.h.
4608         (main): Invoke set_program_name.
4609         * modules/nonblocking-socket-tests (Depends-on): Add progname.
4610
4611         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
4612         * tests/test-nonblocking-pipe-main.c: Include progname.h.
4613         (main): Invoke set_program_name.
4614         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
4615
4616 2012-02-04  Eric Blake  <eblake@redhat.com>
4617
4618         canonicalize-lgpl: fix // handling
4619         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
4620
4621         canonicalize: fix // handling
4622         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
4623         /// to //, since only // is special.
4624
4625 2012-02-04  Bruno Haible  <bruno@clisp.org>
4626
4627         ioctl: Fix test failure on native Windows.
4628         * lib/ioctl.c: Include msvc-nothrow.h.
4629         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
4630
4631 2012-02-04  Bruno Haible  <bruno@clisp.org>
4632
4633         fsync: Avoid test failure on native Windows.
4634         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
4635         read-only.
4636
4637 2012-02-04  Bruno Haible  <bruno@clisp.org>
4638
4639         sys_select: Avoid syntax error on OpenBSD 5.0.
4640         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
4641         currently being included, just include the system's <sys/select.h>.
4642
4643 2012-02-04  Bruno Haible  <bruno@clisp.org>
4644
4645         sys_select: Avoid syntax error on OpenBSD 5.0.
4646         * lib/sys_select.in.h: Include <signal.h> only after the include_next
4647         <sys/select.h>, not before.
4648         Reported by Jiri B <jirib@devio.us>.
4649
4650 2012-02-04  Bruno Haible  <bruno@clisp.org>
4651
4652         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
4653         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
4654         global variables.
4655         * tests/test-get-rusage-data.c (main): Likewise.
4656         Reported by Jim Meyering.
4657
4658 2012-02-04  Bruno Haible  <bruno@clisp.org>
4659
4660         stdioext: Fix last commit.
4661         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
4662
4663 2012-02-03  Bruno Haible  <bruno@clisp.org>
4664
4665         stdioext: Add tentative support for Plan9.
4666         * lib/stdio-impl.h: Include <errno.h>.
4667         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
4668         * lib/freadable.c (freadable): Likewise.
4669         * lib/fwritable.c (fwritable): Likewise.
4670         * lib/fbufmode.c (fbufmode): Likewise.
4671         * lib/freading.c (freading): Likewise.
4672         * lib/fwriting.c (fwriting): Likewise.
4673         * lib/freadptr.c (freadptr): Likewise.
4674         * lib/freadseek.c (freadptrinc): Likewise.
4675         * lib/freadahead.c (freadahead): Likewise.
4676         * lib/fpurge.c (fpurge): Likewise.
4677         * lib/fseeko.c (rpl_fseeko): Likewise.
4678         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
4679         Reported by Jens Staal <staal1978@gmail.com>.
4680
4681 2012-02-02  Jim Meyering  <meyering@redhat.com>
4682
4683         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
4684         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
4685         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
4686         not even to try to add the attribute.  Instead, add a pragma to suppress
4687         the suggestion/warning.
4688
4689 2012-01-31  Karl Berry  <karl@gnu.org>
4690
4691         setstate doc: typo.
4692         * doc/posix-functions/setstate.texi (setstate): { not (.
4693
4694 2012-01-31  Bruno Haible  <bruno@clisp.org>
4695
4696         popen: Make more robust on Windows.
4697         * lib/popen.c: On native Windows, use the _popen based code even if
4698         HAVE_POPEN is set.
4699         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
4700         environment variable on native Windows.
4701
4702 2012-01-30  Bruno Haible  <bruno@clisp.org>
4703
4704         pclose: Fix typo.
4705         * lib/stdio.in.h (pclose): Fix typo in warning message.
4706
4707 2012-01-30  Bruno Haible  <bruno@clisp.org>
4708
4709         doc about getlogin_r, setstate.
4710         * doc/posix-functions/getlogin_r.texi: List the incompatible
4711         declaration problem under "not fixed by gnulib".
4712         * doc/posix-functions/setstate.texi: Mention incompatible declaration
4713         problem on Solaris 11 and other platforms.
4714
4715 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
4716             Bruno Haible  <bruno@clisp.org>
4717
4718         poll tests: Make test more robust.
4719         * tests/test-poll.c: Include macros.h.
4720         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
4721         return value of various I/O operations.
4722         * modules/poll-tests (Files): Add tests/macros.h.
4723
4724 2012-01-30  Bruno Haible  <bruno@clisp.org>
4725
4726         sys_stat: Fix support for mingw64 and MSVC.
4727         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
4728         header files already do it.
4729         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
4730         stat itself.
4731         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4732
4733 2012-01-30  Bruno Haible  <bruno@clisp.org>
4734
4735         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
4736         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
4737         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
4738
4739 2012-01-29  Bruno Haible  <bruno@clisp.org>
4740
4741         quotearg: Fix test failure on MacOS X 10.5.
4742         * tests/test-quotearg-simple.c: Include localcharset.h.
4743         (main): If the locale encoding is not ASCII, bypass the tests of
4744         locale_quoting_style and clocale_quoting_style.
4745         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
4746
4747 2012-01-29  Jim Meyering  <meyering@redhat.com>
4748
4749         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
4750         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
4751         detect uses of canonicalize_file_name.
4752
4753 2012-01-28  Bruno Haible  <bruno@clisp.org>
4754
4755         test-framework-sh: Fix test failure with AIX 7.1 diff.
4756         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
4757         in column 1, like 'diff -c' does.
4758         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
4759         whether 'diff -u' is used. Instead, test whether the output contains
4760         some '@' character.
4761
4762 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
4763
4764         strtoimax: eliminate need for stdint.h, inttypes.h checks
4765         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
4766         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
4767         the prerequisites for a recently-introduced strtoimax test.
4768         I guess this might cause strtoimax to be replaced when not
4769         strictly necessary on older hosts, but this shouldn't introduce
4770         any bugs and it should make Emacs 'configure' faster on typical
4771         modern hosts.  Problem discovered when importing the latest gnulib
4772         to an Emacs test version.
4773         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
4774
4775 2012-01-28  Bruno Haible  <bruno@clisp.org>
4776
4777         sys_time: Override 'struct timeval' on some native Windows platforms.
4778         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
4779         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
4780         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
4781         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
4782         needs to be overridden.
4783         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
4784         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
4785         * tests/test-sys_select.c: Check that the tv_sec member has the same
4786         size as a 'time_t'.
4787         * tests/test-sys_time.c: Likewise.
4788         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
4789         is set, set also REPLACE_GETTIMEOFDAY.
4790         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
4791         convert the resulting 'struct timeval' before returning.
4792         * lib/select.c: Include <sys/time.h>.
4793         (select, timeval): Undefine at the right place.
4794         * modules/select (Depends-on): Add sys_time.
4795         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
4796         some Windows platforms.
4797         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4798
4799 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4800
4801         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
4802         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
4803         an integer.
4804         * lib/fcntl.c (dupfd): Likewise.
4805         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
4806
4807 2012-01-28  Bruno Haible  <bruno@clisp.org>
4808
4809         fcntl: Avoid compilation error on native Windows.
4810         * modules/fcntl (Depends-on): Add 'close'.
4811
4812 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4813
4814         select, poll, isatty: Avoid warnings on x86_64 mingw64.
4815         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
4816         pointer to an integer.
4817         * lib/poll.c (IsConsoleHandle): Likewise.
4818         * lib/isatty.c (IsConsoleHandle): Likewise.
4819
4820 2012-01-28  Jim Meyering  <meyering@redhat.com>
4821
4822         doc: clarify README-release
4823         * top/README-release: Clarify: you should make a point to have
4824         the latest stable versions of build tools in your PATH, and the
4825         reference to buildreq is solely for its list of tool names, not
4826         for its minimal-functional version numbers.
4827         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
4828
4829         maint.mk: use more readable (yet functionally equivalent) quoting
4830         It is common to quote a single quote in a single quoted string like
4831         this:  '...'\''...'.  Unless you know the idiom, that looks like
4832         gibberish, so prefer to double-quote the string when possible.
4833         Then you can use a more readable, lone single quote: "...'..."
4834         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
4835         "don't" is more readable than the equivalent 'don'\''t'.
4836         (sc_cast_of_x_alloc_return_value): Likewise.
4837         (sc_cast_of_alloca_return_value): Likewise.
4838         (sc_makefile_path_separator_check): Similar: use ":" in '...',
4839         rather than '\'':'\''.
4840
4841 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
4842
4843         stdalign: relax _Alignof and tighten _Alignas test
4844         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
4845         as it was too strict: alignof must divide offsetof, but it need
4846         not equal offsetof.  Inspired by Joseph S. Myers's comment
4847         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
4848         Conversely, tighten the _Alignas test a bit, as the resulting
4849         alignment must be exactly 8.
4850
4851 2012-01-27  Bruno Haible  <bruno@clisp.org>
4852
4853         stdalign: Document the last change.
4854         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
4855
4856 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
4857
4858         stdalign: check that alignof and offsetof are consistent
4859         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
4860         Problem reported for gnulib by Richard W.M. Jones in
4861         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
4862
4863 2012-01-27  Jim Meyering  <meyering@redhat.com>
4864
4865         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
4866         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
4867         convert a sequence with gaps to the minimal containing range.
4868         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
4869         * tests/test-update-copyright.sh: Test for this.
4870         The FSF confirmed it is ok to do this, assuming there is at
4871         least one significant change per year in the affected range:
4872         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
4873
4874 2012-01-26  Bruno Haible  <bruno@clisp.org>
4875
4876         pipe2: refine doc about thread-safety
4877         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
4878         multithread-safety problem.
4879         * doc/glibc-functions/accept4.texi: Likewise.
4880
4881 2012-01-26  Bruno Haible  <bruno@clisp.org>
4882
4883         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
4884         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
4885         In the test program, include <fcntl.h>, for O_RDONLY.
4886
4887 2012-01-26  Eric Blake  <eblake@redhat.com>
4888
4889         pipe2: document lack of thread-safety in replacement
4890         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
4891         issue in replacement.
4892         * doc/glibc-functions/accept4.texi (accept4): Likewise.
4893         Based on a report by Eric Wong.
4894
4895 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4896             Bruno Haible  <bruno@clisp.org>
4897
4898         malloca: Avoid warnings on x86_64 mingw64.
4899         * lib/malloca.c: Include <stdint.h>.
4900         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
4901         * modules/malloca (Depends-on): Add stdint.
4902         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
4903
4904 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
4905
4906         obstack: remove __STDC__ conditionals
4907         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
4908         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
4909         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
4910         m4/include_next.m4 as the only gnulib-maintained places that still
4911         refer to __STDC__.
4912
4913 2012-01-24  Bruno Haible  <bruno@clisp.org>
4914
4915         havelib: Modern quoting.
4916         * build-aux/config.rpath: Quote 'like this', not `like this', as per
4917         the recent change to the GNU coding standards.
4918
4919 2012-01-24  Bruno Haible  <bruno@clisp.org>
4920
4921         stdint: Improve support for Android.
4922         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
4923         Reported by Simon Josefsson <simon@josefsson.org>.
4924
4925 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4926
4927         doc: omit trailing empty lines from INSTALL etc.
4928         * doc/Makefile (INSTALL): Omit trailing empty lines.
4929         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
4930         omit trailing empty lines.  This simplifies the build procedure.
4931
4932 2012-01-23  Jim Meyering  <meyering@redhat.com>
4933
4934         tests: avoid spurious warnings about gl_sockets_startup
4935         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
4936         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
4937         reporting a "statement with no effect".
4938         * tests/test-accept.c (main): Mark as "(void)".
4939         * tests/test-accept4.c (main): Likewise.
4940         * tests/test-bind.c (main): Likewise.
4941         * tests/test-connect.c (main): Likewise.
4942         * tests/test-getpeername.c (main): Likewise.
4943         * tests/test-getsockname.c (main): Likewise.
4944         * tests/test-getsockopt.c (main): Likewise.
4945         * tests/test-listen.c (main): Likewise.
4946         * tests/test-recv.c (main): Likewise.
4947         * tests/test-recvfrom.c (main): Likewise.
4948         * tests/test-send.c (main): Likewise.
4949         * tests/test-sendto.c (main): Likewise.
4950         * tests/test-setsockopt.c (main): Likewise.
4951         * tests/test-shutdown.c (main): Likewise.
4952
4953 2012-01-21  Bruno Haible  <bruno@clisp.org>
4954
4955         locale-fr.m4: Fix for Android.
4956         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
4957         failure of the test program on Bionic libc.
4958
4959 2012-01-21  Jim Meyering  <meyering@redhat.com>
4960
4961         bootstrap: fail when bootstrap_post_import_hook fails
4962         Otherwise, it's far too easy to miss diagnostics emitted
4963         between gnulib-tool's output and that of running configure.
4964         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
4965
4966 2012-01-17  Jim Meyering  <meyering@redhat.com>
4967
4968         maint: enable sc_trailing_blank
4969         * build-aux/pmccabe.css: Remove trailing blanks.
4970         * doc/acl-cygwin.txt: Likewise.
4971         * doc/gnu-oids.texi: Likewise
4972         * cfg.mk: Enable sc_trailing_blank.
4973         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
4974
4975 2012-01-17  Jim Meyering  <meyering@redhat.com>
4976
4977         maint: enable sc_prohibit_openat_without_use
4978         * cfg.mk: Enable sc_prohibit_openat_without_use.
4979         Exempt lib/selinux-at.c.
4980
4981 2012-01-17  Jim Meyering  <meyering@redhat.com>
4982
4983         maint: enable sc_prohibit_cloexec_without_use
4984         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
4985         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
4986
4987 2012-01-17  Jim Meyering  <meyering@redhat.com>
4988
4989         maint: enable sc_prohibit_intprops_without_use
4990         * cfg.mk: Enable sc_prohibit_intprops_without_use
4991         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
4992
4993 2012-01-17  Jim Meyering  <meyering@redhat.com>
4994
4995         maint: enable sc_prohibit_hash_pjw_without_use
4996         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
4997         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
4998         to match any use of \<hash_pjw\>, i.e., not necessarily with a
4999         following " (".
5000
5001 2012-01-17  Jim Meyering  <meyering@redhat.com>
5002
5003         maint: enable double-word-prohibiting rule
5004         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
5005         Exempt three files.
5006
5007 2012-01-17  Jim Meyering  <meyering@redhat.com>
5008
5009         maint: remove empty lines at EOF, but excluding modules/*
5010         Apply syntax rules at home as well as abroad.  Most changes
5011         were induced by running this:
5012           make srcdir=. _build-aux=build-aux -f top/maint.mk \
5013             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
5014             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
5015         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
5016         Exempt modules/* and two binary files.
5017         Also exempt doc/INSTALL*, per request from Bruno Haible.
5018         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
5019         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
5020         * doc/Copyright/request-assign.future: Likewise.
5021         * doc/Copyright/request-disclaim.changes: Likewise.
5022         * doc/INSTALL: Likewise.
5023         * doc/INSTALL.ISO: Likewise.
5024         * doc/INSTALL.UTF-8: Likewise.
5025         * doc/acl-cygwin.txt: Likewise.
5026         * doc/acl-resources.txt: Likewise.
5027         * doc/fdl-1.2.texi: Likewise.
5028         * doc/fdl-1.3.texi: Likewise.
5029         * doc/fdl.texi: Likewise.
5030         * lib/argp-pin.c: Likewise.
5031         * lib/round.c: Likewise.
5032         * lib/unicase/u16-totitle.c: Likewise.
5033         * lib/unictype/block_test.c: Likewise.
5034         * lib/uninorm/canonical-decomposition.c: Likewise.
5035         * m4/README: Likewise.
5036         * m4/relocatable-lib.m4: Likewise.
5037         * tests/test-isnand-nolibm.c: Likewise.
5038         * tests/test-isnand.c: Likewise.
5039         * tests/uninorm/NormalizationTest.txt: Likewise.
5040
5041 2012-01-17  Jim Meyering  <meyering@redhat.com>
5042
5043         maint: add framework to run syntax-check rules against gnulib sources
5044         * cfg.mk: New file, to disable all currently-failing tests.
5045         We'll enable them one by one, as they are made to pass.
5046         * Makefile (sc_maint): New rule.
5047
5048 2012-01-21  Bruno Haible  <bruno@clisp.org>
5049
5050         stdint: Add support for Android.
5051         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
5052         include the system's <stdint.h>.
5053         Reported by Simon Josefsson <simon@josefsson.org>.
5054
5055 2012-01-19  Jim Meyering  <meyering@redhat.com>
5056
5057         bootstrap: add bootstrap_post_import_hook
5058         Bison does still need something like the gnulib_mk_hook whose
5059         invocation I had to remove along with slurp in commit 767ccd40.
5060         Technically, we could get along without it, but doing so would
5061         have required living with a warning and a mandatory post-bootstrap
5062         automake rerun.
5063         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
5064         (bootstrap_post_import_hook): New function.
5065         Invoke it after gnulib-tool --import and before autoreconf.
5066
5067 2012-01-18  Jim Meyering  <meyering@redhat.com>
5068
5069         gitlog-to-changelog: don't use "no_"-prefixed variable name
5070         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
5071         to enable both --cluster and --no-cluster.  Change variable name,
5072         s/\$no_cluster/$cluster/, and reverse usage to match.
5073
5074         gitlog-to-changelog: use "||", not "or" in expressions
5075         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
5076         expressions.
5077
5078 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
5079
5080         gitlog-to-changelog: new option --no-cluster
5081         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
5082         clustering of adjacent commit messages.
5083
5084 2012-01-17  Jim Meyering  <meyering@redhat.com>
5085
5086         maint: spell file systems with two words, not one
5087         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
5088         two words, not one.
5089
5090 2012-01-16  Jim Meyering  <meyering@redhat.com>
5091
5092         bootstrap: add a FIXME comment to ensure we eventually remove the hack
5093         * build-aux/bootstrap (gnulib_tool_options): Add comment.
5094
5095 2012-01-16  Eric Blake  <eblake@redhat.com>
5096
5097         bootstrap: cater to autoconf 2.59
5098         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
5099         is not available.
5100
5101         bootstrap: properly check for libtool
5102         * build-aux/bootstrap (libtoolize): Also run libtool when older
5103         usage is detected.
5104
5105 2012-01-15  Bruno Haible  <bruno@clisp.org>
5106
5107         Improve support for MSVC 9.
5108         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
5109         clashes on MSVC.
5110         * lib/fcntl.in.h: Likewise.
5111         * lib/stdlib.in.h: Likewise.
5112         * lib/sys_stat.in.h: Likewise.
5113
5114 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
5115
5116         gnupload: we hold the master copy of this script now
5117         For motivation and more information, see:
5118         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
5119         * build-aux/gnupload: Make it clear in the heading comments that the
5120         master copy of this file is maintained by gnulib.  Since we are at
5121         it, bump its copyright year and ...
5122         ($scriptversion): ... the date in its version.
5123         ($usage): Patches and bug reports should be sent to the gnulib list,
5124         not the automake one.
5125         * config/srclist.txt: Don't try to sync 'gnupload' from automake
5126         anymore.
5127
5128 2012-01-15  Bruno Haible  <bruno@clisp.org>
5129
5130         Fix module 'random'.
5131         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
5132         initstate, setstate are declared.
5133
5134 2012-01-14  Bruno Haible  <bruno@clisp.org>
5135
5136         Tests for module 'random'.
5137         * modules/random-tests: New file.
5138         * tests/test-random.c: New file, based on tests/test-random_r.c.
5139
5140         New module 'random'.
5141         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
5142         declarations.
5143         * lib/random.c: New file, based on glibc/stdlib/random.c.
5144         * m4/random.m4: New file.
5145         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
5146         HAVE_RANDOM.
5147         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
5148         * modules/random: New file.
5149         * config/srclist.txt: Add an entry for random.c.
5150         * doc/posix-functions/random.texi: Mention the 'random' module.
5151         * doc/posix-functions/initstate.texi: Likewise.
5152         * doc/posix-functions/setstate.texi: Likewise.
5153         * doc/posix-functions/srandom.texi: Likewise.
5154
5155 2012-01-12  Bruno Haible  <bruno@clisp.org>
5156
5157         random_r: Use common idioms.
5158         * lib/random_r.c: Include <stdlib.h> first.
5159
5160         random_r: Override incompatible API on AIX, OSF/1.
5161         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
5162         Override the system function if REPLACE_RANDOM_R is 1.
5163         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
5164         and OSF/1, set REPLACE_RANDOM_R.
5165         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
5166         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
5167         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
5168         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
5169         * doc/glibc-functions/random_r.texi: Likewise.
5170         * doc/glibc-functions/setstate_r.texi: Likewise.
5171
5172         random_r: Support for MSVC 9.
5173         * lib/random_r.c: Include stdint.h, not inttypes.h.
5174
5175 2012-01-12  Eric Blake  <eblake@redhat.com>
5176
5177         inet_ntop: guard extra work by IF_LINT
5178         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
5179         better code generation when not checking for warnings.
5180         Suggested by Paul Eggert and Jim Meyering.
5181
5182         strptime: fix regression on mingw
5183         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
5184         Fix regression.  Reported by Bruno Haible.
5185
5186 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
5187             Bruno Haible  <bruno@clisp.org>
5188
5189         copy-file: add error-code-returning variant.
5190         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
5191         (qcopy_file_preserving): New declaration.
5192         * lib/copy-file.c (qcopy_file_preserving): Renamed from
5193         copy_file_preserving. Change return type to 'int'. Don't emit an error
5194         message here.
5195         (copy_file_preserving): New function.
5196         * tests/test-copy-file.c: Include <stdlib.h>.
5197         (main): Test qcopy_file_preserving if the environment variable
5198         NO_STDERR_OUTPUT is set.
5199         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
5200         with NO_STDERR_OUTPUT
5201         * tests/test-copy-file-2.sh: Likewise.
5202
5203 2012-01-10  Bruno Haible  <bruno@clisp.org>
5204
5205         copy-file: Use 'quote' module consistently.
5206         * lib/copy-file.c (copy_file_preserving): Use quote().
5207
5208         copy-file: Refactor.
5209         * lib/copy-file.c: Include quote.h.
5210         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
5211         message here.
5212         * modules/copy-file (Depends-on): Add quote.
5213
5214         acl: Export qcopy_acl.
5215         * lib/acl.h (qcopy_acl): New declaration.
5216         * lib/copy-acl.c (qcopy_acl): Make non-static.
5217
5218         acl: Rename a local variable.
5219         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
5220
5221         acl: Align return values of copy_acl and qcopy_acl.
5222         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
5223         maybe < -1.
5224
5225 2012-01-11  Eric Blake  <eblake@redhat.com>
5226
5227         strptime: silence gcc warnings
5228         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
5229         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
5230         Reported by Daniel P. Berrange.
5231
5232         inet_ntop: silence gcc warning
5233         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
5234         Reported by Daniel P. Berrange.
5235
5236 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
5237
5238         getloadavg test: skip the test on GNU/Linux without /proc mounted
5239         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
5240         file.  When /proc is not mounted, it always fails with ENOENT.
5241         * tests/test-getloadavg.c (main): Treat ENOENT return code from
5242         getloadavg(3) the same way as ENOSYS and ENOTSUP.
5243
5244 2012-01-10  Bruno Haible  <bruno@clisp.org>
5245
5246         regex: Avoid link error on MSVC 9.
5247         * modules/regex (Depends-on): Add wctype.
5248
5249 2012-01-10  Bruno Haible  <bruno@clisp.org>
5250
5251         doc: Mention --with-tests option.
5252         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
5253         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
5254         --with-tests.
5255         Reported by Reuben Thomas.
5256
5257 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
5258
5259         users.txt: order package names lexicographically.
5260         * users.txt: Order package names lexicographically.
5261
5262 2012-01-10  Jim Meyering  <meyering@redhat.com>
5263
5264         maint.mk: fix description in comment
5265         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
5266
5267         ignore-value: remove deprecated ignore_ptr function
5268         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
5269         * NEWS: Note this.
5270
5271 2012-01-09  Jim Meyering  <meyering@redhat.com>
5272
5273         test-init.sh: avoid a subshell
5274         * tests/test-init.sh: Remove protective subshell.
5275         Suggested by Bernhard Voelker.  While a subshell is normally
5276         required to protect against older shells (Solaris, FreeBSD) that
5277         warn about a missing program before performing redirection, the
5278         shell-selection tests performed by init.sh probably exclude any
5279         offending shell.
5280
5281 2012-01-08  Bruno Haible  <bruno@clisp.org>
5282
5283         setlocale tests: Avoid test failure on Solaris 11 2011-11.
5284         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
5285         variable.
5286
5287 2012-01-08  Bruno Haible  <bruno@clisp.org>
5288
5289         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
5290         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5291         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
5292         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
5293         macro.
5294         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
5295         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
5296         * lib/spawn_faction_addopen.c: Add workaround implementation if
5297         HAVE_WORKING_POSIX_SPAWN.
5298         * modules/spawn (Makefile): Substitute
5299         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
5300         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
5301         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
5302         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
5303         (Depends-on): Update conditions.
5304         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
5305         the Solaris 11 bug.
5306
5307 2012-01-08  Bruno Haible  <bruno@clisp.org>
5308
5309         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
5310         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5311         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
5312         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
5313         macro.
5314         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
5315         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
5316         * lib/spawn_faction_adddup2.c: Add workaround implementation if
5317         HAVE_WORKING_POSIX_SPAWN.
5318         * modules/spawn (Makefile): Substitute
5319         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
5320         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
5321         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
5322         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
5323         (Depends-on): Update conditions.
5324         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
5325         the Solaris 11 bug.
5326
5327 2012-01-08  Bruno Haible  <bruno@clisp.org>
5328
5329         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
5330         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5331         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
5332         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
5333         HAVE_WORKING_POSIX_SPAWN.
5334         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
5335         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
5336         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
5337         * lib/spawn_faction_addclose.c: Add workaround implementation if
5338         HAVE_WORKING_POSIX_SPAWN.
5339         * modules/spawn (Makefile): Substitute
5340         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
5341         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
5342         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
5343         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
5344         (Depends-on): Update conditions.
5345         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
5346         the Solaris 11 bug.
5347
5348 2012-01-08  Bruno Haible  <bruno@clisp.org>
5349
5350         doc: Update for Solaris 11 2011-11.
5351         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
5352         * m4/printf.m4: Update comments.
5353
5354 2012-01-08  Bruno Haible  <bruno@clisp.org>
5355
5356         mktime: Avoid compilation error on Solaris 11.
5357         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
5358
5359 2012-01-08  Bruno Haible  <bruno@clisp.org>
5360
5361         doc: Small fix.
5362         * doc/posix-headers/nl_types.texi: Correct platforms list.
5363
5364 2012-01-08  Simon Josefsson  <simon@josefsson.org>
5365
5366         Add lgpl-3.0 module.
5367         * MODULES.html.sh (Support for building documentation): Add
5368         lgpl-3.0.
5369         * modules/lgpl-3.0: New file.
5370
5371 2012-01-08  Jim Meyering  <meyering@redhat.com>
5372
5373         select.c: indent with spaces, not TABs
5374         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
5375
5376 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
5377
5378         quotearg: do not use grave accent for left quote
5379         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
5380         locale_quoting_style.
5381         (quotearg_buffer_restyled): Fix example.
5382         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
5383
5384 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
5385
5386         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
5387         Most programs do not have translation catalogs for English and much
5388         less separate catalogs for British and American English.  Drop the
5389         suggestion to translators about these two, and provide it
5390         automatically for Unicode locales.  Like most programs, even those
5391         using American English, we use single quotation marks.  This conflicts
5392         with the American typographic convention, but works better when you
5393         cite the entire error message within double quotes.  It also tries not
5394         to clash with established practice and with what non-gnulib programs
5395         will usually do.
5396         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
5397         using an UTF-8 or GB-18030 locale.  The list of other locales with
5398         quotes was provided by Bruno Haible.
5399         (quotearg_buffer_restyled): Adjust instructions to translators.
5400         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
5401         text, since this would be wrong when using Unicode.
5402         * modules/quotearg: Depend on c-strcaseeq.
5403
5404 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
5405
5406         quotearg: fix Wikipedia link
5407         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
5408
5409 2012-01-07  Simon Josefsson  <simon@josefsson.org>
5410
5411         Fix for mingw with MSVC9.
5412         * m4/ld-version-script.m4: Check that compiler rejects version
5413         scripts with syntax errors.  Reported by Bruno Haible
5414         <bruno@clisp.org>.
5415
5416 2012-01-06  Bruno Haible  <bruno@clisp.org>
5417
5418         Talk about "native Windows API", not "Woe32".
5419         * lib/accept4.c: Update comments to mention native Windows.
5420         * lib/execute.c: Likewise.
5421         * lib/fatal-signal.c: Likewise.
5422         * lib/localcharset.c: Likewise.
5423         * lib/nanosleep.c: Likewise.
5424         * lib/nl_langinfo.c: Likewise.
5425         * lib/pclose.c: Likewise.
5426         * lib/pipe-filter-gi.c: Likewise.
5427         * lib/pipe-filter-ii.c: Likewise.
5428         * lib/pipe.c: Likewise.
5429         * lib/pipe2.c: Likewise.
5430         * lib/popen.c: Likewise.
5431         * lib/progreloc.c: Likewise.
5432         * lib/relocatable.c: Likewise.
5433         * lib/sigaction.c: Likewise.
5434         * lib/sigprocmask.c: Likewise.
5435         * lib/spawn-pipe.h: Likewise.
5436         * lib/spawn-pipe.c: Likewise.
5437         * lib/spawni.c: Likewise.
5438         * lib/stat-time.h: Likewise.
5439         * lib/w32spawn.h: Likewise.
5440         * tests/test-isatty.c: Likewise.
5441         * lib/config.charset: More comments.
5442         * doc/gnulib-intro.texi: Mention native Windows.
5443         * doc/posix-functions/_Exit_C99.texi: Likewise.
5444         * doc/posix-headers/fcntl.texi: Likewise.
5445
5446 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
5447
5448         argp: Avoid crash if translator uses % characters in a translation.
5449         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
5450         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
5451
5452 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
5453
5454         doc: C11 and C++11 are now official
5455         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
5456         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
5457         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
5458         * modules/stdalign:
5459         Replace references to draft C1X to C11, and to draft C++0X to C++11.
5460
5461 2012-01-06  Bruno Haible  <bruno@clisp.org>
5462
5463         uc-is-grapheme-break tests: Tweak.
5464         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
5465         message.
5466
5467 2012-01-06  Bruno Haible  <bruno@clisp.org>
5468
5469         test-init.sh: correct the test for diff -u
5470         * tests/test-init.sh: Also redirect stdout to /dev/null.
5471
5472 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
5473
5474         Use ', not `, for quoting output.
5475         * build-aux/announce-gen (usage, sizes, print_news_deltas)
5476         (print_changelog_deltas, get_tool_versions, main program):
5477         * build-aux/git-version-gen:
5478         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
5479         * build-aux/move-if-change (help):
5480         * build-aux/useless-if-before-free (usage, main program):
5481         * check-module (parse_module_file, usage)
5482         (find_included_lib_files, check_module):
5483         * lib/argmatch.c (main) [TEST]:
5484         * lib/argp-help.c (_help):
5485         * lib/getopt1.c (main) [TEST]:
5486         * lib/git-merge-changelog.c (usage):
5487         * lib/xstrtol-error.c (xstrtol_error):
5488         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
5489         * m4/argz.m4 (gl_FUNC_ARGZ):
5490         * m4/bison.m4 (gl_BISON):
5491         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
5492         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
5493         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
5494         * m4/fpending.m4 (gl_PREREQ_FPENDING):
5495         * m4/gc-random.m4 (gl_GC_RANDOM):
5496         * m4/intl.m4 (gt_CHECK_DECL):
5497         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
5498         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
5499         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
5500         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
5501         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
5502         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
5503         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
5504         * tests/test-dirname.c (main):
5505         * tests/test-getpass.c (main):
5506         * tests/test-iconvme.c (main):
5507         * tests/test-parse-datetime.c (LOG):
5508         * tests/test-xstrtoimax.sh:
5509         * tests/test-xstrtol.sh:
5510         * tests/test-xstrtoll.sh:
5511         * tests/test-xstrtoumax.sh:
5512         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
5513         * top/GNUmakefile (abort-due-to-no-makefile):
5514         Quote 'like this', not `like this', as per the recent change to
5515         the GNU coding standards.
5516
5517 2012-01-05  Bruno Haible  <bruno@clisp.org>
5518
5519         strtoimax: Don't force a replacement on systems where intmax_t is int.
5520         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
5521         'intmax_t' is not larger than 'int'.
5522         Reported by Pádraig Brady <P@draigBrady.com>.
5523
5524 2012-01-05  Bruno Haible  <bruno@clisp.org>
5525
5526         doc: Mention NetBSD bugs.
5527         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
5528         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
5529
5530 2012-01-05  Bruno Haible  <bruno@clisp.org>
5531
5532         strtoumax tests: Enhance tests.
5533         * tests/test-strtoumax.c (main): Add tests for large values.
5534
5535 2012-01-05  Bruno Haible  <bruno@clisp.org>
5536
5537         strtoimax: Work around AIX 5.1 bug.
5538         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
5539         definition.
5540         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
5541         Set HAVE_STRTOIMAX.
5542         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
5543         REPLACE_STRTOIMAX.
5544         * modules/inttypes-incomplete (Makefile.am): Substitute
5545         REPLACE_STRTOIMAX.
5546         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
5547         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
5548         (Depends-on): Update conditions.
5549         * tests/test-strtoimax.c (main): Add tests for large values.
5550         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
5551
5552 2012-01-05  Bruno Haible  <bruno@clisp.org>
5553
5554         inttypes: Modernize.
5555         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
5556         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
5557         (Makefile.am): Update inttypes.h rule.
5558
5559 2012-01-05  Jim Meyering  <meyering@redhat.com>
5560
5561         init.sh: don't waste a subshell just to redirect stderr
5562         * tests/init.sh: In testing for diff -u and diff -c, use a
5563         stderr-redirecting exec inside `...` rather than a subshell.
5564
5565         test-init.sh: avoid failure on HP-UX 11.00
5566         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
5567         resolves to diff -c or cmp.  Reported by Bruno Haible.
5568
5569 2012-01-05  Bruno Haible  <bruno@clisp.org>
5570
5571         Tests for module 'strtoull'.
5572         * modules/strtoull-tests: New file.
5573         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
5574
5575 2012-01-05  Bruno Haible  <bruno@clisp.org>
5576
5577         Tests for module 'strtoll'.
5578         * modules/strtoll-tests: New file.
5579         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
5580
5581 2012-01-05  Bruno Haible  <bruno@clisp.org>
5582
5583         Tests for module 'strtoul'.
5584         * modules/strtoul-tests: New file.
5585         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
5586
5587 2012-01-05  Bruno Haible  <bruno@clisp.org>
5588
5589         Tests for module 'strtol'.
5590         * modules/strtol-tests: New file.
5591         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
5592
5593 2012-01-04  Jim Meyering  <meyering@redhat.com>
5594
5595         test-init.sh: accommodate Solaris 5.10's different diff -u output
5596         * tests/test-init.sh: Also exempt @@ lines from the comparison
5597         of diff output, since Solaris 5.10 and GNU diff formats differ.
5598         Reported by Stefano Lattarini.
5599
5600 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
5601
5602         test-posixtm: don't assume signed integer wraparound
5603         * tests/test-posixtm.c (main): Don't assume wraparound semantics
5604         after signed integer overflow.  Inspired by (though it may not
5605         fix) Bruno Haible's bug report in
5606         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
5607
5608         Spell out "Windows 9x" and "Windows XP".
5609         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
5610         "Windows 9x" and "WinXP" with "Windows XP".
5611
5612 2012-01-04  Jim Meyering  <meyering@redhat.com>
5613
5614         test-vc-list-files-cvs.sh: remove obsolete comment
5615         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
5616         double exit.  Now that's all encapsulated via skip_ and Exit.
5617
5618 2012-01-04  Bruno Haible  <bruno@clisp.org>
5619
5620         Talk about "native Windows API", not "Win32".
5621         * lib/classpath.c: Update comments to mention native Windows.
5622         * lib/csharpexec.c: Likewise.
5623         * lib/dup2.c: Likewise.
5624         * lib/error.c: Likewise.
5625         * lib/fcntl.c: Likewise.
5626         * lib/filename.h: Likewise.
5627         * lib/findprog.c: Likewise.
5628         * lib/get-rusage-as.c: Likewise.
5629         * lib/get-rusage-data.c: Likewise.
5630         * lib/getpagesize.c: Likewise.
5631         * lib/javaexec.c: Likewise.
5632         * lib/msvc-inval.c: Likewise.
5633         * lib/msvc-nothrow.c: Likewise.
5634         * lib/nanosleep.c: Likewise.
5635         * lib/nonblocking.c: Likewise.
5636         * lib/printf-parse.c: Likewise.
5637         * lib/setlocale.c: Likewise.
5638         * lib/sigaction.c: Likewise.
5639         * lib/strerror_r.c: Likewise.
5640         * lib/tmpdir.c: Likewise.
5641         * lib/vasnprintf.c: Likewise.
5642         * lib/w32spawn.h: Likewise.
5643         * lib/waitpid.c: Likewise.
5644         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
5645         * m4/locale-ar.m4: Likewise.
5646         * m4/locale-fr.m4: Likewise.
5647         * m4/locale-ja.m4: Likewise.
5648         * m4/locale-tr.m4: Likewise.
5649         * m4/locale-zh.m4: Likewise.
5650         * m4/printf.m4: Likewise.
5651         * tests/test-cloexec.c: Likewise.
5652         * tests/test-copy-acl.sh: Likewise.
5653         * tests/test-copy-file.sh: Likewise.
5654         * tests/test-file-has-acl.sh: Likewise.
5655         * tests/test-set-mode-acl.sh: Likewise.
5656         * tests/test-dup-safer.c: Likewise.
5657         * tests/test-dup2.c: Likewise.
5658         * tests/test-dup3.c: Likewise.
5659         * tests/test-fcntl.c: Likewise.
5660         * tests/test-nonblocking-pipe.h: Likewise.
5661         * tests/test-nonblocking-socket.h: Likewise.
5662         * tests/test-pipe.c: Likewise.
5663         * tests/test-pipe2.c: Likewise.
5664         * tests/test-spawn-pipe-child.c: Likewise.
5665         * doc/acl-resources.txt: Likewise.
5666         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5667         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
5668         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
5669         * lib/localcharset.c: Update comments to mention native Windows.
5670         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5671         * lib/localename.c: Likewise.
5672         * lib/progreloc.c: Likewise.
5673         * lib/relocatable.c: Likewise.
5674         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5675         (windows_compute_revents): Renamed from win32_compute_revents.
5676         (windows_compute_revents_socket): Renamed from
5677         win32_compute_revents_socket.
5678         * lib/select.c: Update comments to mention native Windows.
5679         (windows_poll_handle): Renamed from win32_poll_handle.
5680         * m4/threadlib.m4: Update comments to mention native Windows.
5681         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
5682         --enable-threads=windows instead of --enable-threads=win32. Set
5683         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
5684         * lib/glthread/lock.h: Update comments to mention native Windows.
5685         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
5686         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
5687         USE_WIN32_THREADS.
5688         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
5689         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
5690         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
5691         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
5692         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
5693         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
5694         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
5695         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
5696         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
5697         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
5698         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
5699         * tests/test-tls.c: Likewise.
5700         Rationale:
5701         Microsoft renamed the "Win32 API" to "Windows API", as it is available
5702         on both 32-bit and 64-bit Windows systems.
5703         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
5704         line of distinction is between "native Windows" on one side and Unix/
5705         POSIX systems on the other side. More details in
5706         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
5707         Suggested by Paul Eggert.
5708
5709 2012-01-03  Bruno Haible  <bruno@clisp.org>
5710
5711         isatty: Support for MSVC 9.
5712         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
5713         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
5714         (_isatty_nothrow): New function.
5715         (isatty): Use it instead of _isatty.
5716         (IsConsoleHandle): Add comment, from Paolo Bonzini.
5717         * lib/poll.c (IsConsoleHandle): Likewise.
5718         * lib/select.c (IsConsoleHandle): Likewise.
5719         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
5720         (gl_PREREQ_ISATTY): New macro.
5721         * modules/isatty (Depends-on): Add msvc-inval.
5722         (configure.ac): Invoke gl_PREREQ_ISATTY.
5723
5724 2012-01-03  Jim Meyering  <meyering@redhat.com>
5725
5726         maint.mk: remove temporary transition aid from over 1.5 years ago
5727         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
5728         purpose was to aid in the transition (avoiding silent malfunction)
5729         from that old name to the new _sc_search_regexp.  This shim was
5730         added by commit 219c504b.
5731
5732         init.sh: do not try to accommodate compare arguments starting with "-"
5733         * tests/init.sh (compare_dev_null_): Do not try to accommodate
5734         compare arguments that start with "-".  Besides, we do not worry
5735         about this when invoking diff or cmp; why start now with sed?
5736         Using "--" to separate options from argument would trigger sed
5737         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
5738         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
5739
5740 2012-01-02  Bruno Haible  <bruno@clisp.org>
5741
5742         Enhance tests for module 'isatty'.
5743         * modules/isatty-tests (Depends-on): Add pipe-posix.
5744         * tests/test-isatty.c: Include <fcntl.h>.
5745         (DEV_NULL): New macro.
5746         (main): Test the resut of isatty() also on regular files, pipes, and
5747         /dev/null.
5748
5749         New module 'isatty'.
5750         * lib/unistd.in.h (isatty): New declaration.
5751         * lib/isatty.c: New file, based on an idea of
5752         Bastien Roucariès <roucaries.bastien@gmail.com>.
5753         * m4/isatty.m4: New file.
5754         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
5755         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
5756         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
5757         REPLACE_ISATTY.
5758         * modules/isatty: New file.
5759         * doc/posix-functions/isatty.texi: Mention the new module.
5760         Suggested by Paolo Bonzini.
5761
5762 2012-01-02  Bruno Haible  <bruno@clisp.org>
5763
5764         canonicalize: Tweak 2011-12-29 commit.
5765         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
5766         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
5767
5768 2012-01-02  Jim Meyering  <meyering@redhat.com>
5769
5770         gitlog-to-changelog: describe input syntax in --help output
5771         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
5772
5773         gitlog-to-changelog: fix typo in --help: show backslash before email @
5774         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
5775         in sources, but not in actual output.
5776
5777 2011-12-30  Jim Meyering  <meyering@redhat.com>
5778
5779         gitlog-to-changelog: don't malfunction when name contains %-directive
5780         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
5781         in a name string cause trouble.  E.g., with a user name of "%s",
5782         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
5783
5784 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
5785
5786         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
5787         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
5788         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
5789         the "  (tiny change)" notation that is appended to the standard
5790         ChangeLog "date  name  email" header line.
5791
5792 2012-01-01  Jim Meyering  <meyering@redhat.com>
5793
5794         test-framework-sh: init.sh: fix "make dist" failure
5795         When using gnulib-tool's --with-tests option and any module that
5796         depends on test-framework-sh, "make dist" would fail due to the
5797         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
5798         in the gltests directory, and not in the gllib/ directory.
5799         One way to work around that is to move the EXTRA_DIST += init.sh
5800         from the primary module to the -tests one:
5801         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
5802         * modules/test-framework-sh (Makefile.am): ...not here.
5803         Reported by Tom G. Christensen in
5804         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
5805
5806         version-etc: update copyright year reported by --version
5807         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
5808
5809 2011-12-31  Pádraig Brady  <P@draigBrady.com>
5810
5811         canonicalize: only stat() if required
5812         * lib/canonicalize.c (canonicalize_filename_mode):
5813         Avoid calling l?stat() when both CAN_MISSING,
5814         and CAN_NOLINKS are set, as we neither need
5815         to resolve symlinks or test component existence.
5816
5817 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
5818
5819         doc: cover st_ino issues once; add OpenVMS etc.
5820         * doc/posix-functions/stat.texi (stat):
5821         * doc/posix-functions/lstat.texi (lstat):
5822         * doc/posix-functions/fstatat.texi (fstatat):
5823         * doc/posix-functions/fstat.texi (fstat):
5824         Move general 'struct stat' stuff to sys_stat.texi,
5825         leaving behind a pointer.
5826         * doc/posix-headers/sys_stat.texi (sys/stat.h):
5827         Merge duplicate info about 'struct stat' problems into here.
5828         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
5829         and suggest partial workarounds.
5830
5831         same-inode: port to OpenVMS
5832         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
5833         three st_ino values.
5834
5835 2011-12-30  Pádraig Brady  <P@draigBrady.com>
5836
5837         canonicalize: fix references to stat() and lstat()
5838         * lib/canonicalize.c (canonicalize_filename_mode):
5839         Ensure references always resolve to a replacement
5840         function if required (even via a macro).
5841
5842 2011-12-30  Jim Meyering  <meyering@redhat.com>
5843
5844         gitlog-to-changelog: remove a little duplication
5845         * build-aux/gitlog-to-changelog (main): Grep @lines once,
5846         rather than twice.
5847
5848 2011-12-29  Pádraig Brady  <P@draigBrady.com>
5849
5850         canonicalize: add support for not resolving symlinks
5851         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
5852         indicate we don't want to follow symlinks.  Also
5853         provide CAN_MODE_MASK to aid setting these existing
5854         mutually exclusive values.
5855         * lib/canonicalize.c (canonicalize_filename_mode):
5856         Extract the flags from can_mode parameter, which
5857         are currently just used to select between stat()
5858         and lstat().  Also ensure that mutually exclusive
5859         values are flagged immediately as invalid.
5860         * tests/test-canonicalize.c: Verify symlinks are
5861         not followed, and that invalid flag combinations
5862         are diagnosed.
5863
5864 2011-12-25  Jim Meyering  <meyering@redhat.com>
5865
5866         gitlog-to-changelog: do not clump multi-paragraph entries
5867         Identical header lines (date,name,email+coauthors) are suppressed,
5868         thus putting all entries with those same characteristics under
5869         a single header.  However, when a log entry consists of two or
5870         more paragraphs, it may not be clear where it starts and ends.
5871         This change makes it so that such an entry is always separated
5872         from others by a header line, even when that header would
5873         otherwise be suppressed.
5874         * build-aux/gitlog-to-changelog: Implement the above.
5875         Inspired by a related request from Stefano Lattarini in
5876         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
5877
5878 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5879
5880         announce-gen: fix `cmd' typo in diagnostic
5881         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
5882         diagnostic: a missing '$' meant that the command was not output.
5883
5884 2011-12-23  Jim Meyering  <meyering@redhat.com>
5885
5886         test-framework-sh: distribute init.sh
5887         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
5888         Otherwise, "make -C gnulib-tests check" (at least in grep) would
5889         fail due to the lack of init.sh.
5890
5891         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
5892         * modules/atexit-tests: Rather than listing tests/init.sh,
5893         now that there's a module for it, simply depend on that new module.
5894         * modules/closein-tests: Likewise.
5895         * modules/exclude-tests: Likewise.
5896         * modules/getcwd-tests: Likewise.
5897         * modules/perror-tests: Likewise.
5898         * modules/pread-tests: Likewise.
5899         * modules/pwrite-tests: Likewise.
5900         * modules/vc-list-files-tests: Likewise.
5901         * modules/verify-tests: Likewise.
5902         * modules/xalloc-die-tests: Likewise.
5903         * modules/xstrtoimax-tests: Likewise.
5904         * modules/xstrtol-tests: Likewise.
5905         * modules/xstrtoll-tests: Likewise.
5906         * modules/xstrtoumax-tests: Likewise.
5907         * modules/yesno-tests: Likewise.
5908
5909 2011-12-22  Jim Meyering  <meyering@redhat.com>
5910
5911         test-framework-sh: add minimal tests of init.sh's compare function
5912         * modules/test-framework-sh-tests: New file.
5913         * tests/test-init.sh: New file.
5914
5915         test-framework-sh: new module
5916         * modules/test-framework-sh: New file.
5917         * MODULES.html.sh (Support for maintaining and releasing projects):
5918         List it.
5919
5920         init.sh: do not emit simulated diff output to stderr
5921         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
5922
5923 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
5924
5925         .gitignore: ignore gnulib.dvi and regex.info
5926         * doc/.gitignore:add gnulib.dvi and regex.info
5927
5928 2011-12-22  Jim Meyering  <meyering@redhat.com>
5929
5930         init.sh: correct previous change
5931         * tests/init.sh (compare): My previous change was wrong.
5932         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
5933
5934         init.sh: avoid unwarranted test failure when using "set -e"
5935         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
5936         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
5937         a use like "compare exp out" would get evoke an unconditional failure.
5938
5939 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
5940
5941         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
5942         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
5943         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
5944         autoreconf that did not.
5945         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
5946         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
5947
5948 2011-12-17  Jim Meyering  <meyering@redhat.com>
5949
5950         bootstrap: remove some now-unneeded code
5951         This script arose back when gnulib-tool was young.
5952         Since then, it has seen improvements that render much of this
5953         script unnecessary.  In particular, it can now make symlinks
5954         to the files it uses.  Also, I no longer see as much value in
5955         marking files as read-only via comments.
5956         If you relied on the symlink-creation feature of the preceding
5957         version of this script, you can get most of that functionality
5958         by adding the --symlink option to the definition of
5959         gnulib_tool_option_extras in your bootstrap.conf file.
5960         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
5961         Run autopoint and libtoolize *before* gnulib-tool.
5962         After it, run an abbreviated autoreconf, rather than a loop around
5963         all tools.
5964         (slirp, bt_mark_as_generated): Remove functions.
5965
5966 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5967
5968         ftoastr: fix typo
5969         * lib/ftoastr.h: Fix misspelling in comment.
5970
5971 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
5972
5973         * top/README-release: fix punctuation.
5974
5975 2011-12-17  Jim Meyering  <meyering@redhat.com>
5976
5977         bootstrap: correct the recent buildreq change
5978         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
5979         had no effect.
5980         * build-aux/bootstrap (buildreq): Bracket each search term with
5981         "*...*", so that the shell "case" statement works as intended.
5982         Add comments.
5983
5984 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
5985
5986         build: let bootstrap resort to wget when downloading .po files
5987         * build-aux/bootstrap (download_po_files): Fallback to wget when
5988         downloading the .po files via rsync fails.  This is necessary to
5989         bootstrap from behind a strict firewall.
5990
5991 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
5992
5993         stdint: don't assume C++11 when compiling with g++
5994         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
5995         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
5996         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
5997         work also in C++ before C++11, as that improperly inhibits
5998         generating a substitute stdint.h for that case.
5999
6000 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
6001
6002         alloca: protect comment from gnulib-tool
6003         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
6004         that gnulib-tool doesn't think it's a license, and munge it to
6005         say "GCC version 3".
6006
6007 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
6008
6009         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
6010         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
6011         $(abs_top_builddir) instead of $(top_builddir).
6012
6013 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
6014
6015         strftime-tests: also test nanoseconds
6016         * tests/test-strftime.c (T): Add a test of %N.
6017
6018 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
6019
6020         inttypes, stdint: add C++11 support
6021         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
6022         when including inttypes.h and stdint.h.  Support this change to
6023         the standard.
6024         * doc/posix-headers/inttypes.texi (inttypes.h):
6025         * doc/posix-headers/stdint.texi (stdint.h): Document this.
6026         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
6027         Define if not defined already, for the benefit of pre-C++11 hosts.
6028         Define the standard format macros (e.g., PRId8) always.
6029         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
6030         Likewise, if __cpluspus.  Define the standard constant and limit
6031         macros (e.g., INT8_C, INT8_MAX) always.
6032         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
6033         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
6034         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
6035         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
6036         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
6037         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
6038         Likewise.
6039
6040 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
6041
6042         nonblocking tests: Fix test failure on Linux/PPC.
6043         Suggested by Prerna Saxena in
6044         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
6045         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
6046         Set to 1100000.
6047
6048 2011-12-12  Jim Meyering  <meyering@redhat.com>
6049
6050         argmatch: don't hard-code `' when listing valid option arguments
6051         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
6052         use the quote function to add quotes.  Use fputs rather than
6053         fprintf for the format string with no format directive.
6054
6055 2011-12-07  Eric Blake  <eblake@redhat.com>
6056
6057         bootstrap: detect tools required by gnulib-tool
6058         * build-aux/bootstrap (buildreq): Provide minimum implicit
6059         dependencies.
6060         * DEPENDENCIES: Mention patch as a prereq.
6061
6062 2011-12-04  Bruno Haible  <bruno@clisp.org>
6063
6064         sethostname: Port to Windows platforms.
6065         * lib/sethostname.c: Provide an alternate implementation for Windows
6066         platforms.
6067         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
6068         (main): Skip the test if sethostname() fails with EPERM. On Windows
6069         platforms, don't check the result of gethostname().
6070
6071 2011-12-04  Bruno Haible  <bruno@clisp.org>
6072             Jim Meyering  <meyering@redhat.com>
6073
6074         tests: Avoid spurious error message on platforms without mktemp program.
6075         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
6076
6077 2011-12-04  Bruno Haible  <bruno@clisp.org>
6078
6079         sethostname: Fix documentation.
6080         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
6081         "not fixed" section.
6082
6083 2011-12-03  Bruno Haible  <bruno@clisp.org>
6084
6085         gnulib-tool: Verify that the License field is present and non-empty.
6086         * gnulib-tool (func_get_license_raw): New function, extracted from
6087         func_get_license.
6088         (func_get_license): Use it. Warn if the module is not a test module and
6089         has no license.
6090         Suggested by Jim Meyering.
6091
6092 2011-12-03  Bruno Haible  <bruno@clisp.org>
6093
6094         sethostname tests: Fix link error on mingw.
6095         * tests/test-sethostname1.c: New file, extracted from
6096         tests/test-sethostname.c.
6097         * tests/test-sethostname2.c: New file, extracted from
6098         tests/test-sethostname.c.
6099         * tests/test-sethostname.c: Remove file.
6100         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
6101         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
6102         (Depends-on): Add gethostname.
6103         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
6104         Link the latter with $(GETHOSTNAME_LIB).
6105
6106         sethostname tests: Fix compilation error on mingw.
6107         * tests/test-sethostname.c: Don't include <sys/types.h>.
6108         (geteuid): Use a dummy value without uid_t.
6109         * modules/sethostname-tests (Depends-on): Remove sys_types.
6110
6111         sethostname tests: Avoid a gcc warning.
6112         * tests/test-sethostname.c (main): Remove an unused variable.
6113
6114         Tweak last commit.
6115         * modules/sethostname-tests (Files): Sort by decreasing importance.
6116         (configure.ac): Check for geteuid.
6117         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
6118         the test when there's nothing to test. Drop an unnecessary cast.
6119         Improve an error message. Verify that the final sethostname() call
6120         succeeds.
6121
6122 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6123
6124         Add a test suite for the sethostname module.
6125         * modules/sethostname-tests: New file.  A test program
6126         for the sethostname module.
6127         * tests/test-sethostname.c: Likewise.
6128
6129 2011-12-03  Bruno Haible  <bruno@clisp.org>
6130
6131         Tweak last commit.
6132         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
6133         Fix preprocessor directives indentation. Fix typos.
6134         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
6135         * modules/unistd (Makefile): Likewise.
6136
6137 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6138
6139         Integrate the sethostname module into unistd.
6140         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
6141         into the unistd.h header.
6142         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
6143         preprocessor directives.
6144         * modules/unistd: Setup the Makefile substitutions of the
6145         SETHOSTNAME preprocessor directives.
6146
6147 2011-12-03  Bruno Haible  <bruno@clisp.org>
6148
6149         Tweak last commit.
6150         * lib/sethostname.c: Don't include <string.h>.
6151         (sethostname): No need to copy the argument string to the stack. Don't
6152         call clearerr. Preserve errno when fprintf failed.
6153         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
6154         Don't invoke AC_REPLACE_FUNCS.
6155         * modules/sethostname (Link): Remove empty section.
6156         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
6157         failure problem.
6158
6159 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6160
6161         New module 'sethostname'.
6162         * lib/sethostname.c (sethostname): New file.  Provide sethostname
6163         for systems that lack it.
6164         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
6165         sethostname declaration and function.
6166         * modules/sethostname: New file.  Define the sethostname module.
6167
6168 2011-12-03  Bruno Haible  <bruno@clisp.org>
6169
6170         Tweak last commit.
6171         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
6172
6173 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6174
6175         Split the HOST_NAME_MAX detection into a separate m4 macro.
6176         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
6177         macro so it can be used by the pending sethostname module.
6178
6179 2011-12-03  Bruno Haible  <bruno@clisp.org>
6180
6181         Fix module descriptions syntax.
6182         * modules/argv-iter (License): Fix syntax.
6183         * modules/di-set (License): Likewise.
6184         * modules/ino-map (License): Likewise.
6185         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
6186
6187 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
6188
6189         stdalign: port to Clang 3.0
6190         Problem reported by Simon Josefsson in
6191         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
6192         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
6193         which has <stdalign.h> but which does not define alignof.
6194         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
6195
6196 2011-12-01  Eric Blake  <eblake@redhat.com>
6197
6198         mktempd: silence dd usage
6199         * build-aux/mktempd (rand_bytes): Silence dd.
6200
6201 2011-11-30  Simon Josefsson  <simon@josefsson.org>
6202
6203         manywarnings: Don't mention gcc version in docstring.
6204         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
6205         Jim Meyering <meyering@redhat.com>.
6206
6207 2011-11-30  Jim Meyering  <meyering@redhat.com>
6208
6209         hash: mark a few floating point constants with "f" suffix
6210         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
6211         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
6212         floating point constants with "f", since they're destined to be
6213         saved/used as "float"s.
6214
6215 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
6216
6217         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
6218         * tests/test-float.c (test_long_double): Correct and re-enable the
6219         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
6220
6221 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
6222
6223         Avoid subtracting two pointers that don't point into the same block.
6224         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
6225         only pointers into the same memory block are subtracted. We cannot
6226         assume that sizeof (ptrdiff_t) == sizeof (void *).
6227
6228 2011-11-29  Eric Blake  <eblake@redhat.com>
6229
6230         maint.mk: add syntax check for use of compare from init.sh
6231         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
6232         moved here from coreutils.
6233
6234         manywarnings: drop -Wunsuffixed-float-constants
6235         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
6236         '1.0D', which is the only way to silence this warning for 'double'.
6237
6238 2011-11-29  Jim Meyering  <meyering@redhat.com>
6239
6240         hash: mark compute_bucket_size with the pure attribute
6241         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
6242
6243         quotearg, propername: correct pragma guard expression
6244         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
6245         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
6246
6247 2011-11-28  Jim Meyering  <meyering@redhat.com>
6248
6249         propername: do not mark proper_name with the const attribute
6250         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
6251         since it examines data pointed to by its parameter.
6252         * lib/propername.c (proper_name): Instead, add a pragma to suppress
6253         the suggestion from -Wsuggest-attribute=const.
6254
6255         propername: mark one more function as const
6256         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
6257
6258 2011-11-27  Jim Meyering  <meyering@redhat.com>
6259
6260         mark functions with const and pure attributes
6261
6262         Mark functions per suggestions from gcc-4.6 when using these options:
6263         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
6264         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
6265         Follow these guidelines: when possible, apply the attribute to
6266         an extern declaration, not to its definition.  Apply it to the
6267         definition only when the definition is static.
6268         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
6269         * lib/argv-iter.h (argv_iter_n_args): Likewise.
6270         * lib/base64.h (isbase64): Likewise.
6271         * lib/basename-lgpl.c (last_component, base_len): Likewise.
6272         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
6273         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
6274         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
6275         (c_tolower, c_toupper): Likewise.
6276         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
6277         * lib/chdir-long.c (find_non_slash): Likewise.
6278         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
6279         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
6280         * lib/file-type.h (file_type): Likewise.
6281         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
6282         * lib/filevercmp.c (verrevcmp): Likewise.
6283         * lib/freadahead.h (freadahead): Likewise.
6284         * lib/fts.c (fts_maxarglen): Likewise.
6285         * lib/hash-pjw.h (hash_pjw): Likewise.
6286         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
6287         * lib/hash.c (is_prime, next_prime): Likewise.
6288         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
6289         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
6290         (hash_table_ok, hash_get_first, hash_string): Likewise.
6291         (compute_bucket_size): Likewise.
6292         * lib/i-ring.h (i_ring_empty): Likewise.
6293         * lib/isnan.c (isnanl): Likewise.
6294         * lib/math.h (isnanl, rpl_isnanl): Likewise.
6295         * lib/memcasecmp.h (memcasecmp): Likewise.
6296         * lib/memchr2.h (memchr2): Likewise.
6297         * lib/memcmp2.h (memcmp2): Likewise.
6298         * lib/parse-datetime.y (lookup_zone): Likewise.
6299         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
6300         [!WINDOWS_SOCKETS]: Likewise.
6301         * lib/strnlen1.h (strnlen1): Likewise.
6302         * lib/uniwidth.in.h (uc_width): Likewise.
6303         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
6304         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
6305         (quoting_options_from_style): Add a comment.
6306         * lib/propername.h (proper_name): Add a comment.
6307
6308 2011-11-27  Bruno Haible  <bruno@clisp.org>
6309
6310         Remove unused macros from !_LIBC code in glibc-borrowed files.
6311         * lib/fnmatch.c (STRCOLL): Remove macro.
6312         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
6313         * lib/glob.c (__stat, __readdir64): Remove macros.
6314         * lib/tempname.c (__open64, __xstat64): Remove macros.
6315         Suggested by Paul Eggert.
6316
6317 2011-11-27  Bruno Haible  <bruno@clisp.org>
6318
6319         getcwd: Fix link error on MSVC 9.
6320         * modules/getcwd (Depends-on): Add readdir, rewinddir.
6321
6322 2011-11-27  Bruno Haible  <bruno@clisp.org>
6323
6324         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
6325         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
6326         HAVE_OPENDIR is 0.
6327         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
6328         HAVE_CLOSEDIR is 0.
6329         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
6330         is 0.
6331         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
6332
6333 2011-11-27  Bruno Haible  <bruno@clisp.org>
6334
6335         getcwd: Fix bug from 2011-08-17.
6336         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
6337         platforms that need it.
6338         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
6339         code of 4 to be a failure, not a success. This ensures that
6340         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
6341
6342 2011-11-27  Bruno Haible  <bruno@clisp.org>
6343
6344         binary-io tests: Avoid test failure on mingw when libtool is used.
6345         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
6346         Don't verify the size of t-bin-out1.tmp here.
6347         * tests/test-binary-io.sh: Verify it here.
6348         Reported by Simon Josefsson.
6349
6350 2011-11-26  Bruno Haible  <bruno@clisp.org>
6351
6352         Fix conflict between two instantiations of module 'unistd'.
6353         * gnulib-tool (func_emit_autoconf_snippet): Substitute
6354         ${include_guard_prefix} also in the autoconf snippet.
6355         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
6356         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
6357         GNULIB_UNISTD_H_GETOPT.
6358         * modules/getopt-posix (configure.ac): Set the
6359         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
6360         * modules/getopt-gnu (configure.ac): Likewise.
6361         * modules/unistd (Makefile.am): Change the substitution value of
6362         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
6363         Reported by Simon Josefsson.
6364
6365 2011-11-25  Bruno Haible  <bruno@clisp.org>
6366
6367         pagealign_alloc: Doc and comments.
6368         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
6369         module.
6370         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
6371
6372 2011-11-25  Jim Meyering  <meyering@redhat.com>
6373
6374         test-update-copyright.sh: avoid false-positive failure
6375         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
6376         around false positive failure on Cygwin/Windows.  The latter was
6377         matching erroneously-created files with names like
6378         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
6379
6380 2011-11-25  Simon Josefsson  <simon@josefsson.org>
6381
6382         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
6383         * m4/valgrind-tests.m4: Check that the parameters that will be
6384         used works, not just a subset of them.  Reported by Bruno Haible
6385         <bruno@clisp.org>.
6386
6387 2011-11-24  Jim Meyering  <meyering@redhat.com>
6388
6389         test-stdalign.c: comment out long double tests
6390         * tests/test-stdalign.c: Don't try to reduce alignment of long double
6391         variables.  That provokes errors like this from gcc-4.7.0 20111124:
6392         error: '_Alignas' specifiers cannot reduce alignment of \
6393         'static_longdouble_alignas'.
6394
6395 2011-11-22  Jim Meyering  <meyering@redhat.com>
6396
6397         init.sh: make "compare /dev/null FILE" output more readable
6398         * tests/init.sh (compare_): Document the preferred order of arguments.
6399         (emit_diff_u_header_): New function.
6400         (compare_dev_null_): Emit a simulated diff, rather than just the
6401         contents of the unexpected file.  Suggestion from Bruno Haible.
6402
6403 2011-11-21  Jim Meyering  <meyering@redhat.com>
6404             Eric Blake  <eblake@redhat.com>
6405
6406         init.sh: work around OSF/1 5.1's mishandling of /dev/null
6407         * tests/init.sh: Make our compare function slightly more portable.
6408         Reported by Bruno Haible in
6409         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
6410
6411 2011-11-21  Simon Josefsson  <simon@josefsson.org>
6412
6413         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
6414         before using it, in code that ends up in config.h.
6415
6416 2011-11-20  Bruno Haible  <bruno@clisp.org>
6417
6418         getcwd: Work around getcwd bug on AIX 5..7.
6419         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
6420         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
6421         Use a different value for gl_cv_func_getcwd_path_max. Move the
6422         definition of HAVE_PARTLY_WORKING_GETCWD from here...
6423         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
6424         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
6425         Define HAVE_MINIMALLY_WORKING_GETCWD.
6426         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
6427         where it is not even minimally working, that is, on AIX.
6428         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
6429         m4/getcwd-path-max.m4.
6430         (main): Update exit code computation.
6431         * doc/posix-functions/getcwd.texi: Mention list of platforms where
6432         getcwd does not handle long file names.
6433
6434 2011-11-20  Bruno Haible  <bruno@clisp.org>
6435
6436         getcwd: Fix bug from 2009-09-10.
6437         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
6438         like "no".
6439
6440 2011-11-20  Simon Josefsson  <simon@josefsson.org>
6441
6442         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
6443
6444 2011-11-20  Bruno Haible  <bruno@clisp.org>
6445
6446         fma tests: Avoid shadowing local variables.
6447         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
6448         expected.
6449
6450 2011-11-20  Bruno Haible  <bruno@clisp.org>
6451
6452         copysignf tests: Fix.
6453         * tests/test-copysignf.c: Fix signature check.
6454
6455 2011-11-20  Bruno Haible  <bruno@clisp.org>
6456
6457         fma: Remove unused code.
6458         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
6459         unused macros.
6460
6461 2011-11-20  Bruno Haible  <bruno@clisp.org>
6462
6463         sethostname: Fix doc about AIX.
6464         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
6465         sethostname; it has it.
6466
6467         sethostname: Mention more portability problems.
6468         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
6469         problem.
6470         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
6471
6472 2011-11-19  Bruno Haible  <bruno@clisp.org>
6473
6474         Depend on module fcntl-h when AT_FDCWD is used.
6475         * modules/utimens (Depends-on): Add fcntl-h.
6476         * modules/areadlinkat (Depends-on): Likewise.
6477         * modules/areadlinkat-with-size (Depends-on): Likewise.
6478         * modules/faccessat (Depends-on): Likewise.
6479         * modules/fchmodat (Depends-on): Likewise.
6480         * modules/fchownat (Depends-on): Likewise.
6481         * modules/getcwd (Depends-on): Likewise.
6482         * modules/mkdirat (Depends-on): Likewise.
6483         * modules/mkfifoat (Depends-on): Likewise.
6484         * modules/readlinkat (Depends-on): Likewise.
6485         * modules/symlinkat (Depends-on): Likewise.
6486         * modules/dup2-tests (Depends-on): Likewise.
6487         * modules/fdutimensat-tests (Depends-on): Likewise.
6488         * modules/futimens-tests (Depends-on): Likewise.
6489
6490 2011-11-19  Bruno Haible  <bruno@clisp.org>
6491
6492         euidaccess: Update a comment.
6493         * lib/euidaccess.c: Update comment about platforms with faccessat.
6494
6495 2011-11-19  Bruno Haible  <bruno@clisp.org>
6496
6497         openat: Fix file list.
6498         * modules/openat (Files): Remove lib/at-func.c.
6499
6500 2011-11-19  Bruno Haible  <bruno@clisp.org>
6501
6502         fstatat: Simplify.
6503         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
6504         gnulib should define rpl_fstatat, there is a
6505         "#define fstatat rpl_fstatat" in <sys/stat.h>.
6506
6507 2011-11-19  Bruno Haible  <bruno@clisp.org>
6508
6509         Ensure 'inline' can be used in tests/test-utimens-common.h.
6510         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
6511         * modules/futimens-tests (configure.ac): Likewise.
6512         * modules/utimens-tests (configure.ac): Likewise.
6513         * modules/utimensat-tests (configure.ac): Likewise.
6514
6515 2011-11-19  Simon Josefsson  <simon@josefsson.org>
6516
6517         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
6518         not hash_insert0.
6519         (hash_insert_if_absent): Doc fix.
6520
6521 2011-11-19  Simon Josefsson  <simon@josefsson.org>
6522
6523         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
6524
6525 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6526
6527         test-getcwd: disambiguate exit status
6528         * tests/test-getcwd.c (test_long_name): Return 0..7.
6529         (main): Exit with an unambiguous exit status.  The old
6530         code yielded a mysterious mixture of two failure codes.
6531
6532         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
6533         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
6534         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
6535         rpl_fstatat or fstatat.  This should fix the other problem
6536         reported by Kai Habel in
6537         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
6538         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
6539         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
6540         and I reproduced it on a Solaris 8 host we still have in production.
6541
6542 2011-11-18  Jim Meyering  <meyering@redhat.com>
6543
6544         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
6545         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
6546         Add a sentence to the comment.
6547         (hash_insert0): New function that simply calls hash_insert_if_absent.
6548         * lib/hash.h (hash_insert_if_absent): Declare it.
6549         (hash_insert0): Add deprecation attribute.
6550         (_GL_ATTRIBUTE_DEPRECATED): Define.
6551         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
6552         not hash_insert0.
6553         * NEWS: Mention it, even though it's not really an incompatible change.
6554
6555 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
6556
6557         openat: avoid compilation failure due to lack of <errno.h> inclusion
6558         * lib/openat.c: Include <errno.h>.
6559
6560 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6561
6562         * modules/getcwd (Depends-on): Add fdopendir.
6563         This fixes one of the two problems reported by Kai Habel in
6564         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
6565
6566         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
6567         stdalign problem reported by Ian Beckwith in
6568         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
6569         * modules/crypto/gc-arcfour (Depends-on):
6570         Depend conditionally on crypto/arcfour.
6571         * modules/crypto/gc-arctwo (Depends-on):
6572         Depend conditionally on crypto/arctwo.
6573         * modules/crypto/gc-des (Depends-on):
6574         Depend conditionally on crypto/des.
6575         * modules/crypto/gc-hmac-md5 (Depends-on):
6576         Depend conditionally on crypto/hmac-md5.
6577         * modules/crypto/gc-hmac-sha1 (Depends-on):
6578         Depend conditionally on crypto/hmac-sha1.
6579         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
6580         * modules/crypto/gc-md4 (Depends-on):
6581         Depend conditionally on crypto/md4.
6582         * modules/crypto/gc-md5 (Depends-on):
6583         Depend conditionally on crypto/md5.
6584         * modules/crypto/gc-rijndael (Depends-on):
6585         Depend conditionally on crypto/rijndael.
6586         * modules/crypto/gc-sha1 (Depends-on):
6587         Depend conditionally on crypto/sha1.
6588         * modules/crypto/gc-arcfour:
6589         * modules/crypto/gc-arctwo:
6590         * modules/crypto/gc-des:
6591         * modules/crypto/gc-hmac-md5:
6592         * modules/crypto/gc-hmac-sha1:
6593         * modules/crypto/gc-md2:
6594         * modules/crypto/gc-md4:
6595         * modules/crypto/gc-md5:
6596         * modules/crypto/gc-rijndael:
6597         * modules/crypto/gc-sha1:
6598         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
6599         now that the conditional dependencies do the work for us.
6600
6601 2011-11-17  Jim Meyering  <meyering@redhat.com>
6602
6603         tests: factor st_ctime-comparison out of two headers
6604         * tests/test-utimens-common.h (ctime_compare): Define.
6605         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
6606         * tests/test-lutimens.h (test_lutimens): Likewise.
6607         * tests/test-utimens.h (test_utimens): Likewise.
6608
6609         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
6610         Invoke the test program via an init.sh-using wrapper.
6611         * tests/test-getcwd.sh: New file.
6612         * modules/getcwd-tests (Files): Add it.
6613         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
6614
6615 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
6616
6617         gitlog-to-changelog: support multi-author commits.
6618         The FSF cares about keeping track of all authors of patches to its
6619         projects, but Git doesn't provide obvious support for multi-author
6620         changesets. Consensus seems to be forming around the use of extra
6621         Signed-off-by inspired lines in the log message formatted as
6622         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
6623         multi-author commits between version control systems.
6624         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
6625         log message and output in standard ChangeLog multi-author format.
6626         Reported by Peter Rosin <peda@lysator.liu.se>
6627
6628 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
6629             Bruno Haible  <bruno@clisp.org>
6630
6631         Fix some modules' file list.
6632         * modules/fstatat (Files): Add m4/lstat.m4.
6633         * modules/openat (Files): Likewise.
6634         * modules/unlinkat (Files): Likewise.
6635
6636 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
6637
6638         maint.mk: fix tight-scope.mk generation in VPATH builds.
6639         * top/maint.mk (tight-scope.mk): Make sure to prefix file
6640         reference with $(srcdir) so that the file is found correctly even
6641         when running `make syntax-check' in a VPATH build.
6642
6643 2011-11-13  Bruno Haible  <bruno@clisp.org>
6644             Jim Meyering  <meyering@redhat.com>
6645
6646         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
6647         * tests/init.sh (compare): Remove "No differences encountered" or
6648         synonymous output from the 'diff' program.
6649
6650 2011-11-13  Bruno Haible  <bruno@clisp.org>
6651
6652         Makefile: Tweak indentation.
6653         * Makefile: Use tab as first character in every line that contains rule
6654         commands.
6655
6656 2011-11-13  Bruno Haible  <bruno@clisp.org>
6657
6658         Syntax check for copyright statements.
6659         * check-copyright: New file.
6660         * Makefile (sc_check_copyright): New rule.
6661
6662 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6663
6664         * build-aux/git-version-gen: Add --prefix to configure the tag
6665         match string.
6666
6667 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6668
6669         * build-aux/git-version-gen: Add --help and --version.
6670
6671 2011-11-12  Jim Meyering  <meyering@redhat.com>
6672
6673         revamp the other test-exclude?.sh scripts to use init.sh, too
6674         * tests/test-exclude1.sh: Use init.sh.
6675         * tests/test-exclude2.sh: Likewise.
6676         * tests/test-exclude3.sh: Likewise.
6677         * tests/test-exclude4.sh: Likewise.
6678         * tests/test-exclude5.sh: Likewise.
6679         * tests/test-exclude6.sh: Likewise.
6680         * tests/test-exclude7.sh: Likewise.
6681         * tests/test-exclude8.sh: Likewise.
6682         * modules/exclude-tests (Files): List init.sh.
6683
6684         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
6685         These shell scripts ignored failure of the binary test-exclude,
6686         so making the latter return 77 didn't cause them to be skipped.
6687         * tests/test-exclude5.sh: Exit with test-exclude's error status
6688         when that program fails.  Revamp to use init.sh.
6689         * tests/test-exclude2.sh: Likewise.
6690
6691         test-exclude: fix a typo
6692         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
6693
6694 2011-11-11  Bruno Haible  <bruno@clisp.org>
6695
6696         obstack: Fix compilation error on MSVC 9.
6697         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
6698
6699 2011-11-11  Jim Meyering  <meyering@redhat.com>
6700
6701         test-exclude: skip tests rather than failing on deficient systems
6702         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
6703         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
6704         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
6705         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
6706
6707 2011-11-10  Bruno Haible  <bruno@clisp.org>
6708
6709         ptsname_r test: Avoid gcc warning on glibc systems.
6710         * tests/test-ptsname_r.c (null_ptr): New function.
6711         (test_errors): Use it.
6712
6713 2011-11-10  Bruno Haible  <bruno@clisp.org>
6714
6715         ptsname_r: Avoid compilation error on OSF/1 5.1.
6716         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
6717         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
6718         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
6719         function is not declared or incompatibly declared.
6720         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
6721         * modules/ptsname_r (Depends-on, configure.ac): Update.
6722         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
6723
6724 2011-11-10  Bruno Haible  <bruno@clisp.org>
6725
6726         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
6727         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
6728         When cross-compiling, guess yes on all platforms except AIX.
6729         Reported by Ludovic Courtès <ludo@gnu.org>.
6730
6731 2011-11-09  Bruno Haible  <bruno@clisp.org>
6732
6733         ptsname_r tests: Fix bugs.
6734         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
6735         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
6736
6737 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
6738
6739         fstatat: work with cross-compilation
6740         Problem reported by Ludovic Courtès in
6741         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
6742         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
6743         "cross-compiling" and assume the bug is present.  Replace
6744         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
6745         an inverted sense, to be more conservative about our assumptions.
6746         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
6747
6748 2011-11-09  Bruno Haible  <bruno@clisp.org>
6749
6750         Improve MODULES.html output.
6751         * modules/mkfifoat (Description): Use the word "function".
6752         * modules/readlinkat (Description): Likewise.
6753         * modules/symlinkat (Description): Likewise.
6754
6755 2011-11-09  Eric Blake  <eblake@redhat.com>
6756
6757         ptsname_r-tests: new test module
6758         * modules/ptsname_r-tests: New module.
6759         * tests/test-ptsname_r.c: New file.
6760
6761         ptsname_r: new module
6762         * modules/ptsname_r: New module.
6763         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
6764         * lib/ptsname.c (__ptsname_r): Split...
6765         * lib/ptsname_r.c: ...into new file.
6766         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
6767         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
6768         * modules/stdlib (Makefile.am): Substitute witnesses.
6769         * lib/stdlib.in.h (ptsname_r): Declare it.
6770         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
6771         * MODULES.html.sh (Misc): Likewise.
6772         * modules/ptsname (Depends-on): Alter dependency.
6773         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
6774
6775 2011-11-09  Jim Meyering  <meyering@redhat.com>
6776
6777         announce-gen: be more concise when there's only one URL+tarball
6778         * build-aux/announce-gen (get_tool_versions): When you distribute
6779         only one type of tarball, combine the first two "Here are..."
6780         sections and make the key-checking grammar independent of
6781         how many tarballs there are.
6782
6783 2011-11-09  Eric Blake  <eblake@redhat.com>
6784
6785         openpty: provide a stub on mingw
6786         * lib/pty.in.h (includes): Provide forward declarations.
6787         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
6788
6789         raise: fix mingw handling of SIGPIPE
6790         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
6791
6792 2011-11-08  Bruno Haible  <bruno@clisp.org>
6793
6794         More conditional dependencies.
6795         * modules/faccessat (Depends-on): Add conditions.
6796         * modules/fchmodat (Depends-on): Likewise.
6797         * modules/fchownat (Depends-on): Likewise.
6798         * modules/fstatat (Depends-on): Likewise.
6799         * modules/mkfifoat (Depends-on): Likewise.
6800         * modules/readlinkat (Depends-on): Likewise.
6801         * modules/symlinkat (Depends-on): Likewise.
6802         * modules/unlinkat (Depends-on): Likewise.
6803         * modules/utimensat (Depends-on): Likewise.
6804         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
6805         * modules/linkat (Depends-on): Refine the conditions.
6806         * modules/renameat (Depends-on): Likewise.
6807
6808 2011-11-08  Bruno Haible  <bruno@clisp.org>
6809
6810         faccessat: Move AC_LIBOBJ invocation to module description.
6811         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
6812         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
6813         invocation from here...
6814         * modules/faccessat (configure.ac): ... to here. Invoke
6815         gl_PREREQ_FACCESSAT.
6816
6817 2011-11-08  Bruno Haible  <bruno@clisp.org>
6818
6819         faccessat: Simplify autoconf macro.
6820         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
6821         gl_FUNC_EUIDACCESS.
6822
6823 2011-11-08  Bruno Haible  <bruno@clisp.org>
6824
6825         renameat: Fix dependencies.
6826         * modules/renameat (Depends-on): Add stdbool.
6827
6828 2011-11-08  Bruno Haible  <bruno@clisp.org>
6829
6830         mkfifoat: Fix module description.
6831         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
6832         not gl_UNISTD_MODULE_INDICATOR.
6833
6834 2011-11-08  Bruno Haible  <bruno@clisp.org>
6835
6836         fstatat: Remove unused dependency.
6837         * modules/fstatat (Depends-on): Remove fstat.
6838
6839 2011-11-08  Simon Josefsson  <simon@josefsson.org>
6840
6841         GNUmakefile: behave when Makefile is missing.
6842         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
6843
6844 2011-11-08  Bruno Haible  <bruno@clisp.org>
6845
6846         openat: Conditionalize dependencies.
6847         * lib/openat.c: Reduce the scope of some #includes.
6848         * modules/openat (Depends-on): Add conditions.
6849
6850 2011-11-07  Jim Meyering  <meyering@redhat.com>
6851
6852         maint.mk: extract GPG key ID without using a temporary file
6853         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
6854         without using a temporary file.  Based on a suggestion from Werner Koch
6855         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
6856
6857 2011-11-07  Eric Blake  <eblake@redhat.com>
6858
6859         grantpt: fix typo
6860         * lib/stdlib.in.h (grantpt): Check correct function.
6861
6862         maint.mk: silence new syntax check
6863         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
6864
6865 2011-11-06  Bruno Haible  <bruno@clisp.org>
6866
6867         Doc about floating-point and math API.
6868         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
6869         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
6870
6871 2011-11-06  Bruno Haible  <bruno@clisp.org>
6872
6873         stdalign tests: Skip the test when compiled by Sun C.
6874         * tests/test-stdalign.c (main): Skip the test on Sun C.
6875
6876 2011-11-06  Bruno Haible  <bruno@clisp.org>
6877
6878         ansi-c++-opt: Complete the 2011-06-05 change.
6879         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
6880         does not support namespaces, set the variable to "no", not to ":".
6881
6882 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
6883
6884         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
6885
6886 2011-11-06  Bruno Haible  <bruno@clisp.org>
6887
6888         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
6889         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
6890         (minus_zerol) [HP-UX]: New macro.
6891         (unary_minus) [HP-UX]: New function.
6892         (copysignl) [HP-UX]: Use unary_minus function.
6893
6894 2011-11-06  Bruno Haible  <bruno@clisp.org>
6895
6896         ldexp, ldexpf, ldexpl: Enhance tests.
6897         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
6898         and tests/test-ldexpl.c.
6899         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
6900         LDEXP, MIN_EXP, MAX_EXP): New macros.
6901         Include test-ldexp.h.
6902         (main): Just call test_function.
6903         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
6904         infinity.h, nan.h.
6905         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
6906         MAX_EXP): New macros.
6907         Include test-ldexp.h.
6908         (x, y): Remove variables.
6909         (main): Just call test_function.
6910         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
6911         infinity.h, nan.h.
6912         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
6913         MAX_EXP): New macros.
6914         Include test-ldexp.h.
6915         (x, y): Remove variables.
6916         (main): Just call test_function.
6917         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
6918         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
6919         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
6920         (Depends-on): Add isnand-nolibm, signbit, float.
6921         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
6922         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
6923         (Depends-on): Add isnanf-nolibm, signbit, float.
6924
6925 2011-11-06  Bruno Haible  <bruno@clisp.org>
6926
6927         math tests: Cosmetics.
6928         * tests/test-math-c++.cc: Reorder declarations.
6929
6930 2011-11-05  Bruno Haible  <bruno@clisp.org>
6931
6932         fma*: Simplify test.
6933         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
6934         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
6935
6936         Tests for module 'fmal'.
6937         * modules/fmal-tests: New file.
6938         * tests/test-fmal1.c: New file.
6939         * tests/test-fmal2.c: New file.
6940
6941         New module 'fmal'.
6942         * lib/math.in.h (fmal): New declaration.
6943         * lib/fmal.c: New file.
6944         * m4/fmal.m4: New file.
6945         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
6946         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
6947         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
6948         REPLACE_FMAL.
6949         * modules/fmal: New file.
6950         * doc/posix-functions/fmal.texi: Mention the new module and the various
6951         bugs.
6952
6953         Tests for module 'fmaf'.
6954         * modules/fmaf-tests: New file.
6955         * tests/test-fmaf1.c: New file.
6956         * tests/test-fmaf2.c: New file.
6957
6958         New module 'fmaf'.
6959         * lib/math.in.h (fmaf): New declaration.
6960         * lib/fmaf.c: New file.
6961         * m4/fmaf.m4: New file.
6962         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
6963         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
6964         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
6965         REPLACE_FMAF.
6966         * modules/fmaf: New file.
6967         * doc/posix-functions/fmaf.texi: Mention the new module and the various
6968         bugs.
6969
6970         Tests for module 'fma'.
6971         * modules/fma-tests: New file.
6972         * tests/test-fma1.c: New file.
6973         * tests/test-fma1.h: New file.
6974         * tests/test-fma2.c: New file.
6975         * tests/test-fma2.h: New file.
6976
6977         New module 'fma'.
6978         * lib/math.in.h (fma): New declaration.
6979         * lib/fma.c: New file.
6980         * m4/fma.m4: New file.
6981         * m4/fegetround.m4: New file.
6982         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
6983         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
6984         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
6985         REPLACE_FMA.
6986         * modules/fma: New file.
6987         * doc/posix-functions/fma.texi: Mention the new module and the various
6988         bugs.
6989
6990         Extend gl_MATHFUNC.
6991         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
6992         Support 'void' as argument type.
6993         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
6994
6995 2011-11-05  Jim Meyering  <meyering@redhat.com>
6996
6997         maint.mk: also prohibit inclusion of dirent.h without use
6998         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
6999
7000 2011-11-05  Bruno Haible  <bruno@clisp.org>
7001
7002         ldexpl tests: Avoid test failure on MSVC 9.
7003         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
7004         value. Needed in order to enforce the conversion from a value greater
7005         than LDBL_MAX to Infinity.
7006
7007 2011-11-05  Bruno Haible  <bruno@clisp.org>
7008
7009         New modules 'at-internal', 'openat-h', split off from module 'openat'.
7010         * modules/at-internal: New file, extracted from modules/openat.
7011         * modules/openat-h: New file.
7012         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
7013         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
7014         * modules/openat (Description): Add reference to POSIX function.
7015         (Files): Remove lib/openat.h, lib/openat-proc.c.
7016         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
7017         intprops, unistd.
7018         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
7019         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
7020         gl_FCNTL_MODULE_INDICATOR.
7021         (Include): Remove unistd.h, openat.h.
7022         * modules/areadlinkat (Files): Add lib/at-func.c.
7023         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7024         openat-die, openat-h, save-cwd.
7025         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
7026         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7027         openat-die, openat-h, save-cwd, unistd.
7028         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
7029         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7030         openat-h, save-cwd. Remove fcntl-h, openat.
7031         * modules/fchmodat (Files): Remove lib/openat.h.
7032         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7033         openat, stdbool, unistd.
7034         * modules/fchownat (Files): Remove lib/openat.h.
7035         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7036         openat, stdbool, sys_stat.
7037         * modules/fdopendir (Files): Remove lib/openat-priv.h,
7038         lib/openat-proc.c.
7039         (Depends-on): Add at-internal.
7040         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
7041         * modules/fstatat (Files): Remove lib/openat.h.
7042         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
7043         stdbool, unistd.
7044         * modules/fts (Depends-on): Add openat-h.
7045         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
7046         openat.
7047         * modules/mkdirat (Files): Remove lib/openat.h.
7048         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7049         openat, stdbool, sys_stat.
7050         * modules/mkfifoat (Files): Add lib/at-func.c.
7051         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7052         openat-h, save-cwd. Remove fcntl-h, openat.
7053         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
7054         * modules/readlinkat (Files): Add lib/at-func.c.
7055         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7056         openat-h, save-cwd. Remove fcntl-h, openat.
7057         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
7058         openat.
7059         * modules/selinux-at (Files): Add lib/at-func.c.
7060         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7061         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
7062         * modules/symlinkat (Files): Add lib/at-func.c.
7063         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7064         openat-h, save-cwd. Remove fcntl-h, openat.
7065         * modules/unlinkat (Files): Remove lib/openat.h.
7066         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
7067         stdbool.
7068         * modules/utimensat (Files): Add lib/at-func.c.
7069         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
7070         openat-die, openat-h, save-cwd.
7071         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
7072         * modules/fdutimensat-tests (Depends-on): Add openat.
7073         * modules/fstatat-tests (Depends-on): Add openat-h.
7074         * modules/readlinkat-tests (Depends-on): Add openat.
7075         * modules/symlinkat-tests (Depends-on): Add openat.
7076
7077 2011-11-05  Bruno Haible  <bruno@clisp.org>
7078
7079         openat: Include <stdbool.h>.
7080         * lib/openat.c: Include <stdbool.h>.
7081
7082 2011-11-04  Bruno Haible  <bruno@clisp.org>
7083
7084         fchownat, renameat, unlinkat: Fix dependencies.
7085         * modules/fchownat (Depends-on): Add fstatat.
7086         * modules/renameat (Depends-on): Likewise.
7087         * modules/unlinkat (Depends-on): Likewise.
7088
7089 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
7090
7091         openat: remove direct dependency on dirent
7092         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
7093         and hasn't been needed ever since fdopendir was split into its own
7094         module on 2009-08-31.
7095         * modules/openat (Depends-on): Remove dirent.
7096
7097 2011-11-04  Bruno Haible  <bruno@clisp.org>
7098
7099         renameat: Optimize code size.
7100         * modules/renameat (configure.ac): Don't compile at-func2.c if
7101         REPLACE_RENAMEAT is 1.
7102
7103 2011-11-04  Bruno Haible  <bruno@clisp.org>
7104
7105         openat tests: Fix file list.
7106         * modules/openat-tests (Files): Add tests/test-open.h.
7107
7108 2011-11-04  Bruno Haible  <bruno@clisp.org>
7109
7110         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
7111         * modules/fchmodat (Depends-on): Add openat-die.
7112         * modules/fchownat (Depends-on): Likewise.
7113         * modules/linkat (Depends-on): Likewise.
7114         * modules/renameat (Depends-on): Likewise.
7115         * modules/openat (Depends-on): Add dirent.
7116
7117 2011-11-04  Jim Meyering  <meyering@redhat.com>
7118
7119         at-func*.c: fix comments
7120         * lib/at-func2.c: Correct/improve first-line comment.
7121         * lib/at-func.c: Correct grammar in first-line comment.
7122
7123 2011-11-04  Bruno Haible  <bruno@clisp.org>
7124
7125         New module 'mkdirat', split off from module 'openat'.
7126         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
7127         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
7128         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
7129         * modules/mkdirat: New file, extracted from modules/openat.
7130         * modules/openat (Files): Remove lib/mkdirat.c.
7131         (Depends-on): Remove mkdir.
7132         (configure.ac): Remove AC_LIBOBJ of mkdirat.
7133         (Include): Remove <sys/stat.h>.
7134         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
7135         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
7136         tests/test-mkdir.h.
7137         (Depends-on): Remove ignore-value.
7138         (Makefile.am): Remove rules for test-mkdirat.
7139         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
7140         of module 'openat'.
7141         * NEWS: Mention the change.
7142
7143 2011-11-04  Bruno Haible  <bruno@clisp.org>
7144
7145         closedir: Avoid warning on mingw.
7146         * lib/closedir.c: Include <unistd.h>.
7147
7148 2011-11-04  Bruno Haible  <bruno@clisp.org>
7149
7150         New module 'fstatat', split off from module 'openat'.
7151         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
7152         defined.
7153         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
7154         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
7155         gl_FUNC_FSTATAT.
7156         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
7157         * modules/fstatat: New file, extracted from modules/openat.
7158         * modules/openat (Files): Remove lib/fstatat.c.
7159         (Depends-on): Remove lstat.
7160         (configure.ac): Remove AC_LIBOBJ of fstatat.
7161         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
7162         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
7163         tests/test-lstat.h, tests/test-stat.h.
7164         (Depends-on): Remove getcwd-lgpl.
7165         (Makefile.am): Remove rules for test-fstatat.
7166         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
7167         of module 'openat'.
7168         * NEWS: Mention the change.
7169         * modules/getcwd (Depends-on): Add fstatat.
7170         * modules/linkat (Depends-on): Likewise.
7171         * modules/mkfifoat-tests (Depends-on): Likewise.
7172         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
7173
7174 2011-11-03  Bruno Haible  <bruno@clisp.org>
7175
7176         New module 'unlinkat', split off from module 'openat'.
7177         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
7178         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
7179         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
7180         * modules/unlinkat: New file, extracted from modules/openat. Correct
7181         the dependency conditions.
7182         * modules/openat (Files): Remove lib/unlinkat.c.
7183         (Depends-on): Remove rmdir, unlink.
7184         (configure.ac): Remove AC_LIBOBJ of unlinkat.
7185         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
7186         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
7187         tests/test-rmdir.h, tests/test-unlink.h.
7188         (Depends-on): Remove unlinkdir.
7189         (Makefile.am): Remove rules for test-unlinkat.
7190         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
7191         of module 'openat'.
7192         * NEWS: Mention the change.
7193         * modules/linkat-tests (Depends-on): Add unlinkat.
7194         * modules/mkfifoat-tests (Depends-on): Likewise.
7195         * modules/readlinkat-tests (Depends-on): Likewise.
7196
7197 2011-11-02  Bruno Haible  <bruno@clisp.org>
7198
7199         New module 'fchmodat', split off from module 'openat'.
7200         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
7201         defined.
7202         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
7203         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
7204         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
7205         * modules/fchmodat: New file, extracted from modules/openat.
7206         * modules/openat (Files): Remove lib/fchmodat.c.
7207         (configure.ac): Remove AC_LIBOBJ of fchmodat.
7208         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
7209         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
7210         (Makefile.am): Remove rules for test-fchmodat.
7211         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
7212         of module 'openat'.
7213         * NEWS: Mention the change.
7214
7215 2011-11-02  Jim Meyering  <meyering@redhat.com>
7216
7217         putenv: indent #definition of "environ" to placate cppi
7218         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
7219
7220         gitlog-to-changelog: provide a ChangeLog-repair mechanism
7221         Git logs are often treated as immutable, because editing them
7222         changes the SHA1 checksums of all descendants.  Thus, errors in
7223         git logs tend to stay there forever.  However, when we generate
7224         a ChangeLog file -- typically for distribution -- from that git log,
7225         we can actually make corrections in the generated file.  The key
7226         lies in recording in machine-readable/applicable form the desired
7227         corrections.  See --help for description and an example.
7228         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
7229         (usage): Describe it; alphabetize option descriptions.
7230         (main): Honor the new option, carefully.
7231
7232 2011-11-01  Jim Meyering  <meyering@redhat.com>
7233
7234         gitlog-to-changelog: avoid an infloop
7235         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
7236         that ends up being empty.
7237
7238 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
7239
7240         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
7241         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
7242         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
7243         contains (possibly-quoted) backslashes.  This should avoid
7244         all-too-common shell bugs if COMPLICATED contains backslashes in
7245         the "wrong" places.  Reported by David Evans in
7246         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
7247         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
7248         because we want ASCII ranges.  Is there some reason we don't use
7249         the C locale everywhere in this script?
7250         (func_module, top level): Avoid unwanted pathname expansion when
7251         $repo_url_prefix or $repo_url_suffix_repl contain shell
7252         metacharacters like '?' and '*'.
7253
7254 2011-11-01  Bruno Haible  <bruno@clisp.org>
7255
7256         fchownat: Improve description.
7257         * modules/fchownat (Description): Add link to function.
7258
7259 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
7260
7261         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
7262         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
7263         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
7264         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
7265
7266 2011-11-01  Bruno Haible  <bruno@clisp.org>
7267
7268         alignof: Avoid collision with stdalign module.
7269         * lib/alignof.h (alignof): Remove macro.
7270         * NEWS: Mention the change.
7271         Reported by Paul Eggert.
7272
7273 2011-11-01  Bruno Haible  <bruno@clisp.org>
7274
7275         New module 'fchownat', split off from module 'openat'.
7276         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
7277         defined.
7278         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
7279         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
7280         invoke gl_FUNC_FCHOWNAT.
7281         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
7282         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
7283         * modules/fchownat: New file, extracted from modules/openat.
7284         * modules/openat (Files): Remove lib/fchownat.c.
7285         (Depends-on): Remove lchown.
7286         (configure.ac): Remove AC_LIBOBJ of fchownat.
7287         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
7288         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
7289         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
7290         (Depends-on): Remove mgetgroups, usleep, stat-time.
7291         (configure.ac): Remove test for getegid.
7292         (Makefile.am): Remove rules for test-fchownat.
7293         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
7294         of module 'openat'.
7295         * NEWS: Mention the change.
7296
7297 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
7298
7299         stdalign: port better to MSVC and to Sun C 5.11
7300         This fixes some of the problems reported by Bruno Haible in
7301         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
7302         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
7303         shortcomings of MSVC and of Sun C 5.11.
7304         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
7305         around __declspec arg.
7306         * modules/stdalign-tests (Files): Add tests/macros.h.
7307         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
7308         Include macros.h, for ASSERT.
7309         (DECLARE_ALIGNED): Remove.
7310         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
7311         to catch bug), and to 1 if not (simplifies the rest of the code).
7312         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
7313         (CHECK_AUTO): Remove.
7314         (CHECK_ALIGNED): Check only the alignment of the static vars,
7315         since auto var alignment isn't supported by Sun C 5.11.
7316         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
7317         ASSERT failures are easier to diagnose.
7318
7319 2011-10-31  Bruno Haible  <bruno@clisp.org>
7320
7321         doc about some IRIX 5.3 problems.
7322         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
7323         on IRIX 5.3.
7324         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
7325         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
7326         5.3.
7327         * doc/posix-functions/grantpt.texi: Likewise.
7328         * doc/posix-functions/unlockpt.texi: Likewise.
7329         * doc/posix-functions/lgamma.texi: Likewise.
7330         * doc/posix-functions/nextafter.texi: Likewise.
7331         * doc/posix-functions/remainder.texi: Likewise.
7332         * doc/posix-functions/select.texi: Mention misplaced declaration on
7333         IRIX 5.3.
7334         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7335
7336 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
7337
7338         gitlog-to-changelog: fix git-log invocation.
7339         git-log mishandles date strings before 1970-01-01 UTC, and there is
7340         no use to specify --since=1970-01-01 by default anyway.
7341         * build-aux/gitlog-to-changelog: By default, when no --since option
7342         was given, do not specify explicit --since option to git-log.
7343
7344 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
7345
7346         gitlog-to-changelog: new option --append-dot.
7347         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
7348         first non-blank line of each commit message terminated with a dot.
7349
7350 2011-10-30  Bruno Haible  <bruno@clisp.org>
7351
7352         ffsl, ffsll: Avoid compilation error due to 'restrict'.
7353         * lib/ffsl.h: Include <config.h>.
7354         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
7355
7356 2011-10-30  Jim Meyering  <meyering@redhat.com>
7357
7358         GNUmakefile: reenable "make syntax-check" for most projects
7359         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
7360         build-aux variable", "syntax-check" would do nothing but succeed with
7361         the "No version control files detected..." diagnostic (unless you
7362         happened to override _build-aux via cfg.mk).
7363         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
7364         to precede inclusion of maint.mk.  Otherwise, these variables would
7365         be used undefined in any project that does not override the default.
7366
7367 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
7368
7369         gitlog-to-changelog: treat a message with only blank lines as empty.
7370         * build-aux/gitlog-to-changelog: Move the code that removes leading and
7371         trailing blank lines before the code that issues a warning about an
7372         empty commit message.
7373
7374 2011-10-30  Jim Meyering  <meyering@redhat.com>
7375
7376         test-parse-datetime.c: avoid new DST-related false positive test failure
7377         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
7378         based on the time/date we'll convert, not the current time.
7379         Otherwise, the moment we cross a DST boundary like today's in
7380         Europe, (CEST to CET), that offset ends up being one hour off.
7381
7382 2011-10-27  Bruno Haible  <bruno@clisp.org>
7383
7384         fstat: Tweak documentation.
7385         * modules/fstat (Description): More precise description.
7386
7387 2011-10-27  Bruno Haible  <bruno@clisp.org>
7388
7389         Update documentation regarding 'largefile' module.
7390         * doc/posix-functions/fstat.texi: Tweak wording.
7391         * doc/posix-functions/opendir.texi: Mention that the module fixes the
7392         problems with huge directories and/or small ino_t types.
7393         * doc/posix-functions/readdir.texi: Likewise.
7394         * doc/posix-functions/rewinddir.texi: Likewise.
7395
7396 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
7397
7398         maint.mk: don't maintain a second build-aux variable.
7399         * maint.mk (build_aux): Removed.  The maintainer-makefile module
7400         depends on GNUmakefile, which already maintains a cfg.mk
7401         overridable $(_build-aux) for projects with a non-standard
7402         build-aux directory location, although without the $(srcdir)
7403         prefix.  Use that variable consistently instead of introducing a
7404         second one.  Adjust all call sites.
7405
7406 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
7407
7408         Add stdalign module and use it in other modules.
7409         This is based on a previous proposal by Bruno Haible
7410         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
7411
7412         stdalign: new module
7413         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
7414         * modules/stdalign: New files.
7415         * MODULES.html.sh (c1x_core_properties): Add stdalign.
7416         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
7417
7418         stdalign-tests: new module
7419         * modules/stdalign-tests, tests/test-stdalign.c: New files.
7420
7421         argp: use stdalign
7422         * lib/argp-parse.c: Include <stdalign.h>.
7423         (alignof): Remove.
7424         * modules/argp (Depends-on): Add stdalign.
7425
7426         crypto libraries: use stdalign
7427         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
7428         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
7429         Do not include <stdlib.h> twice, in md4.c.
7430         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
7431         because we are accessing a pointer's bit-pattern, not a size.
7432         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
7433         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
7434         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
7435         * modules/crypto/sha512: Likewise.
7436
7437         sys_socket: use stdalign, not alignof
7438         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
7439         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
7440
7441 2011-10-27  Bruno Haible  <bruno@clisp.org>
7442
7443         raise test: Avoid a test failure on Linux/MIPS.
7444         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
7445         because 99 is a valid signal on Linux/MIPS.
7446
7447 2011-10-27  Bruno Haible  <bruno@clisp.org>
7448
7449         nonblocking tests: Fix test failure on Linux/MIPS.
7450         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
7451         Set to 270000.
7452
7453 2011-10-27  Bruno Haible  <bruno@clisp.org>
7454
7455         utimensat: Work around problem on Linux/hppa.
7456         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
7457         values.
7458         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
7459
7460 2011-10-25  Jim Meyering  <meyering@redhat.com>
7461
7462         maint.mk: fix a bug in sc_prohibit_stddef_without_use
7463         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
7464         after symbols like NULL, size_t, etc.
7465         Reported by Alfred M. Szmidt.
7466
7467         maint.mk: exempt ENODATA from a syntax-check rule
7468         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
7469         from the sc_prohibit_always-defined_macros syntax-check rule.
7470         Add a comment.  See this for more details:
7471         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
7472
7473 2011-10-23  Jim Meyering  <meyering@redhat.com>
7474
7475         fts: close parent dir FD before returning from post-traversal fts_read
7476         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
7477         unlink A, even though an FD open on A remained.  This is suboptimal
7478         (holding a file descriptor open longer than needed), but otherwise not
7479         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
7480         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
7481         that represents a real problem: it causes the removal of A to fail
7482         with e.g., "rm: cannot remove `A': Device or resource busy"
7483
7484         fts visits each directory twice and keeps a cache (fts_fd_ring) of
7485         directory file descriptors.  After completing the final, FTS_DP,
7486         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
7487         cache, but then proceeded to add a new FD to it via the subsequent
7488         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
7489         final file descriptor would be closed only via fts_close's call to
7490         fd_ring_clear.  Now, it is usually closed earlier, via the final
7491         FTS_DP-returning fts_read call.
7492         * lib/fts.c (restore_initial_cwd): New function, converted from
7493         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
7494         Update callers.
7495         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
7496         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
7497
7498 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
7499             Bruno Haible  <bruno@clisp.org>
7500             Jim Meyering  <jim@meyering.net>
7501
7502         readme-release: improve safety of release prep instructions.
7503         * README-release: Don't git pull all branches when only master
7504         is needed for the release process.
7505         Run make maintainer-clean before changing trees and merging.
7506         Don't try to run ./configure right after git pull in case files
7507         that influence the bootstrap process have changed, move the
7508         ./configure step to after running ./bootstrap.
7509         Don't bootstrap "one last time"... it's the first time!
7510
7511 2011-10-22  Bruno Haible  <bruno@clisp.org>
7512
7513         errno, strerror-override: Support for MSVC 10.
7514         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
7515         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
7516         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
7517         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
7518         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
7519         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
7520         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
7521         Assign values compatible with MSVC 10.
7522         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
7523         New macros.
7524         (GNULIB_defined_EWINSOCK): New macro.
7525         * lib/strerror-override.c (strerror_override): Update accordingly.
7526         * lib/strerror-override.h: Likewise.
7527         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
7528         longer equal to the corresponding errno value.
7529         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7530
7531 2011-10-22  Bruno Haible  <bruno@clisp.org>
7532
7533         perror: Recognize when test program crashes.
7534         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
7535         strerror, set gl_cv_func_perror_works to no.
7536         Reported by Daniel Richard G. <skunk@iskunk.org>.
7537
7538         perror: Fix indentation.
7539         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
7540
7541 2011-10-22  Bruno Haible  <bruno@clisp.org>
7542
7543         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
7544         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
7545         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
7546         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
7547         functions, not as a macro.
7548         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
7549         macros.
7550         (isfinite, isinf, isnan, signbit): Check overloaded functions and
7551         absence of macro.
7552         Suggested by Eric Blake.
7553         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7554
7555 2011-10-21  Bruno Haible  <bruno@clisp.org>
7556
7557         relocatable-prog-wrapper: Don't leave object files behind.
7558         * build-aux/install-reloc: Re-synchronize list of .o files to be
7559         removed with list of compilation units.
7560
7561 2011-10-20  Bruno Haible  <bruno@clisp.org>
7562
7563         openpty, posix_openpt: Remove code duplication.
7564         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
7565         * lib/openpty.c: Include <stdlib.h>.
7566         (openpty): Use posix_openpt on all platforms except IRIX.
7567         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
7568
7569 2011-10-20  Bruno Haible  <bruno@clisp.org>
7570
7571         unlockpt: Detect invalid argument.
7572         * lib/unlockpt.c: Include <fcntl.h>.
7573         (unlockpt): Check whether fd is valid, using fcntl().
7574         * modules/unlockpt (Depends-on): Add fcntl-h.
7575
7576 2011-10-20  Bruno Haible  <bruno@clisp.org>
7577
7578         openpty: Avoid compilation error on AIX 6.1.
7579         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
7580
7581 2011-10-20  Bruno Haible  <bruno@clisp.org>
7582
7583         posix_openpt: Support for OpenBSD.
7584         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
7585         (posix_openpt) [OpenBSD]: New code.
7586         * lib/grantpt.c: Include <fcntl.h>.
7587         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
7588         * modules/grantpt (Depends-on): Add fcntl-h.
7589
7590 2011-10-20  Bruno Haible  <bruno@clisp.org>
7591
7592         posix_openpt test: Coding style.
7593         * tests/test-posix_openpt.c: Use GNU coding style.
7594
7595 2011-10-20  Bruno Haible  <bruno@clisp.org>
7596
7597         grantpt: Support --avoid=pt_chown.
7598         * modules/grantpt (Files): Add lib/pty-private.h.
7599
7600 2011-10-20  Bruno Haible  <bruno@clisp.org>
7601
7602         posix_openpt: Fix autoconf macro.
7603         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
7604         unneeded check for _getpty.
7605
7606 2011-10-20  Bruno Haible  <bruno@clisp.org>
7607
7608         openpty: Update comments.
7609         * lib/openpty.c: Add comments about Minix.
7610
7611 2011-10-19  Eric Blake  <eblake@redhat.com>
7612
7613         openpty: relax license
7614         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
7615
7616         pt_chown: use configmake to simplify build
7617         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
7618
7619         ptsname and others: relax license
7620         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
7621         * modules/unlockpt (License): Likewise.
7622         * modules/pt_chown (License): Likewise.
7623         * modules/ptsname (License): Likewise.
7624         * modules/ttyname_r (License): Likewise.
7625
7626 2011-10-19  Jim Meyering  <meyering@redhat.com>
7627
7628         posix_openpt: remove spurious #endif
7629         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
7630
7631 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
7632
7633         maint.mk: Respect $(build_aux) in web-manual rule.
7634         * top/maint.mk (web-manual): Find gen-announce script in user's
7635         $(build_aux) directory instead of hard-coding 'build-aux'.
7636
7637 2011-10-19  Bruno Haible  <bruno@clisp.org>
7638
7639         posix_openpt: Fix compilation error.
7640         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
7641         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
7642         Mention the openpty module as an alternative.
7643
7644 2011-10-19  Bruno Haible  <bruno@clisp.org>
7645
7646         Support for old NeXTstep 3.3 frexp().
7647         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
7648         execution time of the test to 5 seconds.
7649         Reported by Daniel Richard G. <skunk@iskunk.org>.
7650
7651 2011-10-19  Bruno Haible  <bruno@clisp.org>
7652
7653         Support for old NeXTstep 3.3 sed.
7654         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
7655         part, use /.../, not \|...|. Escape periods in the header file name.
7656         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7657         Reported by Daniel Richard G. <skunk@iskunk.org>.
7658
7659 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7660
7661         Support for old NeXTstep 3.3 gcc.
7662         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
7663         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
7664         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
7665         * lib/spawn.in.h (_Restrict_arr_): Likewise.
7666         * lib/regex.h (_Restrict_arr_): Likewise.
7667         * lib/regex_internal.h (re_token_t): Likewise.
7668         * lib/regexec.c (check_node_accept_bytes): Likewise.
7669         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
7670
7671 2011-10-18  Eric Blake  <eblake@redhat.com>
7672
7673         posix_openpt: new module
7674         * modules/posix_openpt: New module.
7675         * m4/posix_openpt.m4: New file.
7676         * lib/posix_openpt.c: Likewise.
7677         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7678         (gl_STDLIB_H_DEFAULTS): Set defaults.
7679         * modules/stdlib (Makefile.am): Substitute macros.
7680         * lib/stdlib.in.h (posix_openpt): Declare.
7681         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
7682         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
7683         * modules/posix_openpt-tests: New test module.
7684         * tests/test-posix_openpt.c: New test.
7685
7686 2011-10-15  Bruno Haible  <bruno@clisp.org>
7687
7688         xstrtoll: Fix compilation failure.
7689         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
7690         from lib/strtol.c.
7691         * doc/posix-headers/limits.texi: Mention missing numerical limits on
7692         some platforms.
7693         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7694
7695 2011-10-15  Bruno Haible  <bruno@clisp.org>
7696
7697         vasnprintf: Optimize bit search operation.
7698         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
7699         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
7700         gl_DOUBLE_EXPONENT_LOCATION.
7701         * modules/vasnprintf (Files): Add m4/exponentd.m4.
7702         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7703         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7704         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7705         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7706         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7707         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7708         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7709         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
7710
7711 2011-10-15  Bruno Haible  <bruno@clisp.org>
7712
7713         vasnprintf: Fix comments.
7714         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
7715
7716 2011-10-14  Bruno Haible  <bruno@clisp.org>
7717
7718         Tests for module 'integer_length_ll'.
7719         * modules/integer_length_ll-tests: New file.
7720         * tests/test-integer_length_ll.c: New file.
7721
7722         New module 'integer_length_ll'.
7723         * lib/integer_length_ll.c: New file.
7724         * modules/integer_length_ll: New file.
7725
7726 2011-10-14  Bruno Haible  <bruno@clisp.org>
7727
7728         Tests for module 'integer_length_l'.
7729         * modules/integer_length_l-tests: New file.
7730         * tests/test-integer_length_l.c: New file.
7731
7732         New module 'integer_length_l'.
7733         * lib/integer_length_l.c: New file.
7734         * modules/integer_length_l: New file.
7735
7736 2011-10-14  Bruno Haible  <bruno@clisp.org>
7737
7738         Tests for module 'integer_length'.
7739         * modules/integer_length-tests: New file.
7740         * tests/test-integer_length.c: New file.
7741
7742         New module 'integer_length'.
7743         * lib/integer_length.h: New file.
7744         * lib/integer_length.c: New file.
7745         * modules/integer_length: New file.
7746
7747 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7748
7749         popen: Fix dependency conditions.
7750         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
7751
7752 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7753
7754         perror: Fix autoconf test.
7755         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
7756         <stdlib.h> and <string.h>.
7757
7758 2011-10-14  Bruno Haible  <bruno@clisp.org>
7759
7760         ffsl: Optimize on 64-bit platforms.
7761         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
7762         unrolling.
7763
7764 2011-10-13  Bruno Haible  <bruno@clisp.org>
7765
7766         ffsl: Optimize on 32-bit platforms.
7767         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
7768         use ffs() without a loop.
7769
7770         ffsl, ffsll: Optimize for GCC.
7771         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
7772         * lib/ffsl.c (GCC_BUILTIN): New macro.
7773         * lib/ffsll.c (GCC_BUILTIN): Likewise.
7774
7775 2011-10-13  Bruno Haible  <bruno@clisp.org>
7776
7777         ffs, bcopy, memset: Support symbol renaming via config.h.
7778         * lib/ffs.c: Include <config.h>.
7779         * lib/bcopy.c: Likewise.
7780         * lib/memset.c: Likewise.
7781
7782 2011-10-10  Bruno Haible  <bruno@clisp.org>
7783
7784         atanl: Simplify for platforms where 'long double' == 'double'.
7785         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7786         alternative implementation.
7787         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7788         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7789         * modules/atanl (Depends-on): Add atan. Update conditions.
7790
7791 2011-10-10  Bruno Haible  <bruno@clisp.org>
7792
7793         acosl: Simplify for platforms where 'long double' == 'double'.
7794         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7795         alternative implementation.
7796         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7797         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7798         * modules/acosl (Depends-on): Add acos. Update conditions.
7799
7800 2011-10-10  Bruno Haible  <bruno@clisp.org>
7801
7802         asinl: Simplify for platforms where 'long double' == 'double'.
7803         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7804         alternative implementation.
7805         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7806         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7807         * modules/asinl (Depends-on): Add asin. Update conditions.
7808
7809 2011-10-10  Bruno Haible  <bruno@clisp.org>
7810
7811         tanl: Simplify for platforms where 'long double' == 'double'.
7812         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7813         implementation.
7814         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7815         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7816         * modules/tanl (Depends-on): Add tan. Update conditions.
7817         (configure.ac): Don't compile trigl.c if
7818         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7819
7820 2011-10-10  Bruno Haible  <bruno@clisp.org>
7821
7822         cosl: Simplify for platforms where 'long double' == 'double'.
7823         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7824         implementation.
7825         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7826         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7827         * modules/cosl (Depends-on): Add cos. Update conditions.
7828         (configure.ac): Don't compile sincosl.c and trigl.c if
7829         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7830
7831 2011-10-10  Bruno Haible  <bruno@clisp.org>
7832
7833         sinl: Simplify for platforms where 'long double' == 'double'.
7834         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7835         implementation.
7836         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7837         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7838         * modules/sinl (Depends-on): Add sin. Update conditions.
7839         (configure.ac): Don't compile sincosl.c and trigl.c if
7840         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7841
7842 2011-10-10  Bruno Haible  <bruno@clisp.org>
7843
7844         logl: Simplify for platforms where 'long double' == 'double'.
7845         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7846         implementation.
7847         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7848         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7849         * modules/logl (Depends-on): Add log. Update conditions.
7850
7851 2011-10-10  Bruno Haible  <bruno@clisp.org>
7852
7853         expl: Simplify for platforms where 'long double' == 'double'.
7854         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7855         implementation.
7856         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7857         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7858         * modules/expl (Depends-on): Add exp. Update conditions.
7859
7860 2011-10-10  Bruno Haible  <bruno@clisp.org>
7861
7862         sqrtl: Simplify for platforms where 'long double' == 'double'.
7863         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7864         alternative implementation.
7865         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7866         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7867         * modules/sqrtl (Depends-on): Update conditions.
7868
7869 2011-10-10  Bruno Haible  <bruno@clisp.org>
7870
7871         ldexpl: Simplify for platforms where 'long double' == 'double'.
7872         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7873         alternative implementation.
7874         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7875         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7876         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
7877
7878 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
7879
7880         ffsll: set correct witness
7881         * modules/ffsll (configure.ac): Fix typo.
7882
7883 2011-10-10  Bruno Haible  <bruno@clisp.org>
7884
7885         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
7886         * lib/printf-frexpl.c: Include <config.h>.
7887         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7888         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
7889         second time.
7890         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
7891         gl_LONG_DOUBLE_VS_DOUBLE.
7892         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
7893         conditions.
7894
7895 2011-10-10  Bruno Haible  <bruno@clisp.org>
7896
7897         frexpl: Simplify for platforms where 'long double' == 'double'.
7898         * lib/frexpl.c: Include <config.h>.
7899         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7900         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7901         time.
7902         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7903         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7904         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
7905         * modules/frexpl (Depends-on): Add frexp. Update conditions.
7906         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
7907         conditions.
7908
7909 2011-10-10  Jim Meyering  <meyering@redhat.com>
7910
7911         test-renameat: don't leave behind a temporary file
7912         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
7913           ERROR: files left in build directory after distclean:
7914           ./gltests/test-renameat.too
7915           make[1]: *** [distcleancheck] Error 1
7916         Reported by Tom G. Christensen.
7917
7918 2011-10-09  Bruno Haible  <bruno@clisp.org>
7919
7920         rint: Determine RINT_LIBM correctly on AIX 7.
7921         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
7922         directly, not only through a function pointer. Also accept an optional
7923         4th argument with extra code.
7924         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
7925         rintf() call by gcc when optimizing.
7926
7927         mathfunc.m4: Refactor.
7928         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
7929         m4 variable.
7930
7931 2011-10-09  Bruno Haible  <bruno@clisp.org>
7932
7933         rintl: Simplify for platforms where 'long double' == 'double'.
7934         * lib/rintl.c: Include <config.h>.
7935         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7936         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7937         time.
7938         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7939         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7940         * modules/rintl (Depends-on): Add rint. Update conditions.
7941
7942 2011-10-09  Bruno Haible  <bruno@clisp.org>
7943
7944         roundl: Simplify for platforms where 'long double' == 'double'.
7945         * lib/roundl.c: Include <config.h>.
7946         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7947         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7948         time.
7949         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7950         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7951         * modules/roundl (Depends-on): Add round. Update conditions.
7952
7953 2011-10-09  Bruno Haible  <bruno@clisp.org>
7954
7955         truncl: Simplify for platforms where 'long double' == 'double'.
7956         * lib/truncl.c: Include <config.h>.
7957         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7958         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7959         time.
7960         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7961         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7962         * modules/truncl (Depends-on): Add trunc. Update conditions.
7963
7964 2011-10-09  Bruno Haible  <bruno@clisp.org>
7965
7966         ceill: Simplify for platforms where 'long double' == 'double'.
7967         * lib/ceill.c: Include <config.h>.
7968         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7969         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7970         time.
7971         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7972         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7973         * modules/ceill (Depends-on): Add ceil. Update conditions.
7974
7975 2011-10-09  Bruno Haible  <bruno@clisp.org>
7976
7977         floorl: Simplify for platforms where 'long double' == 'double'.
7978         * lib/floorl.c: Include <config.h>.
7979         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7980         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7981         time.
7982         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7983         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7984         * modules/floorl (Depends-on): Add floor. Update conditions.
7985
7986 2011-10-09  Bruno Haible  <bruno@clisp.org>
7987
7988         rint: Fix ordering constraints.
7989         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
7990         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
7991         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
7992
7993 2011-10-09  Bruno Haible  <bruno@clisp.org>
7994
7995         copysignl: Simplify for platforms where 'long double' == 'double'.
7996         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7997         alternative.
7998         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7999         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8000         * modules/copysignl (Depends-on): Add copysign. Update conditions.
8001
8002 2011-10-09  Bruno Haible  <bruno@clisp.org>
8003
8004         Tests for module 'rintl'.
8005         * modules/rintl-tests: New file.
8006         * tests/test-rintl.c: New file.
8007
8008         New module 'rintl'.
8009         * lib/math.in.h (rintl): New declaration.
8010         * lib/rintl.c: New file.
8011         * m4/rintl.m4: New file.
8012         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
8013         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
8014         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
8015         * modules/rintl: New file.
8016         * tests/test-math-c++.cc: Check the declaration of rintl.
8017         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8018         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
8019         * doc/posix-functions/rintl.texi: Mention the new module.
8020
8021 2011-10-09  Bruno Haible  <bruno@clisp.org>
8022
8023         Tests for module 'rintf'.
8024         * modules/rintf-tests: New file.
8025         * tests/test-rintf.c: New file.
8026
8027         New module 'rintf'.
8028         * lib/math.in.h (rintf): New declaration.
8029         * lib/rintf.c: New file.
8030         * m4/rintf.m4: New file.
8031         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
8032         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
8033         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
8034         * modules/rintf: New file.
8035         * tests/test-math-c++.cc: Check the declaration of rintf.
8036         * doc/posix-functions/rintf.texi: Mention the new module.
8037
8038 2011-10-09  Bruno Haible  <bruno@clisp.org>
8039
8040         rint: Support for MSVC.
8041         * lib/math.in.h (rint): New declaration.
8042         * lib/rint.c: New file.
8043         * m4/rint.m4: New file.
8044         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
8045         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
8046         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
8047         * modules/rint (Description): Fix.
8048         (Files): Add lib/rint.c, m4/rint.m4.
8049         (Depends-on): Add math.
8050         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
8051         gl_MATH_MODULE_INDICATOR.
8052         * tests/test-math-c++.cc: Check the declaration of rint.
8053         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8054         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
8055         * doc/posix-functions/rint.texi: Mention the replacement provided by
8056         the module.
8057
8058         rint tests: More tests.
8059         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
8060         minus-zero.h, infinity.h, nan.h.
8061         (main): Skip the test if the current rounding mode is not standard. Add
8062         tests for negative numbers, minus zero, infinity, NaN.
8063         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
8064         tests/nan.h.
8065         (Depends-on): Add isnand-nolibm.
8066
8067 2011-10-09  Bruno Haible  <bruno@clisp.org>
8068
8069         Tests for module 'copysignl'.
8070         * modules/copysignl-tests: New file.
8071         * tests/test-copysignl.c: New file.
8072
8073         New module 'copysignl'.
8074         * lib/math.in.h (copysignl): New declaration.
8075         * lib/copysignl.c: New file.
8076         * m4/copysignl.m4: New file.
8077         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
8078         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
8079         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
8080         HAVE_COPYSIGNL.
8081         * modules/copysignl: New file.
8082         * tests/test-math-c++.cc: Check the declaration of copysignl.
8083         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8084         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
8085         * doc/posix-functions/copysignl.texi: Mention the new module.
8086
8087 2011-10-09  Bruno Haible  <bruno@clisp.org>
8088
8089         Tests for module 'copysignf'.
8090         * modules/copysignf-tests: New file.
8091         * tests/test-copysignf.c: New file.
8092
8093         New module 'copysignf'.
8094         * lib/math.in.h (copysignf): New declaration.
8095         * lib/copysignf.c: New file.
8096         * m4/copysignf.m4: New file.
8097         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
8098         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
8099         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
8100         HAVE_COPYSIGNF.
8101         * modules/copysignf: New file.
8102         * tests/test-math-c++.cc: Check the declaration of copysignf.
8103         * doc/posix-functions/copysignf.texi: Mention the new module.
8104
8105 2011-10-09  Bruno Haible  <bruno@clisp.org>
8106
8107         Ensure that HAVE_* variables are set to 1 before they are set to 0.
8108         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
8109         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
8110         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8111         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
8112         gl_SIGNAL_H_DEFAULTS.
8113
8114 2011-10-09  Bruno Haible  <bruno@clisp.org>
8115
8116         poll: Make macro safer.
8117         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
8118         ac_cv_header_poll_h is not set.
8119
8120 2011-10-09  Bruno Haible  <bruno@clisp.org>
8121
8122         copysign: Provide replacement.
8123         * lib/math.in.h (copysign): New declaration.
8124         * lib/copysign.c: New file.
8125         * m4/copysign.m4: New file.
8126         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
8127         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
8128         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
8129         HAVE_COPYSIGN.
8130         * modules/copysign (Description): Clarify.
8131         (Files): Add lib/copysign.c, m4/copysign.m4.
8132         (Depends-on): Add math, signbit.
8133         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
8134         gl_MATH_MODULE_INDICATOR.
8135         * tests/test-math-c++.cc: Check the declaration of copysign.
8136         * doc/posix-functions/copysign.texi: Mention the effects of the module
8137         on Minix and MSVC.
8138
8139 2011-10-09  Bruno Haible  <bruno@clisp.org>
8140
8141         isinf: Ensure macro on AIX 5.1.
8142         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
8143         macro.
8144         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
8145
8146 2011-10-09  Bruno Haible  <bruno@clisp.org>
8147
8148         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
8149         * modules/snprintf-posix-tests (configure.ac): Require
8150         gl_LONG_DOUBLE_VS_DOUBLE.
8151         * modules/sprintf-posix-tests (configure.ac): Likewise.
8152         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
8153         * modules/vasprintf-posix-tests (configure.ac): Likewise.
8154         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
8155         * modules/vsprintf-posix-tests (configure.ac): Likewise.
8156         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
8157         tests on platforms where 'long double' is the same as 'double'.
8158         * tests/test-sprintf-posix.h (test_function): Likewise.
8159         * tests/test-vasnprintf-posix.c (test_function): Likewise.
8160         * tests/test-vasprintf-posix.c (test_function): Likewise.
8161
8162         *printf: Fix for platforms where 'long double' == 'double'.
8163         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
8164         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
8165         * modules/dprintf-posix (Files): Add m4/math_h.m4.
8166         * modules/fprintf-posix (Files): Likewise.
8167         * modules/obstack-printf-posix (Files): Likewise.
8168         * modules/snprintf-posix (Files): Likewise.
8169         * modules/sprintf-posix (Files): Likewise.
8170         * modules/vasnprintf (Files): Likewise.
8171         * modules/vasnprintf-posix (Files): Likewise.
8172         * modules/vasprintf-posix (Files): Likewise.
8173         * modules/vdprintf-posix (Files): Likewise.
8174         * modules/vfprintf-posix (Files): Likewise.
8175         * modules/vsnprintf-posix (Files): Likewise.
8176         * modules/vsprintf-posix (Files): Likewise.
8177         * modules/unistdio/u8-vasnprintf (Files): Likewise.
8178         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
8179         * modules/unistdio/u16-vasnprintf (Files): Likewise.
8180         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
8181         * modules/unistdio/u32-vasnprintf (Files): Likewise.
8182         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
8183         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
8184
8185         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
8186         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
8187         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8188         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
8189         'long double'.
8190         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
8191
8192         isinf: Fix for platforms where 'long double' == 'double'.
8193         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
8194         Don't blindly assume 80-bit 'long double'.
8195
8196         isfinite: Fix for platforms where 'long double' == 'double'.
8197         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
8198         Don't blindly assume 80-bit 'long double'.
8199
8200         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
8201         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
8202         * modules/isfinite-tests (configure.ac): Require
8203         gl_LONG_DOUBLE_VS_DOUBLE.
8204         * modules/isinf-tests (configure.ac): Likewise.
8205         * modules/isnan-tests (configure.ac): Likewise.
8206         * modules/isnanl-tests (configure.ac): Likewise.
8207         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
8208         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
8209         tests on platforms where 'long double' is the same as 'double'.
8210         * tests/test-isinf.c (test_isinfl): Likewise.
8211         * tests/test-isnan.c (test_long_double): Likewise.
8212         * tests/test-isnanl.h (main): Likewise.
8213
8214 2011-10-08  Bruno Haible  <bruno@clisp.org>
8215
8216         Tests for module 'tanhf'.
8217         * modules/tanhf-tests: New file.
8218         * tests/test-tanhf.c: New file.
8219
8220         New module 'tanhf'.
8221         * lib/math.in.h (tanhf): New declaration.
8222         * lib/tanhf.c: New file.
8223         * m4/tanhf.m4: New file.
8224         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
8225         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
8226         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
8227         * modules/tanhf: New file.
8228         * tests/test-math-c++.cc: Check the declaration of tanhf.
8229         * doc/posix-functions/tanhf.texi: Mention the new module.
8230
8231         tanh: Use a .m4 file.
8232         * m4/tanh.m4: New file.
8233         * modules/tanh (Files): Add it.
8234         (configure.ac): Just invoke gl_FUNC_TANH.
8235
8236 2011-10-08  Bruno Haible  <bruno@clisp.org>
8237
8238         Tests for module 'coshf'.
8239         * modules/coshf-tests: New file.
8240         * tests/test-coshf.c: New file.
8241
8242         New module 'coshf'.
8243         * lib/math.in.h (coshf): New declaration.
8244         * lib/coshf.c: New file.
8245         * m4/coshf.m4: New file.
8246         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
8247         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
8248         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
8249         * modules/coshf: New file.
8250         * tests/test-math-c++.cc: Check the declaration of coshf.
8251         * doc/posix-functions/coshf.texi: Mention the new module.
8252
8253         cosh: Use a .m4 file.
8254         * m4/cosh.m4: New file.
8255         * modules/cosh (Files): Add it.
8256         (configure.ac): Just invoke gl_FUNC_COSH.
8257
8258 2011-10-08  Bruno Haible  <bruno@clisp.org>
8259
8260         Tests for module 'sinhf'.
8261         * modules/sinhf-tests: New file.
8262         * tests/test-sinhf.c: New file.
8263
8264         New module 'sinhf'.
8265         * lib/math.in.h (sinhf): New declaration.
8266         * lib/sinhf.c: New file.
8267         * m4/sinhf.m4: New file.
8268         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
8269         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
8270         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
8271         * modules/sinhf: New file.
8272         * tests/test-math-c++.cc: Check the declaration of sinhf.
8273         * doc/posix-functions/sinhf.texi: Mention the new module.
8274
8275         sinh: Use a .m4 file.
8276         * m4/sinh.m4: New file.
8277         * modules/sinh (Files): Add it.
8278         (configure.ac): Just invoke gl_FUNC_SINH.
8279
8280 2011-10-08  Bruno Haible  <bruno@clisp.org>
8281
8282         Tests for module 'atan2f'.
8283         * modules/atan2f-tests: New file.
8284         * tests/test-atan2f.c: New file.
8285
8286         New module 'atan2f'.
8287         * lib/math.in.h (atan2f): New declaration.
8288         * lib/atan2f.c: New file.
8289         * m4/atan2f.m4: New file.
8290         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
8291         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
8292         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
8293         * modules/atan2f: New file.
8294         * tests/test-math-c++.cc: Check the declaration of atan2f.
8295         * doc/posix-functions/atan2f.texi: Mention the new module.
8296
8297         atan2: Use a .m4 file.
8298         * m4/atan2.m4: New file.
8299         * modules/atan2 (Files): Add it.
8300         (configure.ac): Just invoke gl_FUNC_ATAN2.
8301
8302 2011-10-08  Bruno Haible  <bruno@clisp.org>
8303
8304         Tests for module 'atanf'.
8305         * modules/atanf-tests: New file.
8306         * tests/test-atanf.c: New file.
8307
8308         New module 'atanf'.
8309         * lib/math.in.h (atanf): New declaration.
8310         * lib/atanf.c: New file.
8311         * m4/atanf.m4: New file.
8312         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
8313         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
8314         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
8315         * modules/atanf: New file.
8316         * tests/test-math-c++.cc: Check the declaration of atanf.
8317         * doc/posix-functions/atanf.texi: Mention the new module.
8318
8319         atan: Use a .m4 file.
8320         * m4/atan.m4: New file.
8321         * modules/atan (Files): Add it.
8322         (configure.ac): Just invoke gl_FUNC_ATAN.
8323
8324 2011-10-08  Bruno Haible  <bruno@clisp.org>
8325
8326         Tests for module 'acosf'.
8327         * modules/acosf-tests: New file.
8328         * tests/test-acosf.c: New file.
8329
8330         New module 'acosf'.
8331         * lib/math.in.h (acosf): New declaration.
8332         * lib/acosf.c: New file.
8333         * m4/acosf.m4: New file.
8334         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
8335         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
8336         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
8337         * modules/acosf: New file.
8338         * tests/test-math-c++.cc: Check the declaration of acosf.
8339         * doc/posix-functions/acosf.texi: Mention the new module.
8340
8341         acos: Use a .m4 file.
8342         * m4/acos.m4: New file.
8343         * modules/acos (Files): Add it.
8344         (configure.ac): Just invoke gl_FUNC_ACOS.
8345
8346 2011-10-08  Bruno Haible  <bruno@clisp.org>
8347
8348         Tests for module 'asinf'.
8349         * modules/asinf-tests: New file.
8350         * tests/test-asinf.c: New file.
8351
8352         New module 'asinf'.
8353         * lib/math.in.h (asinf): New declaration.
8354         * lib/asinf.c: New file.
8355         * m4/asinf.m4: New file.
8356         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
8357         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
8358         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
8359         * modules/asinf: New file.
8360         * tests/test-math-c++.cc: Check the declaration of asinf.
8361         * doc/posix-functions/asinf.texi: Mention the new module.
8362
8363         asin: Use a .m4 file.
8364         * m4/asin.m4: New file.
8365         * modules/asin (Files): Add it.
8366         (configure.ac): Just invoke gl_FUNC_ASIN.
8367
8368 2011-10-08  Bruno Haible  <bruno@clisp.org>
8369
8370         Tests for module 'tanf'.
8371         * modules/tanf-tests: New file.
8372         * tests/test-tanf.c: New file.
8373
8374         New module 'tanf'.
8375         * lib/math.in.h (tanf): New declaration.
8376         * lib/tanf.c: New file.
8377         * m4/tanf.m4: New file.
8378         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
8379         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
8380         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
8381         * modules/tanf: New file.
8382         * tests/test-math-c++.cc: Check the declaration of tanf.
8383         * doc/posix-functions/tanf.texi: Mention the new module.
8384
8385         tan: Use a .m4 file.
8386         * m4/tan.m4: New file.
8387         * modules/tan (Files): Add it.
8388         (configure.ac): Just invoke gl_FUNC_TAN.
8389
8390 2011-10-08  Bruno Haible  <bruno@clisp.org>
8391
8392         Tests for module 'cosf'.
8393         * modules/cosf-tests: New file.
8394         * tests/test-cosf.c: New file.
8395
8396         New module 'cosf'.
8397         * lib/math.in.h (cosf): New declaration.
8398         * lib/cosf.c: New file.
8399         * m4/cosf.m4: New file.
8400         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
8401         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
8402         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
8403         * modules/cosf: New file.
8404         * tests/test-math-c++.cc: Check the declaration of cosf.
8405         * doc/posix-functions/cosf.texi: Mention the new module.
8406
8407         cos: Use a .m4 file.
8408         * m4/cos.m4: New file.
8409         * modules/cos (Files): Add it.
8410         (configure.ac): Just invoke gl_FUNC_COS.
8411
8412 2011-10-08  Bruno Haible  <bruno@clisp.org>
8413
8414         Tests for module 'sinf'.
8415         * modules/sinf-tests: New file.
8416         * tests/test-sinf.c: New file.
8417
8418         New module 'sinf'.
8419         * lib/math.in.h (sinf): New declaration.
8420         * lib/sinf.c: New file.
8421         * m4/sinf.m4: New file.
8422         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
8423         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
8424         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
8425         * modules/sinf: New file.
8426         * tests/test-math-c++.cc: Check the declaration of sinf.
8427         * doc/posix-functions/sinf.texi: Mention the new module.
8428
8429         sin: Use a .m4 file.
8430         * m4/sin.m4: New file.
8431         * modules/sin (Files): Add it.
8432         (configure.ac): Just invoke gl_FUNC_SIN.
8433
8434 2011-10-08  Bruno Haible  <bruno@clisp.org>
8435
8436         Tests for module 'powf'.
8437         * modules/powf-tests: New file.
8438         * tests/test-powf.c: New file.
8439
8440         New module 'powf'.
8441         * lib/math.in.h (powf): New declaration.
8442         * lib/powf.c: New file.
8443         * m4/powf.m4: New file.
8444         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
8445         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
8446         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
8447         * modules/powf: New file.
8448         * tests/test-math-c++.cc: Check the declaration of powf.
8449         * doc/posix-functions/powf.texi: Mention the new module.
8450
8451         pow: Use a .m4 file.
8452         * m4/pow.m4: New file.
8453         * modules/pow (Files): Add it.
8454         (configure.ac): Just invoke gl_FUNC_POW.
8455
8456 2011-10-08  Bruno Haible  <bruno@clisp.org>
8457
8458         Tests for module 'log10f'.
8459         * modules/log10f-tests: New file.
8460         * tests/test-log10f.c: New file.
8461
8462         New module 'log10f'.
8463         * lib/math.in.h (log10f): New declaration.
8464         * lib/log10f.c: New file.
8465         * m4/log10f.m4: New file.
8466         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
8467         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
8468         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
8469         * modules/log10f: New file.
8470         * tests/test-math-c++.cc: Check the declaration of log10f.
8471         * doc/posix-functions/log10f.texi: Mention the new module.
8472
8473         log10: Use a .m4 file.
8474         * m4/log10.m4: New file.
8475         * modules/log10 (Files): Add it.
8476         (configure.ac): Just invoke gl_FUNC_LOG10.
8477
8478 2011-10-08  Bruno Haible  <bruno@clisp.org>
8479
8480         Tests for module 'logf'.
8481         * modules/logf-tests: New file.
8482         * tests/test-logf.c: New file.
8483
8484         New module 'logf'.
8485         * lib/math.in.h (logf): New declaration.
8486         * lib/logf.c: New file.
8487         * m4/logf.m4: New file.
8488         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
8489         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
8490         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
8491         * modules/logf: New file.
8492         * tests/test-math-c++.cc: Check the declaration of logf.
8493         * doc/posix-functions/logf.texi: Mention the new module.
8494
8495         log: Use a .m4 file.
8496         * m4/log.m4: New file.
8497         * modules/log (Files): Add it.
8498         (configure.ac): Just invoke gl_FUNC_LOG.
8499
8500 2011-10-08  Bruno Haible  <bruno@clisp.org>
8501
8502         Tests for module 'expf'.
8503         * modules/expf-tests: New file.
8504         * tests/test-expf.c: New file.
8505
8506         New module 'expf'.
8507         * lib/math.in.h (expf): New declaration.
8508         * lib/expf.c: New file.
8509         * m4/expf.m4: New file.
8510         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
8511         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
8512         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
8513         * modules/expf: New file.
8514         * tests/test-math-c++.cc: Check the declaration of expf.
8515         * doc/posix-functions/expf.texi: Mention the new module.
8516
8517         exp: Use a .m4 file.
8518         * m4/exp.m4: New file.
8519         * modules/exp (Files): Add it.
8520         (configure.ac): Just invoke gl_FUNC_EXP.
8521
8522 2011-10-08  Bruno Haible  <bruno@clisp.org>
8523
8524         Tests for module 'sqrtf'.
8525         * modules/sqrtf-tests: New file.
8526         * tests/test-sqrtf.c: New file.
8527
8528         New module 'sqrtf'.
8529         * lib/math.in.h (sqrtf): New declaration.
8530         * lib/sqrtf.c: New file.
8531         * m4/sqrtf.m4: New file.
8532         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
8533         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
8534         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
8535         * modules/sqrtf: New file.
8536         * tests/test-math-c++.cc: Check the declaration of sqrtf.
8537         * doc/posix-functions/sqrtf.texi: Mention the new module.
8538
8539 2011-10-08  Bruno Haible  <bruno@clisp.org>
8540
8541         Tests: Avoid link failures w.r.t. libintl.
8542         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
8543         $(LIBINTL).
8544         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
8545         $(LIBINTL).
8546         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
8547         against $(LIBINTL).
8548         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
8549         $(LIBINTL).
8550         * modules/openat-tests (Makefile.am): Link test-fchmodat against
8551         $(LIBINTL).
8552         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
8553
8554 2011-10-08  Bruno Haible  <bruno@clisp.org>
8555
8556         pow tests: Defeat compiler optimizations.
8557         * tests/test-pow.c (main): Assign arguments to x and y before use.
8558
8559 2011-10-08  Bruno Haible  <bruno@clisp.org>
8560
8561         gnulib-tool: Improve last commit.
8562         * gnulib-tool (func_modules_transitive_closure): Simplify code.
8563         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
8564         ignore dependencies that are not among the modules list.
8565
8566 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
8567
8568         gnulib-tool: don't follow dependencies to avoided modules
8569         This fixes a bug that is related to the previous one.
8570         * gnulib-tool (func_modules_transitive_closure)
8571         (func_emit_autoconf_snippets):
8572         Check whether a dependency is acceptable before using it.
8573         (--extract-dependencies): Report an error if --avoid is also used,
8574         since this combination of options is not yet supported.
8575
8576         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
8577         Problem reported by Peter Dyballa in
8578         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
8579         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
8580         when echoing "$condition".
8581
8582 2011-10-07  Bruno Haible  <bruno@clisp.org>
8583
8584         Fix documentation about math functions on MacOS X.
8585         * doc/posix-functions/exp2.texi: Don't say the function is missing on
8586         MacOS X 10.5.
8587         * doc/posix-functions/fdim.texi: Likewise.
8588         * doc/posix-functions/feclearexcept.texi: Likewise.
8589         * doc/posix-functions/fegetenv.texi: Likewise.
8590         * doc/posix-functions/fegetround.texi: Likewise.
8591         * doc/posix-functions/feholdexcept.texi: Likewise.
8592         * doc/posix-functions/feraiseexcept.texi: Likewise.
8593         * doc/posix-functions/fesetenv.texi: Likewise.
8594         * doc/posix-functions/fesetround.texi: Likewise.
8595         * doc/posix-functions/fetestexcept.texi: Likewise.
8596         * doc/posix-functions/feupdateenv.texi: Likewise.
8597         * doc/posix-functions/fmax.texi: Likewise.
8598         * doc/posix-functions/fmin.texi: Likewise.
8599         * doc/posix-functions/log2.texi: Likewise.
8600         * doc/posix-functions/modff.texi: Likewise.
8601         * doc/posix-functions/nan.texi: Likewise.
8602         * doc/posix-functions/nanf.texi: Likewise.
8603         * doc/posix-functions/nextafterf.texi: Likewise.
8604         * doc/posix-functions/remquo.texi: Likewise.
8605
8606 2011-10-07  Bruno Haible  <bruno@clisp.org>
8607
8608         modff: Drop assumption about library that defines modff.
8609         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
8610         AC_CHECK_FUNCS.
8611         * modules/modff (Files): Add m4/mathfunc.m4.
8612
8613 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
8614
8615         raise tests: Avoid a GCC warning.
8616         * tests/test-raise.c (handler): Use _Noreturn.
8617
8618 2011-10-07  Bruno Haible  <bruno@clisp.org>
8619
8620         Tests for module 'ldexpf'.
8621         * modules/ldexpf-tests: New file.
8622         * tests/test-ldexpf.c: New file.
8623
8624         New module 'ldexpf'.
8625         * lib/math.in.h (ldexpf): New declaration.
8626         * lib/ldexpf.c: New file.
8627         * m4/ldexpf.m4: New file.
8628         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
8629         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
8630         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
8631         * modules/ldexpf: New file.
8632         * tests/test-math-c++.cc: Check the declaration of ldexpf.
8633         * doc/posix-functions/ldexpf.texi: Mention the new module.
8634
8635 2011-10-06  Bruno Haible  <bruno@clisp.org>
8636
8637         frexpf: Work around problems on IRIX and mingw.
8638         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
8639         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
8640         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
8641         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
8642         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
8643         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
8644         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
8645
8646 2011-10-06  Bruno Haible  <bruno@clisp.org>
8647
8648         fabsf: Drop assumption about library that defines fabsf.
8649         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
8650         AC_CHECK_FUNCS.
8651         * modules/fabsf (Files): Add m4/mathfunc.m4.
8652
8653 2011-10-06  Bruno Haible  <bruno@clisp.org>
8654
8655         frexpf: Drop assumption about library that defines frexpf.
8656         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
8657         'int *', 'float *', 'long double *', 'float', 'long double'.
8658         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
8659         AC_CHECK_FUNCS.
8660         * modules/frexpf (Files): Add m4/mathfunc.m4.
8661
8662         Tests for module 'frexpf'.
8663         * modules/frexpf-tests: New file.
8664         * tests/test-frexpf.c: New file.
8665
8666         New module 'frexpf'.
8667         * lib/math.in.h (frexpf): New declaration.
8668         * lib/frexpf.c: New file.
8669         * m4/frexpf.m4: New file.
8670         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
8671         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
8672         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
8673         * modules/frexpf: New file.
8674         * tests/test-math-c++.cc: Check the declaration of frexpf.
8675         * doc/posix-functions/frexpf.texi: Mention the new module.
8676
8677 2011-10-06  Bruno Haible  <bruno@clisp.org>
8678
8679         math: Sort function declarations of math.in.h.
8680         * lib/math.in.h (frexp, logb): Move declarations.
8681
8682 2011-10-05  Bruno Haible  <bruno@clisp.org>
8683
8684         Tests for module 'modff'.
8685         * modules/modff-tests: New file.
8686         * tests/test-modff.c: New file.
8687
8688         New module 'modff'.
8689         * lib/math.in.h (modff): New declaration.
8690         * lib/modff.c: New file.
8691         * m4/modff.m4: New file.
8692         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
8693         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
8694         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
8695         * modules/modff: New file.
8696         * tests/test-math-c++.cc: Check the declaration of modff.
8697         * doc/posix-functions/modff.texi: Mention the new module.
8698
8699         modf tests: Make test sharper.
8700         * tests/test-modf.c (main): Strengthen upper bound.
8701
8702         modf: Use a .m4 file.
8703         * m4/modf.m4: New file.
8704         * modules/modf (Files): Add it.
8705         (configure.ac): Just invoke gl_FUNC_MODF.
8706
8707 2011-10-05  Bruno Haible  <bruno@clisp.org>
8708
8709         Tests for module 'fmodf'.
8710         * modules/fmodf-tests: New file.
8711         * tests/test-fmodf.c: New file.
8712
8713         New module 'fmodf'.
8714         * lib/math.in.h (fmodf): New declaration.
8715         * lib/fmodf.c: New file.
8716         * m4/fmodf.m4: New file.
8717         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
8718         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
8719         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
8720         * modules/fmodf: New file.
8721         * tests/test-math-c++.cc: Check the declaration of fmodf.
8722         * doc/posix-functions/fmodf.texi: Mention the new module.
8723
8724         fmod: Use a .m4 file.
8725         * m4/fmod.m4: New file.
8726         * modules/fmod (Files): Add it.
8727         (configure.ac): Just invoke gl_FUNC_FMOD.
8728
8729 2011-10-05  Bruno Haible  <bruno@clisp.org>
8730
8731         Tests for module 'fabsf'.
8732         * modules/fabsf-tests: New file.
8733         * tests/test-fabsf.c: New file.
8734
8735         New module 'fabsf'.
8736         * lib/math.in.h (fabsf): New declaration.
8737         * lib/fabsf.c: New file.
8738         * m4/fabsf.m4: New file.
8739         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
8740         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
8741         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
8742         * modules/fabsf: New file.
8743         * tests/test-math-c++.cc: Check the declaration of fabsf.
8744         * doc/posix-functions/fabsf.texi: Mention the new module.
8745
8746         fabs: Use a .m4 file.
8747         * m4/fabs.m4: New file.
8748         * modules/fabs (Files): Add it.
8749         (configure.ac): Just invoke gl_FUNC_FABS.
8750
8751 2011-10-05  Jim Meyering  <meyering@redhat.com>
8752
8753         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
8754         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
8755         ls -lL regression introduced in coreutils-8.12, it does so at the
8756         cost of an additional stat call in the common case.  Besides, now
8757         that the kernel change that prompted commit 95f7c57f has been reverted
8758         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
8759         we have no use for commit 95f7c57f, "file-has-acl: use
8760         acl_extended_file_nofollow if available".
8761
8762 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
8763
8764         file-has-acl: revert unintended change in behavior of ls -L
8765         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
8766         derived from...
8767         (file_has_acl): ...code here.  Call it.
8768         This problem was introduced with 2011-07-22 commit 95f7c57f,
8769         "file-has-acl: use acl_extended_file_nofollow if available".
8770         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
8771
8772 2011-10-03  Bruno Haible  <bruno@clisp.org>
8773
8774         poll: Avoid link errors on MSVC.
8775         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
8776         * modules/poll (Depends-on): Add sockets.
8777         (Link): New section.
8778         * NEWS: Mention the change.
8779         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
8780         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
8781         $(LIB_POLL) instead of $(LIBSOCKET).
8782
8783 2011-10-03  Bruno Haible  <bruno@clisp.org>
8784
8785         sys_select tests: Fix link error on MSVC 9.
8786         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
8787         with $(LIB_SELECT) instead of $(LIBSOCKET).
8788
8789 2011-10-03  Bruno Haible  <bruno@clisp.org>
8790
8791         sys_select: Fix compilation error on mingw.
8792         * lib/sys_select.in.h: On native Windows, include <io.h>.
8793
8794 2011-10-03  Bruno Haible  <bruno@clisp.org>
8795
8796         wmemset: Support for MSVC.
8797         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
8798         whether wmemset() exists.
8799
8800 2011-10-03  Bruno Haible  <bruno@clisp.org>
8801
8802         wmemmove: Support for MSVC.
8803         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
8804         whether wmemmove() exists.
8805
8806 2011-10-03  Bruno Haible  <bruno@clisp.org>
8807
8808         wmemcpy: Support for MSVC.
8809         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
8810         whether wmemcpy() exists.
8811
8812 2011-10-03  Bruno Haible  <bruno@clisp.org>
8813
8814         wmemcmp: Support for MSVC.
8815         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
8816         whether wmemcmp() exists.
8817
8818 2011-10-03  Bruno Haible  <bruno@clisp.org>
8819
8820         wmemchr: Support for MSVC.
8821         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
8822         whether wmemchr() exists.
8823
8824 2011-10-03  Bruno Haible  <bruno@clisp.org>
8825
8826         glthread/*, strsignal: Support for MSVC.
8827         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
8828         including <winsock.h> on MSVC 9.
8829         * lib/glthread/lock.h: Likewise.
8830         * lib/glthread/thread.h: Likewise.
8831         * lib/glthread/tls.h: Likewise.
8832         * lib/glthread/yield.h: Likewise.
8833         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
8834         if HAVE_UNISTD_H is false.
8835         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
8836
8837 2011-10-03  Bruno Haible  <bruno@clisp.org>
8838
8839         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
8840         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
8841         Set to 100000.
8842
8843 2011-10-03  Bruno Haible  <bruno@clisp.org>
8844
8845         acl: Fix specification.
8846         * lib/file-has-acl.c (file_has_acl): Fix specification.
8847
8848 2011-10-03  Bruno Haible  <bruno@clisp.org>
8849
8850         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
8851         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
8852         (compute_curr_prefix, shared_library_fullname,
8853         find_shared_library_fullname, get_shared_library_fullname, relocate):
8854         Use it together with PIC && INSTALLDIR.
8855         Reported by <jojelino@gmail.com>
8856         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
8857
8858 2011-10-01  Jim Meyering  <meyering@redhat.com>
8859
8860         maint.mk: adjust a release-related rule not to require use of gzip
8861         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
8862         Instead, check each file in $(DIST_ARCHIVES).  This is better for
8863         projects that build only .tar.xz files.  Also fix an erroneous test.
8864
8865         test-linkat: don't leave behind a temporary file
8866         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
8867         Otherwise, coreutils' "make distcheck" would fail with this:
8868           Only in /c/cu/tests/torture/coreutils/test/\
8869             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
8870           make[2]: *** [my-distcheck] Error 1
8871
8872         float, math: add omitted file
8873         * lib/itold.c: Add file, required for yesterday's float change.
8874
8875 2011-10-01  Bruno Haible  <bruno@clisp.org>
8876
8877         isinf: Fix for OpenBSD/x86.
8878         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
8879         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
8880         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
8881
8882 2011-10-01  Bruno Haible  <bruno@clisp.org>
8883
8884         isfinite: Fix syntax error in configure test.
8885         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
8886
8887         isfinite: Fix typo.
8888         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
8889         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
8890
8891 2011-10-01  Bruno Haible  <bruno@clisp.org>
8892
8893         nonblocking tests: Fix test failure on Linux/IA-64.
8894         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
8895         Set to 270000.
8896
8897 2011-10-01  Bruno Haible  <bruno@clisp.org>
8898
8899         mkfifoat tests: Fix a test failure on mingw.
8900         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
8901         with error ENOSYS.
8902
8903 2011-09-30  Bruno Haible  <bruno@clisp.org>
8904
8905         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
8906         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
8907         'long double'. Set REPLACE_ITOLD.
8908         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
8909         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
8910         * lib/itold.c: New file.
8911         * modules/float (Files): Add lib/itold.c.
8912         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
8913         (Makefile.am): Substitute REPLACE_ITOLD.
8914         * modules/math (Depends-on): Add float.
8915         (Makefile.am): Substitute REPLACE_ITOLD.
8916         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
8917         * doc/posix-headers/math.texi: Likewise.
8918         * doc/posix-functions/logl.texi: Likewise.
8919
8920 2011-09-30  Bruno Haible  <bruno@clisp.org>
8921
8922         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
8923         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
8924         Set to 140000.
8925
8926 2011-09-30  Bruno Haible  <bruno@clisp.org>
8927
8928         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
8929         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
8930         invocation, say "right after AC_PROG_CC_STDC", not "right after
8931         AC_PROG_CC".
8932         Reported by Gary V. Vaughan <gary@gnu.org>.
8933
8934 2011-09-30  Bruno Haible  <bruno@clisp.org>
8935
8936         Centralize C99 requirement.
8937         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
8938         * modules/stdarg (configure.ac-early): Invoke it instead of
8939         AC_PROG_CC_STDC.
8940         Reported by Gary V. Vaughan and Paul Eggert.
8941
8942 2011-09-29  Bruno Haible  <bruno@clisp.org>
8943
8944         float: Fix LDBL_MAX value on Linux/PowerPC.
8945         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
8946         on Linux/PowerPC.
8947         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
8948         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
8949         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
8950         platform.
8951         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
8952
8953 2011-09-29  Bruno Haible  <bruno@clisp.org>
8954
8955         doc: Improve doc about gl_EARLY.
8956         * doc/gnulib-tool.texi (Initial import): Mention where to place an
8957         AC_PROG_CC_STDC invocation.
8958         Reported by Gary V. Vaughan <gary@gnu.org>.
8959
8960 2011-09-28  Bruno Haible  <bruno@clisp.org>
8961
8962         fgetc, fputc, fread, fwrite tests: Fix link error.
8963         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
8964         on non-MSVC platforms.
8965         * tests/test-fputc.c (main): Likewise.
8966         * tests/test-fread.c (main): Likewise.
8967         * tests/test-fwrite.c (main): Likewise.
8968         Reported by Jim Meyering.
8969
8970 2011-09-27  Bruno Haible  <bruno@clisp.org>
8971
8972         fputc, fwrite tests: Avoid test failure on MSVC.
8973         * tests/test-fgetc.c: Include msvc-inval.h.
8974         (main): Invoke gl_msvc_inval_ensure_handler.
8975         * tests/test-fputc.c: Include msvc-inval.h.
8976         (main): Invoke gl_msvc_inval_ensure_handler.
8977         * tests/test-fread.c: Include msvc-inval.h.
8978         (main): Invoke gl_msvc_inval_ensure_handler.
8979         * tests/test-fwrite.c: Include msvc-inval.h.
8980         (main): Invoke gl_msvc_inval_ensure_handler.
8981         * modules/fgetc-tests (Depends-on): Add msvc-inval.
8982         * modules/fputc-tests (Depends-on): Likewise.
8983         * modules/fread-tests (Depends-on): Likewise.
8984         * modules/fwrite-tests (Depends-on): Likewise.
8985
8986 2011-09-27  Bruno Haible  <bruno@clisp.org>
8987
8988         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
8989         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
8990         (raise): Remove older, duplicated declaration.
8991         (_gl_raise_SIGPIPE): New declaration.
8992         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
8993         (rpl_raise): Remove function.
8994         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
8995         a gnulib-defined SIGPIPE here.
8996         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
8997         'sigprocmask' has detected missing signal-blocking and the module
8998         'sigpipe' is enabled.
8999         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
9000
9001 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
9002
9003         base64-tests: avoid memory leak
9004         * tests/test-base64.c (main): Plug memory leak.
9005
9006         base32: new module
9007         * modules/base32: New module.
9008         * lib/base32.c: New file.
9009         * lib/base32.h: Likewise.
9010         * m4/base32.m4: Likewise.
9011         * modules/base32-tests: New test.
9012         * tests/test-base32.c: Likewise.
9013         * MODULES.html.sh (Misc): Mention it.
9014
9015 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
9016
9017         gnulib: use more-standard license notice wording
9018         * gnulib-tool (func_emit_copyright_notice): When emitting a
9019         license notice into a file, use the standard wording as suggested
9020         by the current information for GNU maintainers, except say "file"
9021         rather than "program".  The new wording gives a license version
9022         number, which addresses an issue raised by Glenn Morris in
9023         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
9024         * m4/onceonly.m4: Use that same wording here, too.
9025
9026         dup2: minor simplification
9027         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
9028         as lib/dup2.c no longer uses 'inline'.
9029
9030 2011-09-25  Bruno Haible  <bruno@clisp.org>
9031
9032         strings: Fix compilation error on MSVC.
9033         * lib/strings.in.h: Include <stddef.h> for size_t.
9034
9035 2011-09-25  Bruno Haible  <bruno@clisp.org>
9036
9037         fflush et al.: Document limitation on MSVC.
9038         * doc/posix-functions/fflush.texi: Document possible crash in handling
9039         mode other than DEFAULT_HANDLING.
9040         * doc/posix-functions/fgetc.texi: Likewise.
9041         * doc/posix-functions/fputc.texi: Likewise.
9042         * doc/posix-functions/fread.texi: Likewise.
9043         * doc/posix-functions/fwrite.texi: Likewise.
9044
9045 2011-09-25  Bruno Haible  <bruno@clisp.org>
9046
9047         msvc-inval: Allow three invalid parameter handling modes.
9048         * lib/msvc-inval.h: Don't include <stdlib.h> here.
9049         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
9050         macros.
9051         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
9052         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
9053         SANE_LIBRARY_HANDLING as a no-op.
9054         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
9055         <stdlib.h>.
9056         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
9057
9058 2011-09-25  Bruno Haible  <bruno@clisp.org>
9059
9060         msvc-inval: Make handler multithread-safe.
9061         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
9062         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
9063         declarations.
9064         (gl_msvc_inval_current): New declaration.
9065         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
9066         Operate on the structure returned by gl_msvc_inval_current().
9067         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
9068         Remove varaiables.
9069         (tls_index, tls_initialized): New variables.
9070         (not_per_thread): New variable.
9071         (gl_msvc_inval_current): New function.
9072         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
9073         returned by gl_msvc_inval_current().
9074
9075 2011-09-25  Bruno Haible  <bruno@clisp.org>
9076
9077         msvc-inval: Install handler globally.
9078         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
9079         !_MSC_VER.
9080         (gl_msvc_invalid_parameter_handler): Remove declaration.
9081         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
9082         declarations.
9083         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
9084         Install the handler globally, don't uninstall it.
9085         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
9086         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
9087         currently valid, call RaiseException instead.
9088         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
9089         for !_MSC_VER.
9090
9091 2011-09-25  Bruno Haible  <bruno@clisp.org>
9092
9093         strerror_r-posix: Fix for MSVC 9.
9094         * lib/strerror_r.c (local_snprintf): New function.
9095         (snprintf): Define to local_snprintf, not to _snprintf.
9096
9097 2011-09-25  Bruno Haible  <bruno@clisp.org>
9098
9099         ftruncate: Support for MSVC 9.
9100         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
9101         (chsize_nothrow): New function.
9102         (chsize): Redefine as a macro.
9103         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
9104         * modules/ftruncate (Depends-on): Add msvc-inval.
9105
9106 2011-09-25  Bruno Haible  <bruno@clisp.org>
9107
9108         New module 'fstat'.
9109         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
9110         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
9111         * lib/fchdir.c (rpl_fstat): Remove function.
9112         * m4/fstat.m4: New file.
9113         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
9114         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
9115         declared.
9116         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
9117         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
9118         * modules/fstat: New file.
9119         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
9120         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
9121         is set.
9122         * doc/posix-functions/fstat.texi: Mention the new module and the
9123         problem on MSVC.
9124         * NEWS: Mention the change.
9125         * modules/acl (Depends-on): Add fstat.
9126         * modules/chdir-safer (Depends-on): Likewise.
9127         * modules/chown (Depends-on): Likewise.
9128         * modules/copy-file (Depends-on): Likewise.
9129         * modules/fchdir (Depends-on): Likewise.
9130         * modules/fdopendir (Depends-on): Likewise.
9131         * modules/fopen (Depends-on): Likewise.
9132         * modules/fts (Depends-on): Likewise.
9133         * modules/getcwd (Depends-on): Likewise.
9134         * modules/isapipe (Depends-on): Likewise.
9135         * modules/linkat (Depends-on): Likewise.
9136         * modules/lseek (Depends-on): Likewise.
9137         * modules/mkdir-p (Depends-on): Likewise.
9138         * modules/open (Depends-on): Likewise.
9139         * modules/openat (Depends-on): Likewise.
9140         * modules/read-file (Depends-on): Likewise.
9141         * modules/renameat (Depends-on): Likewise.
9142         * modules/utimens (Depends-on): Likewise.
9143
9144 2011-09-25  Bruno Haible  <bruno@clisp.org>
9145
9146         linkat: Fix compilation on MSVC 9.
9147         * lib/linkat.c: Don't include <stdint.h>.
9148
9149 2011-09-25  Bruno Haible  <bruno@clisp.org>
9150
9151         fclose: Support for MSVC 9.
9152         * lib/fclose.c: Include msvc-inval.h.
9153         (fclose_nothrow): New function.
9154         (rpl_fclose): Use it.
9155         * modules/fclose (Depends-on): Add msvc-inval.
9156         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
9157
9158 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
9159
9160         dup2: minor simplifications
9161         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
9162         that it's a performance win.
9163         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
9164         ! defined __CYGWIN__)" to "ifdef F_GETFL".
9165
9166 2011-09-24  Jim Meyering  <meyering@redhat.com>
9167
9168         test-futimens: avoid a warning from gcc -Wshadow
9169         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
9170         to avoid a shadowing warning.
9171
9172 2011-09-24  Bruno Haible  <bruno@clisp.org>
9173
9174         fdopen: Support for MSVC 9.
9175         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
9176         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
9177         * lib/fdopen.c: Include msvc-inval.h.
9178         (fdopen_nothrow): New function.
9179         (rpl_fdopen): Use it.
9180         * modules/fdopen (Depends-on): Add msvc-inval.
9181         * modules/fclose-tests (Depends-on): Add fdopen.
9182         * modules/fflush-tests (Depends-on): Likewise.
9183         * modules/fgetc-tests (Depends-on): Likewise.
9184         * modules/fputc-tests (Depends-on): Likewise.
9185         * modules/fread-tests (Depends-on): Likewise.
9186         * modules/freopen-tests (Depends-on): Likewise.
9187         * modules/fseeko-tests (Depends-on): Likewise.
9188         * modules/ftello-tests (Depends-on): Likewise.
9189         * modules/fwrite-tests  (Depends-on): Likewise.
9190         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
9191
9192 2011-09-24  Bruno Haible  <bruno@clisp.org>
9193
9194         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
9195         * modules/fgetc-tests (Depends-on): Add unistd.
9196         * modules/fputc-tests (Depends-on): Likewise.
9197         * modules/fread-tests (Depends-on): Likewise.
9198         * modules/fwrite-tests (Depends-on): Likewise.
9199
9200 2011-09-24  Bruno Haible  <bruno@clisp.org>
9201
9202         dup: Simplify autoconf test.
9203         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
9204         on gl_MSVC_INVAL's result.
9205
9206 2011-09-24  Bruno Haible  <bruno@clisp.org>
9207
9208         Tests for function fwrite().
9209         * modules/fwrite-tests: New file.
9210         * tests/test-fwrite.c: New file.
9211         * modules/stdio-tests (Depends-on): Add fwrite-tests.
9212
9213         Tests for function fread().
9214         * modules/fread-tests: New file.
9215         * tests/test-fread.c: New file.
9216         * modules/stdio-tests (Depends-on): Add fread-tests.
9217
9218         Activate fputc tests.
9219         * modules/stdio-tests (Depends-on): Add fputc-tests.
9220
9221         Enhance fgetc, fputc tests.
9222         * tests/test-fgetc.c (main): Also test the stream's error indicator.
9223         * tests/test-fputc.c (main): Likewise.
9224
9225 2011-09-24  Bruno Haible  <bruno@clisp.org>
9226
9227         write: Support for MSVC 9.
9228         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
9229         is not 1.
9230         * lib/write.c (write_nothrow): New function.
9231         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
9232         not 1. Use write_nothrow.
9233         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
9234         invalid parameter handler.
9235         (gl_PREREQ_WRITE): New macro.
9236         * modules/write (Depends-on): Add msvc-inval.
9237         (configure.ac): Invoke gl_PREREQ_WRITE.
9238         * doc/posix-functions/write.texi: Mention the problem on MSVC.
9239
9240 2011-09-24  Bruno Haible  <bruno@clisp.org>
9241
9242         read: Fix last commit.
9243         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
9244
9245 2011-09-24  Bruno Haible  <bruno@clisp.org>
9246
9247         dup2: Fix last commit.
9248         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
9249         (rpl_dup2): Disable fcntl workaround on native Windows.
9250
9251         sigprocmask: Make code safer.
9252         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
9253         section that changes macro definitions for this compilation unit.
9254
9255 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
9256
9257         dup2: clarify by coalescing Windows-specific material
9258         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
9259         "msvc-nothrow.h"' to the Windows-specific section, so that the
9260         Emacs source need not contain these include files.
9261         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
9262         Windows-specific fixes into this function rather than just the
9263         nothrow fix, as this shortens and clarifies the code.  Always
9264         define as a function, as that's a bit cleaner than having it be
9265         sometimes a function and sometimes a macro.
9266         (rpl_dup2): Move the Windows-specific stuff out of here and into
9267         ms_windows_dup2.  Don't protect the Haiku-related fix with
9268         "#if !defined __linux__", as the same code also works around
9269         a Linux kernel bug, and it doesn't add any system calls on any
9270         platform.  Add comment about FreeBSD 6.1.
9271
9272         sigprocmask: move #include directive
9273         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
9274         Windows-specific section, so that the Emacs source need not
9275         contain msvc-inval.h.
9276
9277 2011-09-23  Bruno Haible  <bruno@clisp.org>
9278
9279         read: Support for MSVC 9.
9280         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
9281         is not 1.
9282         * lib/read.c (read_nothrow): New function.
9283         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
9284         read_nothrow.
9285         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
9286         invalid parameter handler.
9287         (gl_PREREQ_READ): New macro.
9288         * modules/read (Depends-on): Add msvc-inval.
9289         (configure.ac): Invoke gl_PREREQ_READ.
9290         * doc/posix-functions/read.texi: Mention the problem on MSVC.
9291
9292 2011-09-23  Bruno Haible  <bruno@clisp.org>
9293
9294         close: Support for MSVC 9.
9295         * lib/close.c: Include <errno.h>, msvc-inval.h.
9296         (close_nothrow): New function.
9297         (rpl_close): Use it.
9298         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
9299         invalid parameter handler.
9300         * modules/close (Depends-on): Add msvc-inval.
9301         * modules/dup2-tests (Depends-on): Add close.
9302         * modules/dup3-tests (Depends-on): Likewise.
9303         * modules/fcntl-tests (Depends-on): Likewise.
9304         * modules/spawn-pipe-tests (Depends-on): Likewise.
9305         * modules/unistd-safer-tests (Depends-on): Likewise.
9306         * doc/posix-functions/close.texi: Mention the problem on MSVC.
9307
9308 2011-09-23  Bruno Haible  <bruno@clisp.org>
9309
9310         New module 'dup'.
9311         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
9312         Allow replacement.
9313         * lib/dup.c: New file.
9314         * lib/fchdir.c (rpl_dup): Remove function.
9315         * m4/dup.m4: New file.
9316         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
9317         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
9318         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
9319         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
9320         * modules/dup: New file.
9321         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
9322         'dup' module is in use.
9323         * modules/fdopendir (Depends-on): Add dup.
9324         * modules/fdutimensat-tests (Depends-on): Likewise.
9325         * modules/fts (Depends-on): Likewise.
9326         * modules/futimens-tests (Depends-on): Likewise.
9327         * modules/posix_spawnp-tests (Depends-on): Likewise.
9328         * modules/unistd-safer-tests (Depends-on): Likewise.
9329         * modules/utimens-tests (Depends-on): Likewise.
9330         * doc/posix-functions/dup.texi: Mention the new module and the problem
9331         on MSVC.
9332
9333 2011-09-23  Bruno Haible  <bruno@clisp.org>
9334
9335         getdtablesize: Support for MSVC 9.
9336         * lib/getdtablesize.c: Include msvc-inval.h.
9337         (_setmaxstdio_nothrow): New function.
9338         (_setmaxstdio): Redefine it.
9339         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
9340         * modules/getdtablesize (Depends-on): Add msvc-inval.
9341         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
9342
9343 2011-09-23  Bruno Haible  <bruno@clisp.org>
9344
9345         signal-h: Rename from signal.
9346         * modules/signal-h: Renamed from modules/signal.
9347         * modules/pthread_sigmask (Depends-on): Update.
9348         * modules/raise (Depends-on): Likewise.
9349         * modules/sigaction (Depends-on): Likewise.
9350         * modules/sigpipe (Depends-on): Likewise.
9351         * modules/sigprocmask (Depends-on): Likewise.
9352         * modules/sys_select (Depends-on): Likewise.
9353         * modules/signal-h-tests: Renamed from modules/signal-tests.
9354         (Files, Depends-on, Makefile.am): Update.
9355         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
9356         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
9357         (Files, Makefile.am): Update.
9358         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
9359         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
9360         * modules/signal: New placeholder file.
9361         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
9362         * doc/posix-headers/signal.texi: Update.
9363         * NEWS: Mention the change.
9364
9365 2011-09-23  Bruno Haible  <bruno@clisp.org>
9366
9367         sigprocmask: Avoid crashes through signal() on MSVC 9.
9368         * lib/sigprocmask.c: Include msvc-inval.h.
9369         (signal_nothrow): New function.
9370         (signal): Redefine it.
9371         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
9372         * modules/sigprocmask (Depends-on): Add msvc-inval.
9373         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
9374
9375 2011-09-23  Bruno Haible  <bruno@clisp.org>
9376
9377         Tests for module 'raise'.
9378         * modules/raise-tests: New file.
9379         * tests/test-raise.c: New file.
9380
9381         raise: Support for MSVC.
9382         * lib/signal.in.h (raise): New declaration.
9383         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
9384         for native Windows platforms.
9385         * m4/raise.m4: New file.
9386         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
9387         HAVE_RAISE, REPLACE_RAISE.
9388         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
9389         REPLACE_RAISE.
9390         * modules/raise (Status, Notice): Remove fields.
9391         (Files): Add m4/raise.m4.
9392         (Depends-on): Add signal, msvc-inval.
9393         (configure.ac): Use the common idioms.
9394         (Maintainer): Add me.
9395         * tests/test-signal-c++.cc: Check the signature of raise.
9396         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
9397
9398 2011-09-23  Bruno Haible  <bruno@clisp.org>
9399
9400         pipe2: Fix compilation on pre-C99 compilers.
9401         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
9402
9403 2011-09-23  Bruno Haible  <bruno@clisp.org>
9404
9405         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
9406         * lib/msvc-nothrow.h: New file.
9407         * lib/msvc-nothrow.c: New file.
9408         * m4/msvc-nothrow.m4: New file.
9409         * modules/msvc-nothrow: New file.
9410         * lib/dup2.c: Include msvc-nothrow.h.
9411         (rpl_dup2): No need to protect _get_osfhandle call here.
9412         * lib/accept4.c: Include msvc-nothrow.h.
9413         * lib/error.c: Likewise.
9414         * lib/fcntl.c: Likewise.
9415         * lib/lseek.c: Likewise.
9416         * lib/nonblocking.c: Likewise.
9417         * lib/poll.c: Likewise.
9418         * lib/read.c: Likewise.
9419         * lib/select.c: Likewise.
9420         * lib/sockets.h: Likewise.
9421         * lib/sockets.c: Likewise.
9422         * lib/stdio-read.c: Likewise.
9423         * lib/stdio-write.c: Likewise.
9424         * lib/write.c: Likewise.
9425         * lib/w32sock.h: Likewise.
9426         * lib/w32spawn.h: Likewise.
9427         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
9428         * lib/fsync.c: Likewise.
9429         * lib/isapipe.c: Likewise.
9430         * modules/dup2 (Depends-on): Add msvc-nothrow.
9431         * modules/accept4 (Depends-on): Likewise.
9432         * modules/error (Depends-on): Likewise.
9433         * modules/fcntl (Depends-on): Likewise.
9434         * modules/lseek (Depends-on): Likewise.
9435         * modules/nonblocking (Depends-on): Likewise.
9436         * modules/poll (Depends-on): Likewise.
9437         * modules/read (Depends-on): Likewise.
9438         * modules/select (Depends-on): Likewise.
9439         * modules/sockets (Depends-on): Likewise.
9440         * modules/sigpipe (Depends-on): Likewise.
9441         * modules/write (Depends-on): Likewise.
9442         * modules/accept (Depends-on): Likewise.
9443         * modules/bind (Depends-on): Likewise.
9444         * modules/connect (Depends-on): Likewise.
9445         * modules/gethostname (Depends-on): Likewise.
9446         * modules/getpeername (Depends-on): Likewise.
9447         * modules/getsockname (Depends-on): Likewise.
9448         * modules/getsockopt (Depends-on): Likewise.
9449         * modules/ioctl (Depends-on): Likewise.
9450         * modules/listen (Depends-on): Likewise.
9451         * modules/recv (Depends-on): Likewise.
9452         * modules/recvfrom (Depends-on): Likewise.
9453         * modules/send (Depends-on): Likewise.
9454         * modules/sendto (Depends-on): Likewise.
9455         * modules/setsockopt (Depends-on): Likewise.
9456         * modules/shutdown (Depends-on): Likewise.
9457         * modules/socket (Depends-on): Likewise.
9458         * modules/execute (Depends-on): Likewise.
9459         * modules/spawn-pipe (Depends-on): Likewise.
9460         * modules/flock (Depends-on): Likewise.
9461         * modules/fsync (Depends-on): Likewise.
9462         * modules/isapipe (Depends-on): Likewise.
9463         * tests/test-cloexec.c: Include msvc-nothrow.h.
9464         * tests/test-dup-safer.c: Likewise.
9465         * tests/test-dup2.c: Likewise.
9466         * tests/test-dup3.c: Likewise.
9467         * tests/test-fcntl.c: Likewise.
9468         * tests/test-pipe.c: Likewise.
9469         * tests/test-pipe2.c: Likewise.
9470         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
9471         * modules/unistd-safer-tests (Depends-on): Likewise.
9472         * modules/dup2-tests (Depends-on): Likewise.
9473         * modules/dup3-tests (Depends-on): Likewise.
9474         * modules/fcntl-tests (Depends-on): Likewise.
9475         * modules/pipe-posix-tests (Depends-on): Likewise.
9476         * modules/pipe2-tests (Depends-on): Likewise.
9477
9478 2011-09-23  Bruno Haible  <bruno@clisp.org>
9479
9480         dup2: Make code more maintainable.
9481         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
9482         (rpl_dup2): Use it.
9483         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
9484         * modules/dup2 (configure.ac): Invoke it.
9485         Reported by Paul Eggert.
9486
9487 2011-09-23  Bruno Haible  <bruno@clisp.org>
9488
9489         msvc-inval: Fix compilation error.
9490         * lib/msvc-inval.h: Include <excpt.h>.
9491
9492 2011-09-23  Bruno Haible  <bruno@clisp.org>
9493
9494         mkdir: Tweak for MSVC 9.
9495         * lib/sys_stat.in.h: Update comments.
9496         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
9497
9498         Tests for module 'chdir'.
9499         * modules/chdir-tests: New file.
9500         * tests/test-chdir.c: New file.
9501
9502         New module 'chdir'.
9503         * modules/chdir: New file.
9504         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
9505         (chdir): New declaration.
9506         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
9507         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
9508         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
9509         * tests/test-unistd-c++.cc: Check signature of chdir.
9510         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
9511         * modules/chdir-long (Depends-on): Add chdir.
9512         * modules/fchdir (Depends-on): Likewise.
9513         * modules/rename (Depends-on): Likewise.
9514         * modules/savewd (Depends-on): Likewise.
9515
9516         rmdir: Support for mingw, MSVC 9.
9517         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
9518         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
9519
9520         getcwd: Tweak for MSVC 9.
9521         * lib/unistd.in.h: Update comments.
9522         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
9523
9524 2011-09-22  Bruno Haible  <bruno@clisp.org>
9525
9526         strerror_r-posix: Avoid a link error on MSVC.
9527         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
9528         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
9529
9530 2011-09-22  Bruno Haible  <bruno@clisp.org>
9531
9532         select: Avoid link errors on MSVC.
9533         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
9534         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
9535         * modules/pselect (Link): Likewise.
9536         * NEWS: Mention the change.
9537         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
9538         test-select-stdin against $(LIB_SELECT).
9539         * modules/pselect-tests (Makefile.am): Link test-pselect against
9540         $(LIB_SELECT).
9541
9542 2011-09-22  Bruno Haible  <bruno@clisp.org>
9543
9544         select: Avoid compilation error on MSVC.
9545         * lib/select.c: Don't include <stdbool.h>.
9546
9547 2011-09-21  Bruno Haible  <bruno@clisp.org>
9548
9549         Consolidate all uses of PATH_MAX in *.m4 files.
9550         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
9551         macros.
9552         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
9553         and gl_PATHMAX_SNIPPET.
9554         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
9555         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9556         * modules/chdir-long (Files): Add m4/pathmax.m4.
9557         * modules/getcwd (Files): Likewise.
9558
9559 2011-09-21  Bruno Haible  <bruno@clisp.org>
9560
9561         ftruncate: Un-deprecate, concentrate on Win32 support.
9562         * modules/ftruncate (Status, Notice): Remove sections.
9563         (Depends-on): Add largefile.
9564         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
9565         non-mingw platforms.
9566         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
9567         include <io.h>.
9568         * modules/perror-tests (Depends-on): Add ftruncate.
9569         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
9570         'ftruncate' module.
9571
9572 2011-09-21  Bruno Haible  <bruno@clisp.org>
9573
9574         Add dependencies to new dirent related modules.
9575         * modules/opendir (Depends-on): Add closedir.
9576         * modules/getcwd (Depends-on): Add opendir, closedir.
9577         * modules/dirent-safer-tests (Depends-on): Likewise.
9578         * modules/fdopendir-tests (Depends-on): Likewise.
9579         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
9580         * modules/renameat-tests (Depends-on): Likewise.
9581
9582 2011-09-21  Bruno Haible  <bruno@clisp.org>
9583
9584         opendir: Avoid compilation error on mingw.
9585         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
9586         * modules/opendir (Depends-on): Add unistd.
9587
9588 2011-09-21  Bruno Haible  <bruno@clisp.org>
9589
9590         ftruncate tests: Avoid a test failure on mingw.
9591         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
9592
9593 2011-09-21  Bruno Haible  <bruno@clisp.org>
9594
9595         select tests: Avoid test failures on OSF/1 5.1 and mingw.
9596         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
9597         native Windows.
9598
9599 2011-09-21  Bruno Haible  <bruno@clisp.org>
9600
9601         New module 'fdopen'.
9602         * lib/stdio.in.h (fdopen): New declaration.
9603         * lib/fdopen.c: New file.
9604         * m4/fdopen.m4: New file.
9605         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
9606         REPLACE_FDOPEN.
9607         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
9608         REPLACE_FDOPEN.
9609         * modules/fdopen: New file.
9610         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
9611         * tests/test-stdio-c++.cc: Check signature of fdopen.
9612         * doc/posix-functions/fdopen.texi: Mention the new module.
9613
9614 2011-09-21  Bruno Haible  <bruno@clisp.org>
9615
9616         unlockpt tests: Avoid test failure on NetBSD 5.1.
9617         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
9618         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
9619
9620 2011-09-21  Bruno Haible  <bruno@clisp.org>
9621
9622         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
9623         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
9624         * tests/test-getlogin_r.c (main): Likewise.
9625
9626 2011-09-20  Bruno Haible  <bruno@clisp.org>
9627
9628         time tests: Don't require pid_t.
9629         * doc/posix-headers/time.texi: Revert last change.
9630         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
9631         * tests/test-time.c: Comment out the check for pid_t.
9632
9633 2011-09-20  Bruno Haible  <bruno@clisp.org>
9634
9635         fsync tests: Avoid a test failure on mingw.
9636         * tests/test-fsync.c (main): Allow a failure with EIO.
9637
9638 2011-09-20  Bruno Haible  <bruno@clisp.org>
9639
9640         euidaccess: Update comments.
9641         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
9642
9643 2011-09-20  Bruno Haible  <bruno@clisp.org>
9644
9645         Ensure EBADF returns for socket functions on mingw.
9646         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
9647         descriptor is invalid.
9648         * lib/bind.c (rpl_bind): Likewise.
9649         * lib/connect.c (rpl_connect): Likewise.
9650         * lib/getpeername.c (rpl_getpeername): Likewise.
9651         * lib/getsockname.c (rpl_getsockname): Likewise.
9652         * lib/getsockopt.c (rpl_getsockopt): Likewise.
9653         * lib/listen.c (rpl_listen): Likewise.
9654         * lib/recv.c (rpl_recv): Likewise.
9655         * lib/recvfrom.c (rpl_recvfrom): Likewise.
9656         * lib/send.c (rpl_send): Likewise.
9657         * lib/sendto.c (rpl_sendto): Likewise.
9658         * lib/setsockopt.c (rpl_setsockopt): Likewise.
9659         * lib/shutdown.c (rpl_shutdown): Likewise.
9660
9661 2011-09-20  Bruno Haible  <bruno@clisp.org>
9662
9663         select tests: EBADF tests.
9664         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
9665         test_bad_fd): New functions.
9666         (test_function): Invoke also test_bad_fd.
9667
9668 2011-09-20  Bruno Haible  <bruno@clisp.org>
9669
9670         Tests for module 'posix_spawn_file_actions_addopen.
9671         * modules/posix_spawn_file_actions_addopen-tests: New file.
9672         * tests/test-posix_spawn_file_actions_addopen.c: New file.
9673
9674         Tests for module 'posix_spawn_file_actions_adddup2'.
9675         * modules/posix_spawn_file_actions_adddup2-tests: New file.
9676         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
9677
9678         Tests for module 'posix_spawn_file_actions_addclose'.
9679         * modules/posix_spawn_file_actions_addclose-tests: New file.
9680         * tests/test-posix_spawn_file_actions_addclose.c: New file.
9681
9682 2011-09-20  Bruno Haible  <bruno@clisp.org>
9683
9684         Tests for module 'unlockpt'.
9685         * modules/unlockpt-tests: New file.
9686         * tests/test-unlockpt.c: New file.
9687         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
9688
9689         Tests for module 'grantpt'.
9690         * modules/grantpt-tests: New file.
9691         * tests/test-grantpt.c: New file.
9692         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
9693
9694 2011-09-20  Bruno Haible  <bruno@clisp.org>
9695
9696         freopen tests: EBADF tests.
9697         * tests/test-freopen.c: Include errno.h, unistd.h.
9698         (main): Add tests for EBADF, commented out for the moment.
9699
9700         fclose tests: EBADF tests.
9701         * tests/test-fclose.c (main): Add tests for EBADF.
9702
9703         fflush tests: EBADF tests.
9704         * tests/test-fflush.c: Include errno.h, macros.h.
9705         (main): Add tests for EBADF.
9706
9707         ftello tests: EBADF tests.
9708         * tests/test-ftello4.sh: New file.
9709         * tests/test-ftello4.c: New file.
9710         * modules/ftello-tests (Files): Add them.
9711         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
9712
9713         fseeko tests: EBADF tests.
9714         * tests/test-fseeko4.sh: New file.
9715         * tests/test-fseeko4.c: New file.
9716         * modules/fseeko-tests (Files): Add them.
9717         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
9718
9719         Tests for function fputc().
9720         * modules/fputc-tests: New file.
9721         * tests/test-fputc.c: New file.
9722         * modules/stdio-tests (Depends-on): Add fputc-tests.
9723
9724         Tests for function fgetc().
9725         * modules/fgetc-tests: New file.
9726         * tests/test-fgetc.c: New file.
9727         * modules/stdio-tests (Depends-on): Add fgetc-tests.
9728
9729         Tests for function fdopen().
9730         * modules/fdopen-tests: New file.
9731         * tests/test-fdopen.c: New file.
9732         * modules/stdio-tests (Depends-on): Add fdopen-tests.
9733
9734         Tests for module 'vdprintf'.
9735         * modules/vdprintf-tests: New file.
9736         * tests/test-vdprintf.c: New file.
9737
9738         Tests for module 'dprintf'.
9739         * modules/dprintf-tests: New file.
9740         * tests/test-dprintf.c: New file.
9741
9742 2011-09-20  Bruno Haible  <bruno@clisp.org>
9743
9744         Tests for module 'ioctl'.
9745         * modules/ioctl-tests: New file.
9746         * tests/test-ioctl.c: New file.
9747
9748 2011-09-20  Bruno Haible  <bruno@clisp.org>
9749
9750         fcntl tests: EBADF tests.
9751         * tests/test-fcntl.c (main): Add more tests for EBADF.
9752
9753 2011-09-20  Bruno Haible  <bruno@clisp.org>
9754
9755         utimensat tests: EBADF tests.
9756         * tests/test-utimensat.c (main): Add tests for EBADF.
9757
9758         renameat tests: EBADF tests.
9759         * tests/test-renameat.c (main): Add tests for EBADF.
9760
9761         mkfifoat tests: EBADF tests.
9762         * tests/test-mkfifoat.c (main): Add tests for EBADF.
9763
9764         readlinkat tests: EBADF tests.
9765         * tests/test-readlinkat.c (main): Add tests for EBADF.
9766
9767         symlinkat tests: EBADF tests.
9768         * tests/test-symlinkat.c (main): Add tests for EBADF.
9769
9770         linkat tests: EBADF tests.
9771         * tests/test-linkat.c (main): Add tests for EBADF.
9772
9773         Tests for module 'faccessat'.
9774         * modules/faccessat-tests: New file.
9775         * tests/test-faccessat.c: New file.
9776
9777         fdopendir tests: EBADF tests.
9778         * tests/test-fdopendir.c (main): Add more tests for EBADF.
9779
9780         openat tests: EBADF tests.
9781         * tests/test-fchownat.c (main): Add tests for EBADF.
9782         * tests/test-fstatat.c (main): Likewise.
9783         * tests/test-mkdirat.c (main): Likewise.
9784         * tests/test-openat.c (main): Likewise.
9785         * tests/test-unlinkat.c (main): Likewise.
9786         * tests/test-fchmodat.c: New file.
9787         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
9788         (Makefile.am): Also run 'test-fchmodat'.
9789
9790 2011-09-20  Bruno Haible  <bruno@clisp.org>
9791
9792         utimens, futimens, fdutimensat tests: EBADF tests.
9793         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
9794
9795         Tests for function fstat().
9796         * modules/fstat-tests: New file.
9797         * tests/test-fstat.c: New file.
9798         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
9799
9800 2011-09-20  Bruno Haible  <bruno@clisp.org>
9801
9802         test-ttyname_r tests: EBADF tests.
9803         * tests/test-ttyname_r.c (main): Add tests for EBADF.
9804
9805         Tests for module 'isatty'.
9806         * modules/isatty-tests: New file.
9807         * tests/test-isatty.c: New file.
9808
9809         Tests for module 'write'.
9810         * modules/write-tests: New file.
9811         * tests/test-write.c: New file.
9812
9813         Tests for module 'read'.
9814         * modules/read-tests: New file.
9815         * tests/test-read.c: New file.
9816
9817         pwrite tests: EBADF tests.
9818         * tests/test-pwrite.c (main): Add tests for EBADF.
9819
9820         pread tests: EBADF tests.
9821         * tests/test-pread.c (main): Add tests for EBADF.
9822
9823         lseek tests: EBADF tests.
9824         * tests/test-lseek.c (main): Add more tests for EBADF.
9825
9826         Tests for module 'ftruncate'.
9827         * modules/ftruncate-tests: New file.
9828         * tests/test-ftruncate.sh: New file.
9829         * tests/test-ftruncate.c: New file.
9830
9831         fsync tests: EBADF tests.
9832         * tests/test-fsync.c (main): Add more tests for EBADF.
9833
9834         fdatasync tests: EBADF tests.
9835         * tests/test-fdatasync.c (main): Add more tests for EBADF.
9836
9837         Tests for module 'fchown'.
9838         * modules/fchown-tests: New file.
9839         * tests/test-fchown.c: New file.
9840
9841         Tests for module 'fchmod'.
9842         * modules/fchmod-tests: New file.
9843         * tests/test-fchmod.c: New file.
9844
9845         fchdir tests: EBADF tests.
9846         * tests/test-fchdir.c (main): Add more tests for EBADF.
9847
9848         dup2 tests: EBADF tests.
9849         * tests/test-dup2.c (main): Add more tests for EBADF.
9850
9851         Tests for module 'dup'.
9852         * modules/dup-tests: New file.
9853         * tests/test-dup.c: New file.
9854
9855         Tests for module 'close'.
9856         * modules/close-tests: New file.
9857         * tests/test-close.c: New file.
9858
9859 2011-09-20  Bruno Haible  <bruno@clisp.org>
9860
9861         Tests for module 'shutdown'.
9862         * modules/shutdown-tests: New file.
9863         * tests/test-shutdown.c: New file.
9864
9865         Tests for module 'setsockopt'.
9866         * modules/setsockopt-tests: New file.
9867         * tests/test-setsockopt.c: New file.
9868
9869         Tests for module 'sendto'.
9870         * modules/sendto-tests: New file.
9871         * tests/test-sendto.c: New file.
9872
9873         Tests for module 'send'.
9874         * modules/send-tests: New file.
9875         * tests/test-send.c: New file.
9876
9877         Tests for module 'recvfrom'.
9878         * modules/recvfrom-tests: New file.
9879         * tests/test-recvfrom.c: New file.
9880
9881         Tests for module 'recv'.
9882         * modules/recv-tests: New file.
9883         * tests/test-recv.c: New file.
9884
9885         Tests for module 'listen'.
9886         * modules/listen-tests: New file.
9887         * tests/test-listen.c: New file.
9888
9889         Tests for module 'getsockopt'.
9890         * modules/getsockopt-tests: New file.
9891         * tests/test-getsockopt.c: New file.
9892
9893         Tests for module 'getsockname'.
9894         * modules/getsockname-tests: New file.
9895         * tests/test-getsockname.c: New file.
9896
9897         Tests for module 'getpeername'.
9898         * modules/getpeername-tests: New file.
9899         * tests/test-getpeername.c: New file.
9900
9901         Tests for module 'connect'.
9902         * modules/connect-tests: New file.
9903         * tests/test-connect.c: New file.
9904
9905         Tests for module 'bind'.
9906         * modules/bind-tests: New file.
9907         * tests/test-bind.c: New file.
9908
9909         accept4 tests: Fix for native Windows.
9910         * tests/test-accept4.c: Include sockets.h.
9911         (main): Invoke gl_sockets_startup.
9912         * modules/accept4-tests (Depends-on): Add sockets.
9913
9914         accept tests: Fix for native Windows.
9915         * tests/test-accept.c: Include sockets.h.
9916         (main): Invoke gl_sockets_startup.
9917         * modules/accept-tests (Depends-on): Add sockets.
9918
9919 2011-09-19  Bruno Haible  <bruno@clisp.org>
9920
9921         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
9922         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
9923         do...while(0).
9924         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
9925         Suggested by Paul Eggert.
9926
9927 2011-09-19  Bruno Haible  <bruno@clisp.org>
9928
9929         sched: Ensure pid_t is defined.
9930         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
9931         not define pid_t.
9932         * lib/sched.in.h: Include <sys/types.h>.
9933         * doc/posix-headers/sched.texi: Mention the pid_t problem.
9934         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9935
9936 2011-09-19  Bruno Haible  <bruno@clisp.org>
9937
9938         msvc-inval: Ensure the entire expansion is a single statement.
9939         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
9940         of braces.
9941
9942 2011-09-19  Jim Meyering  <meyering@redhat.com>
9943
9944         tests: use printf, not echo in init.sh's warn_ function
9945         * tests/init.sh (warn_): Use printf, not echo.  The latter would
9946         misbehave when given strings containing a backslash or starting
9947         with e.g., -n.  James Youngman suggested setting IFS.
9948
9949 2011-09-19  Eric Blake  <eblake@redhat.com>
9950
9951         futimens: enhance test
9952         * tests/test-futimens.h (test_futimens): Also check for EBADF on
9953         closed non-negative fd.
9954
9955         date: accept 'hence' as opposite of 'ago'
9956         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
9957         * tests/test-parse-datetime.c (main): Enhance test.
9958         Suggested by Jesse Wilson.
9959
9960 2011-09-19  Jim Meyering  <meyering@redhat.com>
9961
9962         getcwd: don't fail in a deep directory on a system without openat
9963         Before this change, getcwd would fail when called from a directory
9964         of depth PATH_MAX / 3 or greater.  That was due to the fact that
9965         the non-openat implementation used "..", "../..", "../../..", etc.
9966         to access ancestor directories.  With too many, that string would
9967         be longer than PATH_MAX.
9968         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
9969         using gnulib's openat replacement.
9970         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
9971         we're using the replacement function.
9972
9973 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
9974
9975         maint.mk: avoid warnings from perl about missing files
9976         * top/maint.mk (def_sym_regex): Ignore files listed in
9977         $(gl_other_headers_) that do not exist, say because a project
9978         does not use a corresponding module.
9979
9980 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
9981
9982         stat: use pathmax.h only if needed
9983         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
9984         This is better for Emacs, which does not have a mingw port and
9985         therefore can avoid the pathmax module.
9986
9987         utimens: remove dependency on dup2
9988         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
9989         to work around the Linux kernel bug.
9990         * modules/utimens (Depends-on): Remove dup2.
9991
9992 2011-09-18  Bruno Haible  <bruno@clisp.org>
9993
9994         inet_ntop, inet_pton: Look for it also in libresolv.
9995         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
9996         libnsl, search for it in libresolv.
9997         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9998         Needed on Solaris 7.
9999
10000 2011-09-18  Bruno Haible  <bruno@clisp.org>
10001
10002         accept, accept4 tests: Avoid link error on Solaris.
10003         * modules/accept-tests (Makefile.am): Link test-accept against
10004         $(LIBSOCKET).
10005         * modules/accept4-tests (Makefile.am): Link test-accept4 against
10006         $(LIBSOCKET).
10007
10008         accept4: Avoid link error on Solaris.
10009         * modules/accept4 (Link): New section.
10010
10011         socket functions: Avoid link errors on Solaris.
10012         * modules/accept (Depends-on): Add socketlib.
10013         (Link): New section.
10014         * modules/bind (Depends-on): Add socketlib.
10015         (Link): New section.
10016         * modules/connect (Depends-on): Add socketlib.
10017         (Link): New section.
10018         * modules/getpeername (Depends-on): Add socketlib.
10019         (Link): New section.
10020         * modules/getsockname (Depends-on): Add socketlib.
10021         (Link): New section.
10022         * modules/getsockopt (Depends-on): Add socketlib.
10023         (Link): New section.
10024         * modules/listen (Depends-on): Add socketlib.
10025         (Link): New section.
10026         * modules/recv (Depends-on): Add socketlib.
10027         (Link): New section.
10028         * modules/recvfrom (Depends-on): Add socketlib.
10029         (Link): New section.
10030         * modules/send (Depends-on): Add socketlib.
10031         (Link): New section.
10032         * modules/sendto (Depends-on): Add socketlib.
10033         (Link): New section.
10034         * modules/setsockopt (Depends-on): Add socketlib.
10035         (Link): New section.
10036         * modules/shutdown (Depends-on): Add socketlib.
10037         (Link): New section.
10038         * modules/socket (Depends-on): Add socketlib.
10039         (Link): New section.
10040
10041 2011-09-18  Bruno Haible  <bruno@clisp.org>
10042
10043         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
10044         * tests/test-ptsname.c (main): Terminate the test if it takes longer
10045         than 5 seconds.
10046         * modules/ptsname-tests (configure.ac): Test for alarm.
10047
10048 2011-09-18  Bruno Haible  <bruno@clisp.org>
10049
10050         posix_spawn_file_actions_add*: Fix module dependencies.
10051         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
10052         posix_spawn_file_actions_init.
10053         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
10054         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
10055
10056 2011-09-18  Bruno Haible  <bruno@clisp.org>
10057
10058         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
10059         * tests/test-rename.h (test_rename): Allow error code EEXIST.
10060         * tests/test-renameat.c (main): Likewise.
10061
10062 2011-09-18  Bruno Haible  <bruno@clisp.org>
10063
10064         Tests for module 'accept4'.
10065         * modules/accept4-tests: New file.
10066         * tests/test-accept4.c: New file.
10067
10068 2011-09-18  Bruno Haible  <bruno@clisp.org>
10069
10070         Tests for module 'accept'.
10071         * modules/accept-tests: New file.
10072         * tests/test-accept.c: New file.
10073
10074 2011-09-18  Bruno Haible  <bruno@clisp.org>
10075
10076         dup2: Support for MSVC.
10077         * lib/dup2.c: Include msvc-inval.h.
10078         (rpl_dup2): Handle invalid parameter notifications during dup2 and
10079         _get_osfhandle calls.
10080         * modules/dup2 (Depends-on): Add msvc-inval.
10081         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
10082
10083         New module 'msvc-inval'.
10084         * lib/msvc-inval.h: New file.
10085         * lib/msvc-inval.c: New file.
10086         * m4/msvc-inval.m4: New file.
10087         * modules/msvc-inval: New file.
10088
10089 2011-09-17  Bruno Haible  <bruno@clisp.org>
10090
10091         Tests for module 'pclose'.
10092         * modules/pclose-tests: New file.
10093
10094         New module 'pclose'.
10095         * lib/stdio.in.h (pclose): New declaration.
10096         * lib/pclose.c: New file.
10097         * m4/pclose.m4: New file.
10098         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
10099         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
10100         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
10101         * modules/pclose: New file.
10102         * modules/popen-tests (Depends-on): Add pclose.
10103         * modules/popen-safer-tests (Depends-on): Likewise.
10104         * doc/posix-functions/pclose.texi: Mention the new module.
10105
10106 2011-09-17  Bruno Haible  <bruno@clisp.org>
10107
10108         popen: Support for MSVC.
10109         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
10110         * lib/popen.c (popen): Provide alternate definition for native Windows.
10111         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
10112         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
10113         * modules/popen (Depends-on, configure.ac): Update condition.
10114         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
10115         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
10116         fixed.
10117
10118 2011-09-17  Bruno Haible  <bruno@clisp.org>
10119
10120         isnanl, isnand, isnanf: Work around MSVC bug.
10121         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
10122
10123 2011-09-17  Bruno Haible  <bruno@clisp.org>
10124
10125         sys_socket tests: Fix recent mistake.
10126         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
10127
10128 2011-09-17  Bruno Haible  <bruno@clisp.org>
10129
10130         putenv: Support for MSVC.
10131         * modules/putenv (Depends-on): Add environ.
10132         * lib/putenv.c (environ): Disable declaration.
10133         * lib/unistd.in.h: Update comment.
10134
10135 2011-09-17  Bruno Haible  <bruno@clisp.org>
10136
10137         math: Avoid macro redefinition warnings on MSVC.
10138         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
10139         Undefine before redefining.
10140
10141 2011-09-17  Bruno Haible  <bruno@clisp.org>
10142
10143         doc: Mention functions which are declared as macros.
10144         * doc/posix-functions/*[fl].texi: Mention that some functions are
10145         defined as macros with arguments only.
10146
10147 2011-09-17  Bruno Haible  <bruno@clisp.org>
10148
10149         Add dependencies to new dirent related modules.
10150         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
10151         * modules/fts (Depends-on): Likewise.
10152         * modules/glob (Depends-on): Likewise.
10153         * modules/savedir (Depends-on): Likewise.
10154         * modules/scandir (Depends-on): Likewise.
10155         * modules/dirent-safer (Depends-on): Add opendir, closedir.
10156         * modules/fdopendir (Depends-on): Add opendir.
10157
10158 2011-09-17  Bruno Haible  <bruno@clisp.org>
10159
10160         inet_pton: Support for MSVC on Windows Vista or newer.
10161         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
10162         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
10163         HAVE_DECL_INET_PTON is defined.
10164         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
10165         On platforms with <winsock2.h>, test whether inet_pton is declared in
10166         <ws2tcpip.h>. If so, arrange to replace it.
10167         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
10168         REPLACE_INET_PTON.
10169         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
10170         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
10171         (Depends-on, configure.ac): Update condition.
10172         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
10173
10174 2011-09-17  Bruno Haible  <bruno@clisp.org>
10175
10176         inet_ntop: Support for MSVC on Windows Vista or newer.
10177         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
10178         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
10179         HAVE_DECL_INET_NTOP is defined.
10180         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
10181         On platforms with <winsock2.h>, test whether inet_ntop is declared in
10182         <ws2tcpip.h>. If so, arrange to replace it.
10183         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
10184         REPLACE_INET_NTOP.
10185         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
10186         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
10187         (Depends-on, configure.ac): Update condition.
10188         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
10189
10190 2011-09-16  Eric Blake  <eblake@redhat.com>
10191
10192         test-fsync: yet another enhancement
10193         * tests/test-fsync.c (main): Also test behavior on read-only text
10194         file.
10195
10196 2011-09-16  Bruno Haible  <bruno@clisp.org>
10197
10198         Enhance fsync, fdatasync tests.
10199         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
10200         * tests/test-fdatasync.c (main): Likewise.
10201
10202 2011-09-16  Bruno Haible  <bruno@clisp.org>
10203
10204         Support for MSVC compiler: Ensure mode_t gets defined.
10205         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
10206         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10207         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
10208         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
10209         * tests/test-fcntl-h.c: Check that mode_t is defined.
10210         * tests/test-sys_stat.c: Likewise.
10211         * tests/test-sys_types.c: Likewise.
10212         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
10213         * doc/posix-headers/sys_stat.texi: Likewise.
10214         * doc/posix-headers/sys_types.texi: Likewise.
10215
10216 2011-09-16  Bruno Haible  <bruno@clisp.org>
10217
10218         sys_stat: Support for MSVC.
10219         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
10220         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
10221         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
10222         MSVC.
10223
10224 2011-09-16  Bruno Haible  <bruno@clisp.org>
10225
10226         Support for MSVC compiler: Ensure off_t gets defined.
10227         * lib/unistd.in.h: Include <sys/types.h>.
10228         * tests/test-fcntl-h.c: Check that off_t is defined.
10229         * tests/test-sys_stat.c: Likewise.
10230         * tests/test-sys_types.c: Likewise.
10231
10232 2011-09-16  Eric Blake  <eblake@redhat.com>
10233
10234         fdatasync: port to Solaris
10235         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
10236         * modules/fdatasync (Link): Document it.
10237         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
10238
10239         fdatasync: port to MacOS X 10.7
10240         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
10241         declared.
10242         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
10243         * modules/unistd (Makefile.am): Substitute it.
10244         * lib/unistd.in.h (fdatasync): Declare on MacOS.
10245         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
10246
10247         fdatasync: minor improvements
10248         * modules/fdatasync (Depends-on): Add condition for fsync.
10249         * lib/fdatasync.c (fdatasync): Add comment.
10250         * tests/test-unistd-c++.cc: Test fdatasync.
10251
10252         unistd: update refs to newer POSIX
10253         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
10254         Suggested by Bruno Haible.
10255
10256         fdatasync: new module
10257         * modules/fsync (Description): Document difference to fdatasync.
10258         * modules/fdatasync: New module.
10259         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
10260         * lib/fdatasync.c (fdatasync): Likewise.
10261         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
10262         defaults.
10263         * modules/unistd (Makefile.am): Set witnesses.
10264         * lib/unistd.in.h (fdatasync): Declare.
10265         * MODULES.html.sh: Document it.
10266         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
10267         * modules/fdatasync-tests: New test.
10268         * tests/test-fdatasync.c: Likewise.
10269
10270 2011-09-16  Eric Blake  <eblake@redhat.com>
10271
10272         test-fsync: enhance tests
10273         * modules/fsync-tests (Depends-on): Add errno, for mingw.
10274         * tests/test-fsync.c (main): Enhance test.
10275
10276 2011-09-15  Bruno Haible  <bruno@clisp.org>
10277
10278         Support for MSVC compiler: Ensure ssize_t gets defined.
10279         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
10280         * doc/posix-headers/stdio.texi: Likewise.
10281         * modules/stdio (Depends-on): Add ssize_t.
10282         * modules/sys_socket (Depends-on): Likewise.
10283         * modules/sys_types (Depends-on): Likewise.
10284         * modules/sys_uio (Depends-on): Likewise.
10285         * modules/unistd (Depends-on): Likewise.
10286         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
10287         * tests/test-sys_types.c: Check that ssize_t is defined.
10288
10289 2011-09-14  Bruno Haible  <bruno@clisp.org>
10290
10291         Avoid using #, the m4 comment starter character, near brackets.
10292         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
10293         delimiter character in sed expressions.
10294         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
10295         Suggested by Eric Blake.
10296
10297         Properly quote AC_CHECK_DECLS' 4th argument.
10298         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
10299         argument.
10300         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10301         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10302         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
10303         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
10304         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
10305         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
10306         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
10307         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
10308         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
10309         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
10310         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
10311         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
10312         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
10313         * m4/isinf.m4 (gl_ISINF): Likewise.
10314         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
10315         * m4/readutmp.m4 (gl_READUTMP): Likewise.
10316         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
10317         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
10318         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
10319         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
10320         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
10321         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
10322         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
10323         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10324         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10325         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10326         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
10327         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
10328         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10329         Reported by Eric Blake.
10330
10331         Properly quote AC_CHECK_DECL's 4th argument.
10332         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
10333         argument.
10334         * m4/argp.m4 (gl_ARGP): Likewise.
10335         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
10336         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
10337         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
10338         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
10339         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
10340         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
10341         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
10342         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
10343         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10344         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
10345         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
10346         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
10347         Reported by Eric Blake.
10348
10349 2011-09-14  Eric Blake  <eblake@redhat.com>
10350
10351         opendir: avoid compile warning
10352         * lib/opendir.c (includes): Always include errno.h.
10353         Reported by Tatsuro MATSUOKA.
10354
10355 2011-09-14  Jim Meyering  <meyering@redhat.com>
10356
10357         maint.mk: sc_tight_scope: propagate failure from sub-make
10358         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
10359         Reported by Martin von Gagern.
10360
10361 2011-09-13  Bruno Haible  <bruno@clisp.org>
10362
10363         tempname: Support for MSVC.
10364         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
10365         MSVC.
10366         * modules/tempname (Depends-on): Add fcntl-h.
10367
10368 2011-09-13  Bruno Haible  <bruno@clisp.org>
10369
10370         sys_time: Support for MSVC.
10371         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
10372         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
10373         include <winsock2.h>.
10374         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
10375         function declarations that collide with POSIX.
10376         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
10377         (Makefile.am): Substitute HAVE_WINSOCK2_H.
10378
10379 2011-09-13  Bruno Haible  <bruno@clisp.org>
10380
10381         stat: Support for MSVC.
10382         * lib/stat.c: Include pathmax.h.
10383         * modules/stat (Depends-on): Add pathmax.
10384
10385         pathmax: Support for native Windows.
10386         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
10387
10388 2011-09-12  Bruno Haible  <bruno@clisp.org>
10389
10390         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
10391         * lib/dirent.in.h (struct dirent): New type.
10392         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
10393         DT_WHT): New macros.
10394         (DIR): New type.
10395         (opendir, closedir): Declare only if the module 'opendir' is enabled.
10396         (readdir, rewinddir): New declarations.
10397         * lib/dirent-private.h: New file.
10398         * lib/opendir.c: New file.
10399         * lib/readdir.c: New file.
10400         * lib/rewinddir.c: New file.
10401         * lib/closedir.c: New file.
10402         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
10403         * m4/opendir.m4: New file.
10404         * m4/readdir.m4: New file.
10405         * m4/rewinddir.m4: New file.
10406         * m4/closedir.m4: New file.
10407         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
10408         REPLACE_CLOSEDIR here.
10409         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
10410         readdir, rewinddir are declared.
10411         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
10412         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
10413         HAVE_REWINDDIR, HAVE_CLOSEDIR.
10414         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
10415         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
10416         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
10417         * modules/opendir: New file.
10418         * modules/readdir: New file.
10419         * modules/rewinddir: New file.
10420         * modules/closedir: New file.
10421         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
10422         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
10423         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
10424         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
10425         * NEWS: Mention the 'fchdir' change.
10426
10427 2011-09-11  Bruno Haible  <bruno@clisp.org>
10428
10429         asm-underscore.m4: Support for MSVC.
10430         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
10431         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
10432
10433 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
10434
10435         Doc about crypt functions.
10436         * doc/posix-functions/crypt.texi: Expand range of glibc versions
10437         needing for _GNU_SOURCE to get crypt.
10438         * doc/posix-functions/encrypt.texi: Likewise.
10439         * doc/posix-functions/setkey.texi: Likewise.
10440
10441 2011-09-11  Bruno Haible  <bruno@clisp.org>
10442
10443         doc: Update regarding MSVC 9.
10444         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
10445         tested".
10446         * doc/posix-functions/*.texi: Update with info about MSVC 9.
10447         * doc/posix-headers/*.texi: Likewise.
10448         * doc/pastposix-functions/*.texi: Likewise.
10449         * doc/glibc-functions/*.texi: Likewise.
10450         * doc/glibc-headers/*.texi: Likewise.
10451
10452 2011-09-11  Bruno Haible  <bruno@clisp.org>
10453
10454         unistd et al.: Don't assume <unistd.h> exists.
10455         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
10456         does not exist.
10457         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
10458         exist. But include <stdlib.h>.
10459         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
10460         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
10461         symlink() does not exist.
10462         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
10463         include <io.h> instead.
10464         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
10465         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
10466         include <direct.h> instead.
10467         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
10468         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
10469         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
10470         <io.h> instead.
10471         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
10472         correctly if the system does not have hard links.
10473         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
10474         <direct.h> instead.
10475         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
10476         it when looking for function declarations.
10477         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
10478         <direct.h> and <io.h> instead.
10479         * doc/posix-headers/unistd.texi: More details about MSVC problem.
10480
10481 2011-09-11  Bruno Haible  <bruno@clisp.org>
10482
10483         strcase: Support for MSVC.
10484         * modules/strcase (Status, Notice): Remove obsoletion mark.
10485         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
10486         * doc/posix-functions/strncasecmp.texi: Likewise.
10487
10488         strings: Don't assume <strings.h> exists.
10489         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
10490         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
10491         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
10492         * doc/posix-headers/strings.texi: Mention the MSVC problem.
10493
10494 2011-09-11  Bruno Haible  <bruno@clisp.org>
10495
10496         dirent: Don't assume <dirent.h> exists.
10497         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
10498         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
10499         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
10500         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
10501
10502 2011-09-11  Bruno Haible  <bruno@clisp.org>
10503
10504         Fix wint_t on MSVC.
10505         * lib/wchar.in.h (wint_t): On MSVC, override it.
10506         * lib/wctype.in.h (wint_t): Likewise.
10507         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
10508         MSVC.
10509         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
10510         * doc/posix-headers/wctype.texi: Likewise.
10511
10512 2011-09-11  Bruno Haible  <bruno@clisp.org>
10513
10514         sys_types: Fix typo.
10515         * lib/sys_types.in.h: Fix typo in comment.
10516         Reported by Paul Eggert.
10517
10518         Support for MSVC compiler: Ensure size_t gets defined.
10519         * modules/strings (Depends-on): Add 'sys_types'.
10520         * modules/sys_uio (Depends-on): Likewise.
10521         * lib/sys_uio.in.h: Update comment.
10522
10523         C++ tests for module 'sys_types'.
10524         * modules/sys_types-c++-tests: New file.
10525         * tests/test-sys_types-c++.cc: New file.
10526
10527         Tests for module 'sys_types'.
10528         * modules/sys_types-tests: New file.
10529         * tests/test-sys_types.c: New file.
10530
10531         New module 'sys_types'.
10532         * lib/sys_types.in.h: New file.
10533         * m4/sys_types_h.m4: New file.
10534         * modules/sys_types: New file.
10535         * doc/posix-headers/sys_types.texi: Mention the new module and the
10536         size_t problem on MSVC 9.
10537
10538 2011-09-11  Bruno Haible  <bruno@clisp.org>
10539
10540         Support for MSVC compiler: Avoid division by a literal 0.
10541         * lib/math.in.h (NAN): Define through a function call also on MSVC.
10542         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
10543         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
10544         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
10545         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
10546         * tests/infinity.h: New file.
10547         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
10548         on MSVC.
10549         * tests/test-ceilf1.c: Include infinity.h.
10550         (main): Use Infinityf.
10551         * tests/test-ceil1.c: Include infinity.h.
10552         (main): Use Infinityd.
10553         * tests/test-ceill.c: Include infinity.h.
10554         (main): Use Infinityl.
10555         * tests/test-dprintf-posix.c: Include infinity.h.
10556         (test_function): Use Infinityd.
10557         * tests/test-floorf1.c: Include infinity.h.
10558         (main): Use Infinityf.
10559         * tests/test-floor1.c: Include infinity.h.
10560         (main): Use Infinityd.
10561         * tests/test-floorl.c: Include infinity.h.
10562         (main): Use Infinityl.
10563         * tests/test-fprintf-posix.c: Include infinity.h.
10564         (test_function): Use Infinityd.
10565         * tests/test-frexp.c: Include infinity.h.
10566         (main): Use Infinityd.
10567         * tests/test-frexpl.c: Include infinity.h.
10568         (main): Use Infinityl.
10569         * tests/test-isfinite.c: Include infinity.h.
10570         (test_isfinitef): Use Infinityf.
10571         (test_isfinited): Use Infinityd.
10572         (test_isfinitel): Use Infinityl.
10573         * tests/test-isinf.c: Include infinity.h.
10574         (test_isinff): Use Infinityf.
10575         (test_isinfd): Use Infinityd.
10576         (test_isinfl): Use Infinityl.
10577         * tests/test-isnan.c: Include infinity.h.
10578         (test_float): Use Infinityf.
10579         (test_double): Use Infinityd.
10580         (test_long_double): Use Infinityl.
10581         * tests/test-isnanf.h: Include infinity.h.
10582         (main): Use Infinityf.
10583         * tests/test-isnand.h: Include infinity.h.
10584         (main): Use Infinityd.
10585         * tests/test-isnanl.h: Include infinity.h.
10586         (main): Use Infinityl.
10587         * tests/test-ldexpl.c: Include infinity.h.
10588         (main): Use Infinityl.
10589         * tests/test-printf-posix.h: Include infinity.h.
10590         (test_function): Use Infinityd.
10591         * tests/test-roundf1.c: Include infinity.h.
10592         (main): Use Infinityf.
10593         * tests/test-round1.c: Include infinity.h.
10594         (main): Use Infinityd.
10595         * tests/test-roundl.c: Include infinity.h.
10596         (main): Use Infinityl.
10597         * tests/test-signbit.c: Include infinity.h.
10598         (test_signbitf): Use Infinityf.
10599         (test_signbitd): Use Infinityd.
10600         (test_signbitl): Use Infinityl.
10601         * tests/test-snprintf-posix.h: Include infinity.h.
10602         (test_function): Use Infinityd, Infinityl.
10603         * tests/test-sprintf-posix.h: Include infinity.h.
10604         (test_function): Use Infinityd, Infinityl.
10605         * tests/test-truncf1.c: Include infinity.h.
10606         (main): Use Infinityf.
10607         * tests/test-trunc1.c: Include infinity.h.
10608         (main): Use Infinityd.
10609         * tests/test-truncl.c: Include infinity.h.
10610         (main): Use Infinityl.
10611         * tests/test-vasnprintf-posix.c: Include infinity.h.
10612         (test_function): Use Infinityd, Infinityl.
10613         * tests/test-vasprintf-posix.c: Include infinity.h.
10614         (test_function): Use Infinityd, Infinityl.
10615         * modules/ceilf-tests (Files): Add tests/infinity.h.
10616         * modules/ceil-tests (Files): Likewise.
10617         * modules/ceill-tests (Files): Likewise.
10618         * modules/dprintf-posix-tests (Files): Likewise.
10619         * modules/floorf-tests (Files): Likewise.
10620         * modules/floor-tests (Files): Likewise.
10621         * modules/floorl-tests (Files): Likewise.
10622         * modules/fprintf-posix-tests (Files): Likewise.
10623         * modules/frexp-tests (Files): Likewise.
10624         * modules/frexp-nolibm-tests (Files): Likewise.
10625         * modules/frexpl-tests (Files): Likewise.
10626         * modules/frexpl-nolibm-tests (Files): Likewise.
10627         * modules/isfinite-tests (Files): Likewise.
10628         * modules/isinf-tests (Files): Likewise.
10629         * modules/isnan-tests (Files): Likewise.
10630         * modules/isnanf-tests (Files): Likewise.
10631         * modules/isnanf-nolibm-tests (Files): Likewise.
10632         * modules/isnand-tests (Files): Likewise.
10633         * modules/isnand-nolibm-tests (Files): Likewise.
10634         * modules/isnanl-tests (Files): Likewise.
10635         * modules/isnanl-nolibm-tests (Files): Likewise.
10636         * modules/ldexpl-tests (Files): Likewise.
10637         * modules/printf-posix-tests (Files): Likewise.
10638         * modules/roundf-tests (Files): Likewise.
10639         * modules/round-tests (Files): Likewise.
10640         * modules/roundl-tests (Files): Likewise.
10641         * modules/signbit-tests (Files): Likewise.
10642         * modules/snprintf-posix-tests (Files): Likewise.
10643         * modules/sprintf-posix-tests (Files): Likewise.
10644         * modules/truncf-tests (Files): Likewise.
10645         * modules/trunc-tests (Files): Likewise.
10646         * modules/truncl-tests (Files): Likewise.
10647         * modules/vasnprintf-posix-tests (Files): Likewise.
10648         * modules/vasprintf-posix-tests (Files): Likewise.
10649         * modules/vdprintf-posix-tests (Files): Likewise.
10650         * modules/vfprintf-posix-tests (Files): Likewise.
10651         * modules/vprintf-posix-tests (Files): Likewise.
10652         * modules/vsnprintf-posix-tests (Files): Likewise.
10653         * modules/vsprintf-posix-tests (Files): Likewise.
10654         * modules/xprintf-posix-tests (Files): Likewise.
10655
10656 2011-09-11  Bruno Haible  <bruno@clisp.org>
10657
10658         Ensure pid_t gets defined.
10659         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
10660         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
10661         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
10662         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10663         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
10664         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
10665         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
10666         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10667         * tests/test-fcntl-h.c: Check that pid_t is defined.
10668         * tests/test-sched.c: Likewise.
10669         * tests/test-termios.c: Likewise.
10670         * tests/test-time.c: Likewise.
10671         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
10672         * doc/posix-headers/signal.texi: Likewise.
10673         * doc/posix-headers/sys_types.texi: Likewise.
10674         * doc/posix-headers/time.texi: Likewise.
10675
10676 2011-09-11  Bruno Haible  <bruno@clisp.org>
10677
10678         acl: Fix compilation on Solaris 10 (older version).
10679         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
10680         of ACE_EVERYONE.
10681         * lib/set-mode-acl.c (qset_acl): Likewise.
10682         Reported by Christian Jullien <eligis@orange.fr>.
10683
10684 2011-09-10  Bruno Haible  <bruno@clisp.org>
10685
10686         iconv, unsetenv: Add support for MSVC compiler.
10687         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
10688         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
10689
10690 2011-09-10  Bruno Haible  <bruno@clisp.org>
10691
10692         *printf: Add support for MSVC compiler.
10693         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
10694         handles the exception caused by the %n directive. When cross-compiling,
10695         guess no on native Windows.
10696         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
10697         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
10698         emulate it through vsnprintf.
10699         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
10700         * doc/posix-functions/dprintf.texi: Update documentation regarding
10701         MSVC 9.
10702         * doc/posix-functions/fprintf.texi: Likewise.
10703         * doc/posix-functions/printf.texi: Likewise.
10704         * doc/posix-functions/snprintf.texi: Likewise.
10705         * doc/posix-functions/sprintf.texi: Likewise.
10706         * doc/posix-functions/swprintf.texi: Likewise.
10707         * doc/posix-functions/vdprintf.texi: Likewise.
10708         * doc/posix-functions/vfprintf.texi: Likewise.
10709         * doc/posix-functions/vprintf.texi: Likewise.
10710         * doc/posix-functions/vsnprintf.texi: Likewise.
10711         * doc/posix-functions/vsprintf.texi: Likewise.
10712         * doc/glibc-functions/asprintf.texi: Likewise.
10713         * doc/glibc-functions/obstack_printf.texi: Likewise.
10714         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
10715         * doc/glibc-functions/vasprintf.texi: Likewise.
10716
10717 2011-09-10  Bruno Haible  <bruno@clisp.org>
10718
10719         nocrash: Add support for native Windows.
10720         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
10721
10722 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
10723             Bruno Haible  <bruno@clisp.org>
10724
10725         absolute-header, include-next: Add support for MSVC compiler.
10726         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
10727         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
10728         directory separator in #line directives.
10729         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
10730         recognize also backslash as directory separator in #line directives.
10731
10732 2011-09-08  Jim Meyering  <meyering@redhat.com>
10733
10734         maint.mk: mark the post-release commit log with "maint: " prefix
10735         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
10736         one-line commit-log summary.
10737
10738 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
10739             Bruno Haible  <bruno@clisp.org>
10740
10741         Doc about crypt functions.
10742         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
10743         systems.
10744         * doc/posix-functions/encrypt.texi: Likewise.
10745         * doc/posix-functions/setkey.texi: Likewise.
10746
10747 2011-09-08  Simon Josefsson  <simon@josefsson.org>
10748
10749         * lib/gc.h: Fix copyright header.
10750
10751 2011-09-07  Bruno Haible  <bruno@clisp.org>
10752
10753         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
10754         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
10755         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
10756
10757 2011-09-07  Bruno Haible  <bruno@clisp.org>
10758
10759         openat: Work around compilation error with OSF/1 5.1 DTK cc.
10760         * lib/fopen.c: Use different syntax for include of <stdio.h>.
10761         * lib/freopen.c: Likewise.
10762         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
10763         * lib/lstat.c: Likewise.
10764         * lib/stat.c: Likewise.
10765         * lib/open.c: Use different syntax for include of <fcntl.h>.
10766         * lib/openat.c: Include fcntl.h again, explicitly.
10767
10768 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
10769
10770         parse-datetime: document the newly accepted format
10771         * doc/parse-datetime.texi (Combined date and time of day items):
10772         New section.
10773
10774 2011-09-06  Bruno Haible  <bruno@clisp.org>
10775
10776         acl: Fix a test failure on newer Solaris 10 with ZFS.
10777         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
10778         ENOSYS as no ACL.
10779         Reported by Jim Meyering.
10780
10781 2011-09-06  Bruno Haible  <bruno@clisp.org>
10782
10783         acl: Update for AIX >= 5.3 with NFS.
10784         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
10785         ENOSYS as no ACL.
10786
10787         acl: Fix a test failure on AIX >= 5.3 with NFS.
10788         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
10789         as no ACL.
10790
10791 2011-09-06  Bruno Haible  <bruno@clisp.org>
10792
10793         acl: Fix a test failure on IRIX 6.5 with NFS.
10794         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
10795         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
10796         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
10797         * lib/copy-acl.c (qcopy_acl): Likewise.
10798
10799 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
10800
10801         openat: port to AIX 7.1 with large files
10802         AIX 7.1 does a "#define openat open64at" if large files are in use,
10803         so we can't simply #undef openat.  Use the orig_openat trick (similar
10804         to orig_open in lib/open.c) to work around the problem.  Problem
10805         reported by Kevin Brott for GNU tar, in the thread containing
10806         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
10807         * lib/openat.c (__need_system_fcntl_h): Define first.
10808         Include <fcntl.h> and <sys/types.h> before undefining.
10809         (orig_openat) [HAVE_OPENAT]: New inline function.
10810         (openat) [HAVE_OPENAT]: Do not undef.
10811         (rpl_openat): Use orig_openat, not openat.
10812
10813 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
10814             Bruno Haible  <bruno@clisp.org>
10815
10816         acl: Avoid errors on NonStop Kernel.
10817         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
10818         ENOTSUP errors.
10819
10820 2011-09-05  Bruno Haible  <bruno@clisp.org>
10821
10822         acl: Clean up Solaris code.
10823         * lib/acl-internal.h: Remove no-op #if.
10824         * lib/file-has-acl.c: Likewise.
10825         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
10826         * lib/copy-acl.c (qcopy_acl): Likewise.
10827
10828 2011-09-05  Bruno Haible  <bruno@clisp.org>
10829
10830         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
10831         binaries built on the original Solaris 10.
10832         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
10833         trivial.
10834
10835 2011-09-05  Bruno Haible  <bruno@clisp.org>
10836
10837         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
10838         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
10839         10.
10840         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
10841         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
10842         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
10843         instead of acl_get, facl_get, acl_set, facl_set.
10844
10845 2011-09-05  Bruno Haible  <bruno@clisp.org>
10846
10847         copy-file: Try unit tests on more file systems.
10848         * tests/test-copy-file-1.sh: New file.
10849         * tests/test-copy-file-2.sh: New file.
10850         * modules/copy-file-tests (Files): Add them.
10851         (Makefile.am): Add them to TESTS.
10852
10853         acl: Try unit tests on more file systems.
10854         * tests/test-file-has-acl-1.sh: New file.
10855         * tests/test-file-has-acl-2.sh: New file.
10856         * tests/test-set-mode-acl-1.sh: New file.
10857         * tests/test-set-mode-acl-2.sh: New file.
10858         * tests/test-copy-acl-1.sh: New file.
10859         * tests/test-copy-acl-2.sh: New file.
10860         * modules/acl-tests (Files): Add them.
10861         (Makefile.am): Add them to TESTS.
10862
10863 2011-09-04  Bruno Haible  <bruno@clisp.org>
10864
10865         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
10866         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
10867         10.
10868         (OLD_ALLOW, OLD_DENY): New macros.
10869         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
10870         ACE_ACCESS_ALLOWED_ACE_TYPE.
10871         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
10872         ACE_ACCESS_DENIED_ACE_TYPE.
10873         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
10874         (NEW_ACE_EXECUTE): Fix value.
10875         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
10876         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
10877         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
10878         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
10879         NEW_ACE_SYNCHRONIZE): New macros.
10880         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
10881         instead of acl_fromtext, acl_set, facl_set.
10882         Fixes a coreutils/tests/cp/perm failure.
10883
10884 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
10885
10886         openat: test for fstatat (..., 0) bug
10887         Further testing with tar suggests that fstatat (..., 0)
10888         does not work in general, on AIX 7.1; see
10889         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
10890         So, give up entirely on AIX 7.1's fstatat, and fall back on our
10891         replacement fstatat (which is what older AIX releases were using
10892         anyway).
10893         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
10894         use is now changed to orig_fstatat.  This was probably the right
10895         thing to do anyway.
10896         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
10897         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
10898         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
10899         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
10900         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
10901         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
10902         if the bug is found.
10903
10904         openat: test for fstatat (AT_FDCWD, ..., 0) bug
10905         This tests for another fstatat bug on AIX 7.1:
10906         fstatat (AT_FDCWD, ..., 0) does not work.  See
10907         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
10908         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
10909         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
10910         (rpl_fstatat): Adjust so that it works around either (or both)
10911         bugs if present.
10912         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
10913
10914 2011-09-03  Karl Berry  <karl@gnu.org>
10915
10916         * doc/regex.texi (Character Class Operators): Avoid literal ":"
10917         in index entries.
10918
10919 2011-09-02  Bruno Haible  <bruno@clisp.org>
10920
10921         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
10922         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
10923         values of AR, ARFLAGS, RANLIB.
10924         Reported by John W. Eaton <jwe@gnu.org> for Octave.
10925
10926 2011-09-02  Bruno Haible  <bruno@clisp.org>
10927
10928         Find 'ar' program that fits with --host argument.
10929         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
10930
10931 2011-09-02  Bruno Haible  <bruno@clisp.org>
10932
10933         tests: init.sh: Support any non-GNU diff.
10934         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
10935         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
10936         Solaris 8.
10937
10938 2011-09-02  Bruno Haible  <bruno@clisp.org>
10939
10940         tests: init.sh: work also with any non-GNU diff that supports -u
10941         * tests/init.sh: Relax check for diff -u support.
10942         Rather than checking for GNU diff via --version, simply check
10943         for support for -u itself.  Useful at least on OpenBSD 4.9,
10944         AIX 7.1, IRIX 6.5, and Solaris 10.
10945
10946 2011-09-01  Bruno Haible  <bruno@clisp.org>
10947
10948         strtoimax, strtoumax: Document problem on HP-UX 11.
10949         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
10950         * doc/posix-functions/strtoumax.texi: Likewise.
10951
10952 2011-09-01  Bruno Haible  <bruno@clisp.org>
10953
10954         strtoumax: Avoid link error on OSF/1 with DTK cc.
10955         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
10956         defined as a function.
10957         * modules/strtoumax (Depends-on, configure.ac): Test only whether
10958         strtoumax is defined, not whether it is declared.
10959
10960 2011-09-01  Bruno Haible  <bruno@clisp.org>
10961
10962         strtoimax: Avoid link error on OSF/1 with DTK cc.
10963         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
10964         defined as a function.
10965         * modules/strtoimax (Depends-on, configure.ac): Test only whether
10966         strtoimax is defined, not whether it is declared.
10967
10968 2011-09-01  Bruno Haible  <bruno@clisp.org>
10969
10970         imaxdiv: Avoid link error on OSF/1 with DTK cc.
10971         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
10972         as a function.
10973         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
10974         whether it is declared.
10975
10976 2011-09-01  Bruno Haible  <bruno@clisp.org>
10977
10978         imaxabs: Avoid link error on OSF/1 with DTK cc.
10979         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
10980         as a function.
10981         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
10982         whether it is declared.
10983
10984 2011-09-01  Bruno Haible  <bruno@clisp.org>
10985
10986         Tests for module 'strtoumax'.
10987         * modules/strtoumax-tests: New file.
10988         * tests/test-strtoumax.c: New file.
10989
10990         Tests for module 'strtoimax'.
10991         * modules/strtoimax-tests: New file.
10992         * tests/test-strtoimax.c: New file.
10993
10994         Tests for module 'imaxdiv'.
10995         * modules/imaxdiv-tests: New file.
10996         * tests/test-imaxdiv.c: New file.
10997
10998         Tests for module 'imaxabs'.
10999         * modules/imaxabs-tests: New file.
11000         * tests/test-imaxabs.c: New file.
11001
11002 2011-09-01  Bruno Haible  <bruno@clisp.org>
11003
11004         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
11005         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
11006         pthread_create.
11007
11008 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11009
11010         openat: work around AIX 7.1 fstatat issue
11011         This should fix the problem that was not properly fixed
11012         in the previous change, dated 2011-08-30.
11013         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
11014         __need_system_stat_h defined.
11015         (orig_fstatat) [HAVE_FSTATAT]: New function.
11016         (rpl_fstatat): Go back to the old way of doing things,
11017         except call orig_fstatat instead of fstatat.
11018         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
11019         Remove unnecessary check whether fstatat fills in st_size etc.
11020
11021 2011-09-01  Bruno Haible  <bruno@clisp.org>
11022
11023         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
11024         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
11025         just include the system's header.
11026
11027 2011-08-31  Jim Meyering  <meyering@redhat.com>
11028
11029         tests: avoid spurious assertion failure in test-float.c on ppc64
11030         * tests/test-float.c (test_long_double): Comment out an assertion,
11031         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
11032         with gcc-4.4.4.
11033
11034         maint: indent with spaces, not TABs
11035         I need to get in the habit of running gnulib's "make check".
11036         Both of these would have been caught.
11037         * m4/largefile.m4: Indent with spaces, not TABs.
11038         * lib/parse-datetime.y (iso_8601_time): Likewise.
11039         Spotted by Pádraig Brady.
11040
11041         test-parse-datetime.c: accommodate a relatively strict gcc warning
11042         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
11043         to avoid a warning from gcc's -Werror=missing-declarations.
11044         Insert a few spaces-before-funcall-parenthesis.
11045
11046 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
11047
11048         parse-datetime: accept ISO 8601 date and time rep with "T" separator
11049         The parser now accepts ISO 8601 date-time strings with "T" as the
11050         separator.  It has long parsed dates like "2004-02-29 16:21:42"
11051         with a space between the date and time strings.  Now it also parses
11052         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
11053         variants like "2004-02-29T16:21:42.333-07:00"
11054         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
11055         of day representation using the 'T' separator character.
11056         * doc/parse-datetime.texi (General date syntax): replace use of
11057         deprecated --iso-8601 option with --rfc-3339 in example of date
11058         command output formats that can be parsed.
11059         * tests/test-parse-datetime.c (tm_diff): New function, taken from
11060         lib/parse-datetime.y.
11061         (gmt_offset): New function.
11062         (main): Add additional test cases to validate ISO8601 extended
11063         date and time of day parsing.
11064
11065 2011-08-31  Bruno Haible  <bruno@clisp.org>
11066
11067         freopen: Documentation.
11068         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
11069         name.
11070         Reported by Claudio Bley <claudio.bley@gmail.com>.
11071
11072 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
11073
11074         freopen: Don't crash if the filename argument is NULL.
11075         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
11076         NULL.
11077
11078 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11079
11080         openat: work around AIX 7.1 fstatat bug
11081         Problem reported by Kevin Brott for GNU tar, in the thread containing
11082         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
11083         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
11084         FSTATAT_ST_SIZE_ETC_BROKEN.
11085         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
11086         rpl_fstatat.
11087         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
11088         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
11089         AC_CHECK_FUNCS_ONCE for fstatat.
11090         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
11091         fchmodat, mkdirat, openat and unlinkat.
11092
11093 2011-08-30  Bruno Haible  <bruno@clisp.org>
11094
11095         Avoid endless recursions if config.h includes some header files.
11096         * lib/fopen.c (__need_FILE): Define already before including config.h.
11097         * lib/freopen.c (__need_FILE): Likewise.
11098         * lib/open.c (__need_system_fcntl_h): Likewise.
11099         * lib/stat.c (__need_system_sys_stat_h): Likewise.
11100         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
11101         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11102
11103 2011-08-25  Karl Berry  <karl@gnu.org>
11104
11105         * config/srclist.txt (ylwrap): new try.
11106         * build-aux/ylwrap: new file.
11107
11108 2011-08-23  Bruno Haible  <bruno@clisp.org>
11109
11110         tmpdir: Use a good default directory on native Windows.
11111         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
11112         (P_tmpdir): Default to _P_tmpdir on native Windows.
11113         (path_search): On native Windows, try the value returned by GetTempPath
11114         before trying P_tmpdir.
11115         * modules/tmpdir (Depends-on): Add pathmax.
11116         Suggested by John Darrington <john@darrington.wattle.id.au>.
11117
11118 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
11119
11120         doc: fix typo in README-release
11121         * top/README-release: Capitalize first word of a sentence.
11122
11123 2011-08-19  Jim Meyering  <meyering@redhat.com>
11124
11125         fts: do not exhaust memory when processing million-entry directories
11126         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
11127         directory would require about 256*N bytes of memory.  Thus, it was
11128         easy to construct a directory too large to be processed by any of
11129         those tools.  With this change, fts' maximum memory utilization is
11130         now limited to around 30MB.
11131         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
11132         (fts_read): When we've processed the final entry (i.e., when
11133         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
11134         using the parent entry to read any remaining entries.  Dispatch
11135         depending on what fts_build returns:
11136         - NULL+stop, aka failure: stop
11137         - NULL otherwise: move up in the dir hierarchy
11138         - non-NULL: handle this new entry
11139         (fts_build): Declare and use new local, continue_readdir.
11140         Prepare to be called from fts_read, when the entries
11141         from a partially-read directory have just been exhausted.
11142         In that case, we'll skip the opendir and instead use the parent's
11143         fts_dirp and derive dir_fd from that.
11144         Finally, in the readdir loop, if we read max_entries entries,
11145         exit the loop ensuring *not* to call closedir.  This is required
11146         so that fts_dirp can be reused on a subsequent call.
11147         Prompted by Ben England's report of memory exhaustion in find
11148         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
11149
11150         maint: fts: move decl of `dp' down into while loop; split a long line
11151         * lib/fts.c (fts_build): No semantic change.
11152
11153         fts: add/use new struct member, fts_dirp
11154         We are about to use this to manage any directory with
11155         too many entries to read all of them into memory at once.
11156         To do that, we'll need to save the DIR* pointer in each
11157         affected FTSENT struct.
11158         * lib/fts_.h: Include <dirent.h>.
11159         (struct FTSENT) [fts_dirp]: New member.
11160         * lib/fts.c (closedir_and_clear): Define.
11161         Use it in place of closedir so that we are sure to
11162         clear the new fts_dirp member when done with it.
11163         (fts_alloc): Initialize the new member.
11164         (fts_lfree): Free, if needed.
11165
11166         maint: fts: give __opendir2 a new parameter and rename
11167         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
11168         than surreptitiously using sole caller's "dir_fd".
11169         (fts_opendir): Rename from __opendir2.
11170
11171         maint: fts.c: remove __opendir2's now-unused parameter, oflag
11172         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
11173
11174         maint: fts.c: correct off-by-one indentation
11175         * lib/fts.c (fts_build): Correct indentation, change style
11176         of a couple of block comments, and bracing style.
11177
11178         maint: fts.c: move __opendir2 #define "up" out of function body
11179         * lib/fts.c (__opendir2): Move "up".  No semantic change.
11180
11181         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
11182         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
11183         out for a long time and besides was useful only on BSD systems.
11184
11185 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
11186
11187         regex: port to Stratus OpenVOS
11188         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
11189         define to empty, rather than attempting nonportable optimizations.
11190         Problem reported by Paul Green in:
11191         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
11192         and fix suggested by Eric Blake in:
11193         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
11194
11195 2011-08-17  Eric Blake  <eblake@redhat.com>
11196
11197         getcwd: fix test failures on mingw
11198         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
11199         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
11200         test if long directory cannot be created, and allow mingw errno.
11201
11202         getcwd-lgpl: fix m4 to match relaxed test for BSD
11203         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
11204         (gl_FUNC_GETCWD_SIGNATURE): New macro.
11205         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
11206         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
11207         signature problem.
11208
11209         getcwd: fix compilation on mingw64
11210         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
11211         getcwd.
11212         Reported by Marc-André Lureau.
11213
11214         pipe2: silence compiler warning
11215         * lib/pipe2.c (pipe2): Hide label if it is not used.
11216
11217 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
11218
11219         relocatable-prog: fix link error
11220         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
11221         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
11222         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
11223         into modules/relocatable-lib without noticing that
11224         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
11225         also needs to build relocatable.c.
11226
11227 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
11228
11229         getaddrinfo: fix sh typo in gai_strerrorA decl checking
11230         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
11231         shell code: it contained a 'break' that was not in a loop.
11232         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
11233         via a shell-language loop; this may have been true in old Autoconf
11234         versions, but it's not true in Autoconf 2.68.  I found this bug
11235         when testing coreutils git on Solaris 8, whose shell complains
11236         about the syntax error.
11237
11238 2011-08-12  Simon Josefsson  <simon@josefsson.org>
11239
11240         * lib/base64.c: Fix comment to reference RFC 4648.
11241         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
11242         <gvtulder@gmail.com>.
11243
11244 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
11245
11246         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
11247
11248         po/Makefile.in.in: fix make -q problem
11249         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
11250         rule, since there's no file named 'check-macro-version' and its
11251         use as a file breaks make -q.
11252         (all): Don't depend on check-macro-version.
11253         (CHECK_MACRO_VERSION): New macro.
11254         (stamp-po): Use it.
11255
11256         configmake: fix make -q problem
11257         * modules/configmake (configmake.h): Update configmake.h's time stamp
11258         even if the file does not change.  Otherwise, 'make -q' fails.
11259         Problem reported by Simon Josefsson in
11260         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
11261
11262 2011-08-11  Jim Meyering  <meyering@redhat.com>
11263
11264         git-version-gen: correct the advice in a comment
11265         * build-aux/git-version-gen: Correct comment.
11266         Don't recommend to list .tarball-version in .gitignore.
11267
11268 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11269
11270         base64: fix off-by-one buffer size bug
11271         Problem and (trivial) fix reported by Gijs van Tulder in
11272         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
11273         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
11274         * tests/test-base64.c (main): Catch the bug.
11275
11276 2011-08-10  Eric Blake  <eblake@redhat.com>
11277
11278         closein: correct comments
11279         * lib/closein.c (close_stdin): Improve comments.
11280
11281 2011-08-09  Bruno Haible  <bruno@clisp.org>
11282
11283         More tests for 'fseeko'.
11284         * tests/test-fseeko3.c: New file, from Eric Blake.
11285         * tests/test-fseeko3.sh: New file.
11286         * modules/fseeko-tests (Files): Add them.
11287         (TESTS): Add test-fseeko3.sh.
11288         (check_PROGRAMS): Add test-fseeko3.
11289
11290 2011-08-09  Eric Blake  <eblake@redhat.com>
11291
11292         fseeko: remove unneeded hack
11293         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
11294
11295         fseeko: fix bug on glibc
11296         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
11297         Reported by John W. Eaton.
11298
11299 2011-08-08  Bruno Haible  <bruno@clisp.org>
11300
11301         unictype/base: Fix interoperability with preinstalled libunistring.
11302         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
11303         Reported by Simon Josefsson.
11304
11305 2011-08-08  Bruno Haible  <bruno@clisp.org>
11306
11307         iswblank: Detect declaration correctly.
11308         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
11309         AC_CHECK_DECLS invocation.
11310
11311 2011-08-08  Bruno Haible  <bruno@clisp.org>
11312
11313         tcgetsid: Detect declaration correctly.
11314         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
11315         AC_CHECK_DECLS invocation.
11316         Reported by Simon Josefsson.
11317
11318 2011-08-08  Eric Blake  <eblake@redhat.com>
11319
11320         largefile: fix typo that regressed large file support
11321         * modules/largefile (configure.ac-early): Fix section name.
11322
11323 2011-08-06  Karl Berry  <karl@gnu.org>
11324
11325         * MODULES.html.sh (func_all_files): _Noreturn is no longer
11326         a separate module.
11327
11328 2011-08-05  Simon Josefsson  <simon@josefsson.org>
11329
11330         openat: Fix warnings and commens when building unlinkat.c on Hurd.
11331         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
11332         get prototype for free.
11333
11334 2011-08-04  Bruno Haible  <bruno@clisp.org>
11335
11336         Tests for module 'pathmax'.
11337         * modules/pathmax-tests: New file.
11338         * tests/test-pathmax.c: New file.
11339
11340         canonicalize-lgpl: Support larger filenames on the Hurd.
11341         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
11342         Reported by Paul Eggert.
11343
11344         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
11345         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
11346         * lib/chdir-long.h: Include pathmax.h.
11347         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
11348         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
11349         (PATH_MAX): Remove code that is done by pathmax.h.
11350         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
11351         * lib/tmpfile.c: Add a comment.
11352         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
11353         * modules/chdir-long (Depends-on): Add pathmax.
11354         * modules/getcwd (Depends-on): Add pathmax.
11355         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
11356         is not defined.
11357         * doc/posix-headers/limits.texi: Mention the pathmax module.
11358         * NEWS: Mention the change.
11359
11360 2011-08-02  Bruno Haible  <bruno@clisp.org>
11361
11362         pthread_sigmask: Actually use results of gl_THREADLIB.
11363         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
11364         gl_THREADLIB, not gl_[]THREADLIB.
11365         Reported by Eric Blake.
11366
11367 2011-08-02  Jim Meyering  <meyering@redhat.com>
11368
11369         maint.mk: relax the default _gl_TS_function_match regexp
11370         * top/maint.mk (_gl_TS_function_match): Don't require at least one
11371         space between function name and "(" in an "extern" declaration.
11372         That would fail to match a decl with no space there: extern void foo();
11373
11374 2011-07-31  Iain Nicol  <iain@thenicols.net>
11375
11376         git-version-gen: document that EXTRA_DIST must include .version
11377         * build-aux/git-version-gen: In the how-to-use comment, document
11378         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
11379         will fail when run from an unpacked distribution tarball.
11380
11381 2011-08-01  Bruno Haible  <bruno@clisp.org>
11382
11383         wctype-h: Fix last change.
11384         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
11385         REPLACE_TOWLOWER to 0.
11386         Reported by Sam Steingold <sds@gnu.org>.
11387
11388 2011-07-31  Bruno Haible  <bruno@clisp.org>
11389
11390         frexpl: Update autoconf test.
11391         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
11392         according to changes of 2011-06-20.
11393
11394 2011-07-31  Bruno Haible  <bruno@clisp.org>
11395
11396         sys_utsname: Add support for Minix.
11397         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
11398         <sys/utsname.h>.
11399         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
11400         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
11401
11402 2011-07-31  Bruno Haible  <bruno@clisp.org>
11403
11404         strings: Add support for Minix.
11405         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
11406         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
11407         * doc/posix-headers/strings.texi: Document the Minix problem.
11408
11409 2011-07-31  Bruno Haible  <bruno@clisp.org>
11410
11411         wctype-h: Add support for Minix.
11412         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
11413         REPLACE_TOWLOWER.
11414         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
11415         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
11416         REPLACE_ISWCNTRL.
11417
11418 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
11419
11420         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
11421         This is a performance improvement for 64-bit hosts: it causes the
11422         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
11423
11424 2011-07-31  Bruno Haible  <bruno@clisp.org>
11425
11426         stdioext: Add support for Minix.
11427         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
11428         * lib/fpurge.c (fpurge): Likewise.
11429         * lib/freadahead.c (freadahead): Likewise.
11430         * lib/freadable.c (freadable): Likewise.
11431         * lib/freading.c (freading): Likewise.
11432         * lib/freadptr.c (freadptr): Likewise.
11433         * lib/freadseek.c (freadptrinc): Likewise.
11434         * lib/fseeko.c (rpl_fseeko): Likewise.
11435         * lib/fseterr.c (fseterr): Likewise.
11436         * lib/fwritable.c (fwritable): Likewise.
11437         * lib/fwriting.c (fwriting): Likewise.
11438         * lib/fflush.c (clear_ungetc_buffer): Update comment.
11439         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
11440
11441 2011-07-31  Bruno Haible  <bruno@clisp.org>
11442
11443         errno: Port to Minix.
11444         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
11445         ECONNABORTED are defined.
11446         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
11447         GNULIB_defined_ECONNABORTED): New macros.
11448         * lib/strerror-override.h (strerror_override): Test also
11449         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
11450         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
11451         ECONNABORTED.
11452         * doc/posix-headers/errno.texi: Mention the Minix problem.
11453
11454 2011-07-31  Bruno Haible  <bruno@clisp.org>
11455
11456         Work around declaration collisions on Minix.
11457         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
11458         defined, set REPLACE_MBSINIT.
11459         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
11460         defined, set REPLACE_MBRTOWC.
11461         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
11462         set REPLACE_MBRLEN.
11463         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
11464         defined, set REPLACE_MBSRTOWCS.
11465         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
11466         defined, set REPLACE_WCRTOMB.
11467         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
11468         defined, set REPLACE_WCSRTOMBS.
11469
11470 2011-07-31  Bruno Haible  <bruno@clisp.org>
11471
11472         Add support for Minix with ACK compiler.
11473         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
11474         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
11475         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
11476
11477 2011-07-31  Bruno Haible  <bruno@clisp.org>
11478
11479         Documentation about Minix.
11480         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
11481         * doc/glibc-headers/*.texi: Likewise.
11482         * doc/posix-functions/*.texi: Likewise.
11483         * doc/glibc-functions/*.texi: Likewise.
11484
11485 2011-07-31  Bruno Haible  <bruno@clisp.org>
11486
11487         snippet/warn-on-use: Fix indentation.
11488         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
11489
11490 2011-07-25  Jim Meyering  <meyering@redhat.com>
11491
11492         tests: test-update-copyright.sh: remove unnecessary "rm" commands
11493         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
11494         commands.
11495
11496 2011-07-27  Jim Meyering  <meyering@redhat.com>
11497
11498         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
11499         * top/maint.mk (gl_extract_significant_defines_): Now that
11500         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
11501         gnulib/lib/signal.in.h, and now that we recommend to
11502         define-if-undefined those two symbols in application code,
11503         we must filter them out of the "significant" list.
11504         This avoids a "make syntax-check" failure in coreutils.
11505
11506 2011-07-26  Eric Blake  <eblake@redhat.com>
11507
11508         warnings: add comments about previous patch
11509         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
11510         * m4/include_next.m4: Likewise.
11511         * m4/warn-on-use.m4: Likewise.
11512         * m4/warnings.m4: Likewise, and simplify use.
11513         Suggested by Stefano Lattarini.
11514
11515         include-next, warnings: support older autoconf
11516         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
11517         AS_VAR_PUSHDEF in a way that works with older autoconf.
11518         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
11519         Reported by Daniel P. Berrange.
11520
11521 2011-07-25  Bruno Haible  <bruno@clisp.org>
11522
11523         fseek, ftell: Fix doc.
11524         * doc/posix-functions/fseek.texi: Reword statement about
11525         AC_SYS_LARGEFILE.
11526         * doc/posix-functions/ftell.texi: Likewise.
11527
11528 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11529             Bruno Haible  <bruno@clisp.org>
11530
11531         Add dependencies to the 'largefile' module.
11532         * modules/fopen (Depends-on): Add 'largefile'.
11533         * modules/freopen (Depends-on): Likewise.
11534         * modules/fseeko (Depends-on): Likewise.
11535         * modules/ftello (Depends-on): Likewise.
11536         * modules/glob (Depends-on): Likewise.
11537         * modules/lseek (Depends-on): Likewise.
11538         * modules/lstat (Depends-on): Likewise.
11539         * modules/mkostemp (Depends-on): Likewise.
11540         * modules/mkostemps (Depends-on): Likewise.
11541         * modules/mkstemp (Depends-on): Likewise.
11542         * modules/mkstemps (Depends-on): Likewise.
11543         * modules/open (Depends-on): Likewise.
11544         * modules/openat (Depends-on): Likewise.
11545         * modules/pread (Depends-on): Likewise.
11546         * modules/pwrite (Depends-on): Likewise.
11547         * modules/scandir (Depends-on): Likewise.
11548         * modules/stat (Depends-on): Likewise.
11549         * modules/tmpfile (Depends-on): Likewise.
11550         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
11551         since the containing module now depends on the largefile module.
11552         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
11553         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
11554         off_t is fixed by gnulib.
11555         * doc/posix-functions/freopen.texi: Likewise.
11556         * doc/posix-functions/fseeko.texi: Likewise.
11557         * doc/posix-functions/fstatat.texi: Likewise.
11558         * doc/posix-functions/ftello.texi: Likewise.
11559         * doc/posix-functions/glob.texi: Likewise.
11560         * doc/posix-functions/lseek.texi: Likewise.
11561         * doc/posix-functions/lstat.texi: Likewise.
11562         * doc/posix-functions/mkstemp.texi: Likewise.
11563         * doc/posix-functions/open.texi: Likewise.
11564         * doc/posix-functions/openat.texi: Likewise.
11565         * doc/posix-functions/pread.texi: Likewise.
11566         * doc/posix-functions/pwrite.texi: Likewise.
11567         * doc/posix-functions/scandir.texi: Likewise.
11568         * doc/posix-functions/stat.texi: Likewise.
11569         * doc/posix-functions/tmpfile.texi: Likewise.
11570         * doc/glibc-functions/mkostemp.texi: Likewise.
11571         * doc/glibc-functions/mkostemps.texi: Likewise.
11572         * doc/glibc-functions/mkstemps.texi: Likewise.
11573
11574 2011-07-25  Bruno Haible  <bruno@clisp.org>
11575
11576         fcntl: Move AC_LIBOBJ invocation to module description.
11577         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
11578         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
11579
11580         fcntl: Remove call-in from fchdir.m4.
11581         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
11582         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
11583
11584         dup3: Remove potential call-in from fchdir.m4.
11585         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
11586         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
11587
11588         dup2: Move AC_LIBOBJ invocation to module description.
11589         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
11590         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
11591         Don't invoke AC_LIBOBJ.
11592         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
11593
11594         dup2: Remove call-in from fchdir.m4.
11595         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
11596         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
11597
11598         fclose: Move AC_LIBOBJ invocation to module description.
11599         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
11600         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
11601         to 1.
11602         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
11603
11604         fclose: Remove call-in from close.m4.
11605         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
11606         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
11607
11608         close: Move AC_LIBOBJ invocation to module description.
11609         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
11610         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
11611         1.
11612         * modules/close (configure.ac): Invoke AC_LIBOBJ.
11613
11614         close: Remove call-in from fchdir.m4.
11615         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
11616         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
11617
11618         open: Move AC_LIBOBJ invocation to module description.
11619         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
11620         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
11621         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
11622
11623         open: Remove call-in from fchdir.m4.
11624         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
11625         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
11626
11627         fchdir: Start to remove gl_REPLACE_* idiom.
11628         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
11629         (gl_FUNC_FCHDIR): Invoke it.
11630
11631 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11632
11633         * lib/ftell.c (ftell): Comment out cast.
11634
11635         close: use gl_REPLACE_FCLOSE only if defined
11636         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
11637         is defined.  The close module doesn't depend on the fclose module
11638         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
11639         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
11640         I reproduced the problem with "./gnulib-tool --test close sys_socket".
11641
11642 2011-07-24  Jim Meyering  <meyering@redhat.com>
11643
11644         test-select.h: avoid warning when using gcc's -Wmissing-declarations
11645         * tests/test-select.h (test_function): Declare as "static".
11646
11647 2011-07-24  Bruno Haible  <bruno@clisp.org>
11648
11649         doc: Mention the effects of AC_SYS_LARGEFILE.
11650         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
11651         on this function.
11652         * doc/posix-functions/aio_error.texi: Likewise.
11653         * doc/posix-functions/aio_fsync.texi: Likewise.
11654         * doc/posix-functions/aio_read.texi: Likewise.
11655         * doc/posix-functions/aio_return.texi: Likewise.
11656         * doc/posix-functions/aio_suspend.texi: Likewise.
11657         * doc/posix-functions/aio_write.texi: Likewise.
11658         * doc/posix-functions/fgetpos.texi: Likewise.
11659         * doc/posix-functions/fopen.texi: Likewise.
11660         * doc/posix-functions/freopen.texi: Likewise.
11661         * doc/posix-functions/fsetpos.texi: Likewise.
11662         * doc/posix-functions/fstatvfs.texi: Likewise.
11663         * doc/posix-functions/ftruncate.texi: Likewise.
11664         * doc/posix-functions/ftw.texi: Likewise.
11665         * doc/posix-functions/getrlimit.texi: Likewise.
11666         * doc/posix-functions/glob.texi: Likewise.
11667         * doc/posix-functions/lio_listio.texi: Likewise.
11668         * doc/posix-functions/lockf.texi: Likewise.
11669         * doc/posix-functions/mkstemp.texi: Likewise.
11670         * doc/posix-functions/mmap.texi: Likewise.
11671         * doc/posix-functions/nftw.texi: Likewise.
11672         * doc/posix-functions/openat.texi: Likewise.
11673         * doc/posix-functions/opendir.texi: Likewise.
11674         * doc/posix-functions/posix_fadvise.texi: Likewise.
11675         * doc/posix-functions/posix_fallocate.texi: Likewise.
11676         * doc/posix-functions/pread.texi: Likewise.
11677         * doc/posix-functions/pwrite.texi: Likewise.
11678         * doc/posix-functions/readdir.texi: Likewise.
11679         * doc/posix-functions/readdir_r.texi: Likewise.
11680         * doc/posix-functions/rewinddir.texi: Likewise.
11681         * doc/posix-functions/scandir.texi: Likewise.
11682         * doc/posix-functions/seekdir.texi: Likewise.
11683         * doc/posix-functions/setrlimit.texi: Likewise.
11684         * doc/posix-functions/statvfs.texi: Likewise.
11685         * doc/posix-functions/telldir.texi: Likewise.
11686         * doc/posix-functions/tmpfile.texi: Likewise.
11687         * doc/posix-functions/truncate.texi: Likewise.
11688         * doc/glibc-functions/fallocate.texi: Likewise.
11689         * doc/glibc-functions/fstatfs.texi: Likewise.
11690         * doc/glibc-functions/fts_children.texi: Likewise.
11691         * doc/glibc-functions/fts_read.texi: Likewise.
11692         * doc/glibc-functions/getdirentries.texi: Likewise.
11693         * doc/glibc-functions/mkostemp.texi: Likewise.
11694         * doc/glibc-functions/mkostemps.texi: Likewise.
11695         * doc/glibc-functions/mkstemps.texi: Likewise.
11696         * doc/glibc-functions/preadv.texi: Likewise.
11697         * doc/glibc-functions/pwritev.texi: Likewise.
11698         * doc/glibc-functions/sendfile.texi: Likewise.
11699         * doc/glibc-functions/statfs.texi: Likewise.
11700
11701 2011-07-24  Bruno Haible  <bruno@clisp.org>
11702
11703         doc: Fix typo.
11704         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
11705
11706 2011-07-24  Bruno Haible  <bruno@clisp.org>
11707
11708         doc: Mention fsusage.
11709         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
11710
11711 2011-07-24  Bruno Haible  <bruno@clisp.org>
11712
11713         doc: Mention new glibc headers and functions.
11714         * doc/glibc-headers/gshadow.texi: New file.
11715         * doc/glibc-functions/endsgent.texi: New file.
11716         * doc/glibc-functions/fgetsgent.texi: New file.
11717         * doc/glibc-functions/fgetsgent_r.texi: New file.
11718         * doc/glibc-functions/getsgent.texi: New file.
11719         * doc/glibc-functions/getsgent_r.texi: New file.
11720         * doc/glibc-functions/getsgnam.texi: New file.
11721         * doc/glibc-functions/getsgnam_r.texi: New file.
11722         * doc/glibc-functions/putsgent.texi: New file.
11723         * doc/glibc-functions/setsgent.texi: New file.
11724         * doc/glibc-functions/sgetsgent.texi: New file.
11725         * doc/glibc-functions/sgetsgent_r.texi: New file.
11726         * doc/glibc-functions/malloc_info.texi: New file.
11727         * doc/glibc-functions/preadv.texi: New file.
11728         * doc/glibc-functions/pwritev.texi: New file.
11729         * doc/glibc-functions/register_printf_modifier.texi: New file.
11730         * doc/glibc-functions/register_printf_specifier.texi: New file.
11731         * doc/glibc-functions/register_printf_type.texi: New file.
11732         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
11733         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
11734         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
11735         * doc/glibc-functions/pthread_getname_np.texi: New file.
11736         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
11737         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
11738         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
11739         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
11740         * doc/glibc-functions/pthread_setname_np.texi: New file.
11741         * doc/glibc-functions/pthread_sigqueue.texi: New file.
11742         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
11743         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
11744         * doc/glibc-functions/qsort_r.texi: New file.
11745         * doc/glibc-functions/quick_exit.texi: New file.
11746         * doc/glibc-functions/syncfs.texi: New file.
11747         * doc/gnulib.texi: Include them.
11748         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
11749         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
11750         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
11751         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
11752         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
11753         * doc/glibc-functions/execvpe.texi: Likewise.
11754
11755 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
11756
11757         ftell: don't include <unistd.h>
11758         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
11759         guaranteed to define off_t, and the ftell module depends on the
11760         stdio module.
11761
11762         ftell: do not assume wraparound signed arithmetic
11763         * lib/ftell.c: Include <limits.h>.
11764         (ftell): Don't assume wraparound signed arithmetic.
11765
11766 2011-07-24  Bruno Haible  <bruno@clisp.org>
11767
11768         close: No longer depend on module 'fclose'.
11769         * modules/close (Depends-on): Remove fclose.
11770         * NEWS: Mention the change.
11771         Suggested by Sam Steingold <sds@gnu.org>.
11772
11773 2011-07-24  Bruno Haible  <bruno@clisp.org>
11774
11775         fsusage: Enable large volume support on AIX >= 5.2.
11776         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
11777         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
11778         instead of STAT_STATVFS.
11779         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
11780
11781         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
11782         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
11783         f_blocks field only on MacOS X.
11784
11785         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
11786         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
11787         * modules/fsusage (Depends-on): Add largefile.
11788
11789 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
11790
11791         * README: Modernize discussion of signed integers.
11792         Assuming overflow wraparound is no longer safe.
11793         Mention ones' complement and signed magnitude.
11794
11795 2011-07-22  Bruno Haible  <bruno@clisp.org>
11796
11797         select tests, pselect tests: Refactor.
11798         * tests/test-select.h: New file, extracted from tests/test-select.c.
11799         (select_fn): New type.
11800         (test, do_select, do_select_nowait, do_select_wait, test_tty,
11801         test_connect_first, test_accept_first, test_pair, test_socket_pair,
11802         test_pipe): Add my_select argument.
11803         (test_function): Renamed from main. Add my_select argument.
11804         * tests/test-select.c: Move most code to tests/test-select.h. Include
11805         test-select.h.
11806         * modules/select-tests (Files): Add tests/test-select.h.
11807         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
11808         (my_select, main): New functions.
11809         * modules/pselect-tests (Files): Add tests/test-select.h,
11810         tests/macros.h, tests/signature.h.
11811         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
11812         (configure.ac): Check for <sys/wait.h>.
11813
11814 2011-07-22  Bruno Haible  <bruno@clisp.org>
11815
11816         sys_select tests: Check the signature of FD_*.
11817         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
11818         signature tests from here...
11819         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
11820         here.
11821         * modules/sys_select-tests (Files): Add tests/signature.h.
11822
11823 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
11824
11825         largefile: new module, replacing large-inode
11826         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
11827         * MODULES.html.sh: Add largefile, remove large-inode.
11828         * modules/largefile, m4/largefile.m4: New files.
11829         * modules/large-inode, m4/large-inode.m4: Remove.
11830
11831         fsusage: port to MacOS X 10.7 with 4 TiB file systems
11832         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
11833         implementations that use only 32 bits to count blocks.
11834         On typical hosts with 1024-byte blocks, this fails with file
11835         systems as small as 4 TiB.  Problem reported by Herb Wartens
11836         <http://debbugs.gnu.org/9140> and this should also fix a similar
11837         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
11838
11839         large-inode: New module
11840         * MODULES.html.sh: Add it.
11841         * modules/large-inode, m4/large-inode.m4: New files.
11842
11843         extensions: Enable extensions on MacOS X 10.5 and later.
11844         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
11845
11846 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
11847
11848         file-has-acl: use acl_extended_file_nofollow if available
11849         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
11850         (acl_extended_file): New macro.
11851         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
11852         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
11853
11854 2011-07-21  Bruno Haible  <bruno@clisp.org>
11855
11856         Declare system functions in a way that works with C++.
11857         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
11858         declare fdopendir as extern "C".
11859         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
11860         declare frexpl as extern "C".
11861         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
11862         declare gai_strerror as extern "C".
11863         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
11864         programs, declare gai_strerror as extern "C".
11865         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
11866         declare getlogin_r as extern "C".
11867         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
11868         as extern "C".
11869         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
11870         declare ldexpl as extern "C".
11871         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
11872         as extern "C".
11873         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
11874         program, declare getmntinfo as extern "C".
11875         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
11876         stpncpy as extern "C".
11877         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
11878         program, declare __xpg_strerror_r as extern "C".
11879         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
11880         strndup as extern "C".
11881         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
11882         declare memset and bzero as extern "C".
11883         Reported by Sam Steingold <sds@gnu.org>.
11884
11885 2011-07-12  Jim Meyering  <meyering@redhat.com>
11886
11887         maint.mk: prohibit inclusion of "verify.h" without use
11888         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
11889
11890 2011-07-19  Pádraig Brady  <P@draigBrady.com>
11891
11892         timer-time: A new module to check for timer_settime()
11893         * m4/timer_time.m4: Check for the posix function.
11894         * modules/timer-time: Add the new module.
11895         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
11896         Mention it.
11897
11898 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
11899             Bruno Haible  <bruno@clisp.org>
11900
11901         pthread_sigmask: assume POSIX threads if --avoid=threadlib
11902         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
11903         not defined, assume POSIX threads and look for pthread_sigmask in
11904         $LIBS, without changing $CPPFLAGS.
11905
11906 2011-07-19  Bruno Haible  <bruno@clisp.org>
11907
11908         strstr: Update cross-compilation guess.
11909         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
11910         CPUs, guess no, in view of glibc
11911         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
11912         Suggested by Eric Blake. Reported by Reuben Thomas.
11913
11914 2011-07-19  Pádraig Brady  <P@draigBrady.com>
11915
11916         getopt-gnu: suppress core dumps from detection code
11917         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
11918         to suppress core dumps that may well occur on glibc systems.
11919         * modules/getopt-gnu: Depend on nocrash.
11920
11921 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
11922
11923         pthread_sigmask: ensure usleep is declared
11924         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
11925         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
11926
11927 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
11928
11929         doc: Document NonStop portability issues.
11930         * doc/posix-functions/sigaction.texi (sigaction):
11931         * doc/posix-headers/signal.texi (signal.h):
11932         Document NonStop.  See Joachim Schmitz in
11933         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
11934
11935 2011-07-15  Bruno Haible  <bruno@clisp.org>
11936
11937         ffsl, ffsll: Avoid unportable behaviour.
11938         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
11939
11940 2011-07-15  Bruno Haible  <bruno@clisp.org>
11941
11942         ffs: More tests.
11943         * tests/test-ffs.c (NBITS): New macro.
11944         (main): Add more tests.
11945         * tests/test-ffsl.c (NBITS): New macro.
11946         (main): Add more tests.
11947         * tests/test-ffsll.c (NBITS): New macro.
11948         (main): Add more tests.
11949
11950 2011-07-15  Eric Blake  <eblake@redhat.com>
11951
11952         ffsl, ffsll: new modules
11953         * modules/ffsl: New file.
11954         * modules/ffsll: Likewise.
11955         * m4/ffsl.m4: Likewise.
11956         * m4/ffsll.m4: Likewise.
11957         * lib/ffsl.c: Likewise.
11958         * lib/ffsl.h: Likewise.
11959         * lib/ffsll.c: Likewise.
11960         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
11961         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
11962         * modules/string (Makefile.am): Substitute witnesses.
11963         * lib/strings.in.h (ffsl, ffsll): Declare.
11964         * modules/ffsl-tests: New test file.
11965         * modules/ffsll-tests: Likewise.
11966         * tests/test-ffsl.c: Likewise.
11967         * tests/test-ffsll.c: Likewise.
11968         * MODULES.html.sh (Integer arithmetic functions): Mention it.
11969         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
11970         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
11971
11972         ffs: fix m4 prerequisite
11973         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
11974
11975         ffs: avoid undefined behavior
11976         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
11977         * tests/test-ffs.c (naive, main): Avoid signed shifts.
11978         Reported by Bruno Haible.
11979
11980 2011-07-12  Bruno Haible  <bruno@clisp.org>
11981
11982         pthread_sigmask: Rely on module 'threadlib'.
11983         * modules/pthread_sigmask (Depends-on): Add threadlib.
11984         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
11985         is defined.
11986
11987 2011-07-12  Bruno Haible  <bruno@clisp.org>
11988
11989         regex: Depend on module 'strcase'.
11990         * modules/regex (Depends-on): Add strcase, for strcasecmp().
11991
11992 2011-07-12  Jim Meyering  <meyering@redhat.com>
11993
11994         warn-on-use: fix typo in file name
11995         * modules/snippet/warn-on-use (Files): Correct file name:
11996         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
11997
11998 2011-07-12  Bruno Haible  <bruno@clisp.org>
11999
12000         strings: Document module.
12001         * doc/posix-headers/strings.texi: Mention module 'strings'.
12002
12003 2011-07-12  Bruno Haible  <bruno@clisp.org>
12004
12005         Rename module '_Noreturn' to 'snippet/_Noreturn'.
12006         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
12007         (Files, Makefile.am): Update.
12008         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
12009         * modules/stdlib (Depends-on): Update.
12010
12011 2011-07-12  Bruno Haible  <bruno@clisp.org>
12012
12013         * NEWS: Mention the changes.
12014
12015         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
12016         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
12017         (Files, Makefile.am): Update.
12018         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
12019         * modules/arpa_inet (Depends-on): Update.
12020         * modules/ctype (Depends-on): Update.
12021         * modules/dirent (Depends-on): Update.
12022         * modules/fcntl-h (Depends-on): Update.
12023         * modules/glob (Depends-on): Update.
12024         * modules/iconv-h (Depends-on): Update.
12025         * modules/inttypes-incomplete (Depends-on): Update.
12026         * modules/langinfo (Depends-on): Update.
12027         * modules/locale (Depends-on): Update.
12028         * modules/math (Depends-on): Update.
12029         * modules/netdb (Depends-on): Update.
12030         * modules/poll-h (Depends-on): Update.
12031         * modules/pty (Depends-on): Update.
12032         * modules/search (Depends-on): Update.
12033         * modules/signal (Depends-on): Update.
12034         * modules/spawn (Depends-on): Update.
12035         * modules/stdio (Depends-on): Update.
12036         * modules/stdlib (Depends-on): Update.
12037         * modules/string (Depends-on): Update.
12038         * modules/strings (Depends-on): Update.
12039         * modules/sys_file (Depends-on): Update.
12040         * modules/sys_ioctl (Depends-on): Update.
12041         * modules/sys_select (Depends-on): Update.
12042         * modules/sys_socket (Depends-on): Update.
12043         * modules/sys_stat (Depends-on): Update.
12044         * modules/sys_time (Depends-on): Update.
12045         * modules/sys_times (Depends-on): Update.
12046         * modules/sys_utsname (Depends-on): Update.
12047         * modules/sys_wait (Depends-on): Update.
12048         * modules/termios (Depends-on): Update.
12049         * modules/time (Depends-on): Update.
12050         * modules/unistd (Depends-on): Update.
12051         * modules/wchar (Depends-on): Update.
12052         * modules/wctype-h (Depends-on): Update.
12053         * MODULES.html.sh (Support for building libraries and executables):
12054         Update.
12055
12056         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
12057         * modules/snippet/unused-parameter: Renamed from
12058         modules/unused-parameter.
12059         (Files, Makefile.am): Update.
12060         * build-aux/snippet/unused-parameter.h: Renamed from
12061         build-aux/unused-parameter.h.
12062         * modules/selinux-h (Depends-on): Update.
12063         * modules/unistr/base (Depends-on): Update.
12064         * MODULES.html.sh (Core language properties): Update.
12065
12066         Rename module 'link-warning' to 'snippet/link-warning'.
12067         * modules/snippet/link-warning: Renamed from modules/link-warning.
12068         (Files, Makefile.am): Update.
12069         * build-aux/snippet/link-warning.h: Renamed from
12070         build-aux/link-warning.h.
12071         * MODULES.html.sh (Support for building libraries and executables):
12072         Update.
12073
12074         Rename module 'c++defs' to 'snippet/c++defs'.
12075         * modules/snippet/c++defs: Renamed from modules/c++defs.
12076         (Files, Makefile.am): Update.
12077         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
12078         * modules/arpa_inet (Depends-on): Update.
12079         * modules/ctype (Depends-on): Update.
12080         * modules/dirent (Depends-on): Update.
12081         * modules/fcntl-h (Depends-on): Update.
12082         * modules/glob (Depends-on): Update.
12083         * modules/iconv-h (Depends-on): Update.
12084         * modules/langinfo (Depends-on): Update.
12085         * modules/locale (Depends-on): Update.
12086         * modules/math (Depends-on): Update.
12087         * modules/netdb (Depends-on): Update.
12088         * modules/poll-h (Depends-on): Update.
12089         * modules/pty (Depends-on): Update.
12090         * modules/search (Depends-on): Update.
12091         * modules/signal (Depends-on): Update.
12092         * modules/spawn (Depends-on): Update.
12093         * modules/stdio (Depends-on): Update.
12094         * modules/stdlib (Depends-on): Update.
12095         * modules/string (Depends-on): Update.
12096         * modules/strings (Depends-on): Update.
12097         * modules/sys_ioctl (Depends-on): Update.
12098         * modules/sys_select (Depends-on): Update.
12099         * modules/sys_socket (Depends-on): Update.
12100         * modules/sys_stat (Depends-on): Update.
12101         * modules/sys_time (Depends-on): Update.
12102         * modules/sys_wait (Depends-on): Update.
12103         * modules/termios (Depends-on): Update.
12104         * modules/time (Depends-on): Update.
12105         * modules/unistd (Depends-on): Update.
12106         * modules/wchar (Depends-on): Update.
12107         * modules/wctype-h (Depends-on): Update.
12108
12109         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
12110         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
12111         (Files, Makefile.am): Update.
12112         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
12113         * modules/argv-iter (Depends-on): Update.
12114         * modules/arpa_inet (Depends-on): Update.
12115         * modules/dirent (Depends-on): Update.
12116         * modules/fcntl-h (Depends-on): Update.
12117         * modules/fnmatch (Depends-on): Update.
12118         * modules/getopt-posix (Depends-on): Update.
12119         * modules/glob (Depends-on): Update.
12120         * modules/iconv-h (Depends-on): Update.
12121         * modules/inttypes-incomplete (Depends-on): Update.
12122         * modules/locale (Depends-on): Update.
12123         * modules/math (Depends-on): Update.
12124         * modules/netdb (Depends-on): Update.
12125         * modules/search (Depends-on): Update.
12126         * modules/signal (Depends-on): Update.
12127         * modules/spawn (Depends-on): Update.
12128         * modules/stdio (Depends-on): Update.
12129         * modules/stdlib (Depends-on): Update.
12130         * modules/string (Depends-on): Update.
12131         * modules/strings (Depends-on): Update.
12132         * modules/sys_socket (Depends-on): Update.
12133         * modules/sys_stat (Depends-on): Update.
12134         * modules/sys_time (Depends-on): Update.
12135         * modules/sys_times (Depends-on): Update.
12136         * modules/sys_utsname (Depends-on): Update.
12137         * modules/time (Depends-on): Update.
12138         * modules/unistd (Depends-on): Update.
12139         * modules/wchar (Depends-on): Update.
12140         * MODULES.html.sh (Support for building libraries and executables):
12141         Update.
12142
12143 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
12144
12145         Improvements on _Noreturn and related modules.
12146
12147         modules/_Exit-tests: test _Noreturn too
12148         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
12149         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
12150         (main): Use them.
12151
12152         stdnoreturn, stdnoreturn-tests: remove modules
12153         They're not needed here and a bit premature for use elsewhere.  See
12154         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
12155         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
12156         * tests/test-stdnoreturn.c: Remove files.
12157         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
12158         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
12159         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
12160         and using noreturn.
12161         * modules/openat, modules/sigpipe-die, modules/xalloc:
12162         * modules/xmemdup0, modules/xstrtol:
12163         Remove dependency on stdnoreturn.
12164
12165         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
12166         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
12167         Reparenthesize to avoid GCC warning.
12168         Support Microsoft's syntax.
12169         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
12170
12171         _Noreturn-tests: remove module
12172         * modules/_Noreturn-tests: Remove.
12173         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
12174         * tests/test-_Noreturn.c: Remove.
12175         * tests/test-stdnoreturn.c: Merge from the old
12176         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
12177
12178 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
12179
12180         _Noreturn, stdnoreturn, and related modules.
12181
12182         * top/maint.mk: Adjust to new noreturn support.
12183         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
12184         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
12185
12186         xalloc: use stdnoreturn.h
12187         * lib/xalloc.h: Include <stdnoreturn.h>.
12188         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12189         * modules/xalloc (Depends-on): Add stdnoreturn.
12190
12191         xstrtol: use stdnoreturn.h
12192         * lib/xstrtol.h: Include <stdnoreturn.h>.
12193         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12194         * modules/xstrtol (Depends-on): Add stdnoreturn.
12195
12196         xmemdup0: use stdnoreturn.h
12197         * lib/xmemdup0.h: Include <stdnoreturn.h>.
12198         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12199         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
12200
12201         sigpipe-die: use stdnoreturn.h
12202         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
12203         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12204         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
12205
12206         openat: use stdnoreturn.h
12207         * lib/openat.h: Include <stdnoreturn.h>.
12208         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12209         * modules/openat (Depends-on): Add stdnoreturn.
12210
12211         * lib/openat-die.c (openat_save_fail): Modernize comment.
12212
12213         * lib/xalloc-die.c (xalloc_die): Modernize comment.
12214
12215         * lib/glthread/thread.h: Modernize comment.
12216
12217         obstack: use _Noreturn
12218         * lib/obstack.c (__attribute__): Remove macro.
12219         (print_and_abort): Use _Noreturn.
12220
12221         c-stack: use _Noreturn
12222         * lib/c-stack.c (die, overflow_handler, segv_handler):
12223         Use _Noreturn rather than __attribute__((noreturn)).
12224
12225         argmatch-tests, exclude_tests: use _Noreturn
12226         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
12227         Remove.
12228         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
12229
12230         stdlib: use _Noreturn
12231         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
12232         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
12233         * modules/stdlib (Depends-on): Add _Noreturn.
12234         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
12235
12236         stdnoreturn-tests: new module
12237         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
12238
12239         stdnoreturn: new module
12240         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
12241         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
12242
12243         _Noreturn-tests: new module
12244         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
12245
12246         _Noreturn: new module
12247         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
12248         New section, mentioning it.
12249         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
12250
12251         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
12252
12253 2011-07-11  Eric Blake  <eblake@redhat.com>
12254
12255         ffs: new module
12256         * modules/ffs: New file.
12257         * m4/ffs.m4: Likewise.
12258         * lib/ffs.c: Likewise.
12259         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
12260         * modules/strings (Makefile.am): Substitute witness.
12261         (Depends-on): Add c++defs.
12262         * lib/strings.in.h (ffs): Declare.
12263         * modules/ffs-tests: New test file.
12264         * tests/test-ffs.c: Test new module.
12265         * MODULES.html.sh (Integer arithmetic functions): Mention it.
12266         * doc/posix-functions/ffs.texi (ffs): Likewise.
12267
12268         regex: avoid compiler warning
12269         * lib/regex.c (includes): Include <strings.h>, for use of
12270         strcasecmp in regcomp.c.
12271         Reported by Joachim Schmitz.
12272
12273 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12274
12275         stdint: respect system's intmax_t if INTMAX_MAX
12276         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
12277         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
12278         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
12279         long but int64_t is long long, and where we will clash with the
12280         system intmax_t if we override it.  See
12281         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
12282         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
12283         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
12284         similarly for UINTMAX_C.
12285
12286 2011-07-08  Bruno Haible  <bruno@clisp.org>
12287
12288         pthread_sigmask tests: Avoid a compiler warning.
12289         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
12290         non-zero.
12291
12292         sigprocmask tests: A better way to avoid a compiler warning.
12293         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
12294         (main): Complain if system() returns non-zero.
12295         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
12296
12297 2011-07-08  Bruno Haible  <bruno@clisp.org>
12298
12299         pthread_sigmask: Work around IRIX bug.
12300         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
12301         bug.
12302         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
12303         there may be unblocked pending signals.
12304         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
12305
12306 2011-07-08  Bruno Haible  <bruno@clisp.org>
12307
12308         pthread_sigmask: Work around Cygwin bug.
12309         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
12310         bug.
12311         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
12312         the system's pthread_sigmask function.
12313         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
12314
12315 2011-07-08  Bruno Haible  <bruno@clisp.org>
12316
12317         pthread_sigmask: Work around bug in single-threaded implementation.
12318         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
12319         FreeBSD, HP-UX, Solaris bug.
12320         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
12321         * lib/pthread_sigmask.c: Include <stddef.h>.
12322         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
12323         the system's pthread_sigmask function.
12324         * modules/pthread_sigmask (configure.ac): Invoke
12325         gl_PREREQ_PTHREAD_SIGMASK.
12326         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
12327         HP-UX, Solaris.
12328
12329 2011-07-08  Eric Blake  <eblake@redhat.com>
12330
12331         test-sigprocmask: avoid compiler warning
12332         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
12333         * tests/test-sigprocmask.c (main): Use it to silence warning.
12334         Reported by Jim Meyering.
12335
12336         test-snprintf: avoid compiler warning
12337         * tests/test-snprintf.c (main): Avoid shadowed declaration.
12338         * tests/test-vsnprintf.c (main): Likewise.
12339         Reported by Jim Meyering.
12340
12341 2011-07-08  Bruno Haible  <bruno@clisp.org>
12342
12343         Tests for module 'pthread_sigmask'.
12344         * modules/pthread_sigmask-tests: New file.
12345         * tests/test-pthread_sigmask1.c: New file, based on
12346         tests/test-sigprocmask.c.
12347         * tests/test-pthread_sigmask2.c: New file.
12348
12349 2011-07-08  Jim Meyering  <meyering@redhat.com>
12350
12351         test-getopt.h: avoid warning about an unused variable
12352         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
12353
12354 2011-07-07  Jim Meyering  <meyering@redhat.com>
12355
12356         maint: reduce list of files exempt from sc_prohibit_leading_TABs
12357         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
12358         now that it no longer contains leading TABs.
12359         Remove unused "url=FIXME" statement.
12360
12361 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12362
12363         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
12364         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
12365         When gl_THREADLIB is not in use, assume that the POSIX sematics
12366         are desired.  This is better for Emacs, which uses POSIX semantics
12367         on GNUish and/or POSIXish platforms, and does not use threads at
12368         all otherwise.
12369
12370         pthread_sigmask: fix typo when testing for libraries
12371         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
12372         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
12373
12374 2011-07-08  Eric Blake  <eblake@redhat.com>
12375
12376         fts: introduce FTS_NOATIME
12377         * lib/fts_.h (FTS_NOATIME): New bit flag.
12378         (FTS_OPTIONMASK): Adjust.
12379         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
12380         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
12381
12382 2011-07-08  Bruno Haible  <bruno@clisp.org>
12383
12384         Tests for module 'thread'.
12385         * modules/thread-tests: New file.
12386         * tests/test-thread_self.c: New file.
12387         * tests/test-thread_create.cc: New file.
12388
12389 2011-07-08  Bruno Haible  <bruno@clisp.org>
12390
12391         thread: Avoid gcc warnings when using gl_thread_self().
12392         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
12393         'void *'.
12394         (gl_thread_self_pointer): Update.
12395
12396 2011-07-07  Bruno Haible  <bruno@clisp.org>
12397
12398         signal-c++-tests: Check declaration of pthread_sigmask.
12399         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
12400         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
12401         $(LIB_PTHREAD_SIGMASK).
12402
12403 2011-07-07  Bruno Haible  <bruno@clisp.org>
12404
12405         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
12406         * lib/signal.in.h (pthread_sigmask): Override if
12407         REPLACE_PTHREAD_SIGMASK is 1.
12408         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
12409         REPLACE_PTHREAD_SIGMASK.
12410         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
12411         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
12412         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
12413         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
12414         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
12415
12416 2011-07-07  Bruno Haible  <bruno@clisp.org>
12417
12418         pthread_sigmask: Ensure declaration in <signal.h>.
12419         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
12420         include <pthread.h>.
12421         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
12422         problem.
12423
12424 2011-07-07  Bruno Haible  <bruno@clisp.org>
12425
12426         pthread_sigmask: Document the module.
12427         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
12428
12429 2011-07-07  Bruno Haible  <bruno@clisp.org>
12430
12431         pthread_sigmask: Follow gnulib conventions.
12432         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
12433         gl_PTHREAD_SIGMASK.
12434         * modules/pthread_sigmask (configure.ac): Update.
12435
12436 2011-07-07  Bruno Haible  <bruno@clisp.org>
12437
12438         pthread_sigmask: Make declaration C++ safe.
12439         * lib/signal.in.h: In two special conditions, just do an #include_next.
12440         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
12441         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
12442         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
12443         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
12444         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
12445         not REPLACE_PTHREAD_MASK.
12446         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
12447         not REPLACE_PTHREAD_MASK.
12448         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
12449
12450 2011-07-07  Bruno Haible  <bruno@clisp.org>
12451
12452         pthread_sigmask: Fix return value.
12453         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
12454         * lib/pthread_sigmask.c: New file.
12455         * modules/pthread_sigmask (Files): Add it.
12456         (configure.ac): Invoke AC_LIBOBJ.
12457
12458 2011-07-07  Eric Blake  <eblake@redhat.com>
12459
12460         getopt: more portable argv creation
12461         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
12462         const, use char arrays rather than strings.
12463         Suggested by Paul Eggert.
12464
12465 2011-07-07  Bruno Haible  <bruno@clisp.org>
12466
12467         Tests for module 'sigprocmask'.
12468         * modules/sigprocmask-tests: New file.
12469         * tests/test-sigprocmask.c: New file.
12470
12471 2011-07-07  Bruno Haible  <bruno@clisp.org>
12472
12473         float tests: Tweak.
12474         * tests/test-float.c (main): Tweak skip message.
12475
12476 2011-07-07  Eric Blake  <eblake@redhat.com>
12477
12478         getopt: avoid compiler warning during configure
12479         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
12480         assigning string literals to non-const pointer.
12481
12482         getopt-gnu: avoid crash in glibc getopt
12483         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
12484         * tests/test-getopt.h (test_getopt): Enhance test.
12485         * tests/test-getopt_long.h (test_getopt_long): Likewise.
12486         * doc/posix-functions/getopt.texi (getopt): Document it.
12487         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
12488         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12489         Likewise.
12490
12491 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
12492
12493         getopt: handle W; without long options in getopt [BZ #12922]
12494         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
12495         but no long options are defined, just return 'W'.
12496
12497 2011-07-07  Bruno Haible  <bruno@clisp.org>
12498
12499         Avoid literal tabs.
12500         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
12501         variable containing a tab instead of a literal tab.
12502         Reported by Jim Meyering.
12503
12504 2011-07-07  Bruno Haible  <bruno@clisp.org>
12505
12506         Comments.
12507         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
12508
12509 2011-07-06  Bruno Haible  <bruno@clisp.org>
12510
12511         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
12512         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
12513         <winsock2.h>.
12514         (rpl_fd_isset, FD_ISSET): New definitions, copied from
12515         lib/sys_socket.in.h.
12516         (close, gethostname): Hide declarations from <winsock2.h>.
12517         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
12518         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
12519         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
12520         (select): Don't override if gnulib's <sys/select.h> was already
12521         included.
12522         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
12523         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
12524         setsockopt, shutdown, select): Tweak indentation.
12525
12526 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12527
12528         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
12529         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
12530         in an application that does not use the sys_select module.
12531
12532 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
12533
12534         poll: do not return 0 on timeout=-1
12535         * lib/poll.c: Loop with yield if no events occured
12536
12537 2011-07-06  Eric Blake  <eblake@redhat.com>
12538
12539         pthread_sigmask: always replace when not using pthread
12540         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
12541         replacement when using some threading other than pthread.  Fix
12542         logic bug.
12543
12544 2011-07-06  Bruno Haible  <bruno@clisp.org>
12545
12546         Comments.
12547         * m4/printf.m4: Update comments about mingw.
12548
12549 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12550
12551         sys_select: define sigset_t more portably
12552         * lib/sys_select.in.h: Always include <sys/types.h>, since
12553         we now need sigset_t and mingw defines it there.
12554         Include <signal.h> before split inclusion guard, to avoid
12555         mishaps on Solaris, whose <signal.h> eventually includes us.
12556         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
12557         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
12558         which come from ...
12559         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
12560         gl_CHECK_TYPE_SIGSET_T.
12561         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
12562         does the real work.
12563         * modules/sys_select (Depends-on): Add 'signal'.
12564
12565         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
12566         Suggested by Bruno Haible.
12567
12568         pselect: Use pthread_sigmask, not sigprocmask.
12569         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
12570         multithreaded apps better than sigprocmask does.
12571         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
12572         sigprocmask directly.
12573
12574 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
12575
12576         * lib/pselect.c (pselect): Use plain name, without "rpl_".
12577         Don't #undef,  since we don't need any underlying pselect.
12578         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
12579         (Depends-on): Add select.
12580         (Link): Add $(LIBSOCKET).
12581         These changes suggested by Bruno Haible.
12582
12583         pselect: document better
12584         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
12585         * doc/posix-functions/pselect.texi (pselect): Document new module.
12586
12587         pthread_sigmask: new module
12588         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
12589         * doc/posix-functions/pthread_sigmask.texi: Document new module.
12590         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
12591         This is done only as a macro; I don't know how well that'll
12592         work for C++.  Move <sys/types.h> include before the include_next,
12593         to avoid mishap on Solaris.
12594         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
12595         * modules/signal (Makefile.am): Substitute the check's results.
12596         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
12597
12598         test-pselect: new module
12599         * modules/pselect-tests, tests/test-pselect.c: New files.
12600         * tests/test-select.c, tests/test-sys_select-c++.cc:
12601         If TEST_PSELECT is defined, test pselect instead of testing select.
12602
12603         * tests/test-sys_select.c (sigset_t): Test for it, too.
12604         Suggested by Bruno Haible.
12605
12606 2011-07-05  Eric Blake  <eblake@redhat.com>
12607
12608         snprintf: guarantee %1$d, for libintl
12609         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
12610         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
12611         * doc/posix-functions/snprintf.texi (snprintf): Update.
12612         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
12613         * tests/test-snprintf.c (main): Enhance test.
12614         * tests/test-vsnprintf.c (main): Likewise.
12615
12616 2011-07-05  Jim Meyering  <meyering@redhat.com>
12617
12618         maint: exempt stdio-read.c and stdio-write.c from the cppi check
12619         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
12620         per Bruno's request, to accommodate this idiom (no space after "#")
12621         even when the function is inside an #if block:
12622         char *
12623         gets (char *s)
12624         #undef gets
12625         {
12626           ...
12627         }
12628
12629 2011-07-04  Jim Meyering  <meyering@redhat.com>
12630
12631         maint: indent with spaces, not TABs, and add a rule to check this
12632         * tests/test-userspec.c: Indent with spaces, not TABs.
12633         * tests/test-argp.c: Likewise.
12634         * tests/test-c-stack2.sh: Likewise.
12635         * tests/test-parse-duration.sh: Likewise
12636         * m4/strtod.m4: Likewise.
12637         * m4/alloca.m4: Likewise.
12638         * m4/pselect.m4: Likewise.
12639         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
12640
12641 2011-07-03  Jim Meyering  <meyering@redhat.com>
12642
12643         maint.mk: correct omissions in prohibit_argmatch_without_use check
12644         This rule would mistakenly report that argmatch.h is included without
12645         use even when both the argmatch and invalid_arg macro were used.
12646         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
12647         of argmatch and invalid_arg.
12648
12649 2011-07-03  Bruno Haible  <bruno@clisp.org>
12650
12651         Comments about EINTR.
12652         * lib/safe-read.h: Explain the purpose of this module.
12653         * lib/safe-write.h: Likewise.
12654         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
12655         module.
12656         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
12657         module.
12658         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12659
12660 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
12661
12662         xnanosleep: Rewrite to use new dtotimespec module.
12663         It has the conversion code that used to be in xnanosleep.
12664         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
12665         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
12666         (TIME_T_MAX): Remove.
12667         (xnanosleep): Rewrite in terms of dtotimespec.
12668         * modules/xnanosleep (Depends-on): Add dtotimespec.
12669         Remove intprops, stdbool.
12670
12671         timespec-add, timespec-sub: new modules
12672         * lib/timespec.h (timespec_add, timespec_sub): New decls.
12673         * lib/timespec-add.c, lib/timespec-sub.c:
12674         * modules/timespec-add, modules/timespec-sub: New files.
12675
12676         dtotimespec: new module
12677         * lib/timespec.h (dtotimespec): New decl.
12678         * lib/dtotimespec.c, modules/dtotimespec: New files.
12679
12680         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
12681
12682         pselect: new module
12683         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
12684         (pselect): New decls.
12685         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
12686         since the standard pselect decl uses 'restrict'.
12687         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
12688         HAVE_PSELECT, REPLACE_PSELECT.
12689         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
12690         HAVE_PSELECT, REPLACE_PSELECT.
12691         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
12692
12693         sys_select: don't depend on sys_socket
12694         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
12695         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
12696         This fix works on GNU and GNU-like platforms, but has not been tested
12697         on native Windows.
12698         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
12699         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
12700         gl_HEADER_SYS_SOCKET.
12701         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
12702         gl_PREREQ_SYS_H_WINSOCK2.
12703
12704 2011-06-29  Eric Blake  <eblake@redhat.com>
12705
12706         pipe2: fix C89 compile problem
12707         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
12708         Reported by Bruno Haible.
12709
12710         pipe, pipe2: don't corrupt fd on error
12711         * lib/pipe.c (pipe): Leave fd unchanged on error.
12712         * lib/pipe2.c (pipe2): Likewise.
12713         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
12714         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12715
12716 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
12717
12718         mmap-anon: do not use regular expressions inadvertently
12719         * m4/mmap-anon.m4: Remove trailing period from strings sought
12720         in the output.
12721
12722 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
12723
12724         nanosleep: fix integer overflow problem
12725         * lib/nanosleep.c (my_usleep): Don't assume signed integer
12726         arithmetic wraps around on overflow.
12727
12728         nanosleep: simplify carrying
12729         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
12730         first call to the underyling nanosleep, not for the last one.
12731         This doesn't fix any bugs, but it simplifies the computation of
12732         the remaining delay.  Found while auditing integer overflow issues.
12733
12734         dup2: remove test for existence of fcntl
12735         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
12736         "#if HAVE_FCNTL", in the configure-time test program.
12737         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
12738         and therefore speeds up "configure" a bit.  Found while
12739         adding the dup2 module to Emacs.
12740
12741 2011-06-24  Eric Blake  <eblake@redhat.com>
12742
12743         maint.mk: enhance useless header checks
12744         * top/maint.mk (_sc_header_without_use): Check both include
12745         styles.
12746         (sc_prohibit_assert_without_use)
12747         (sc_prohibit_close_stream_without_use)
12748         (sc_prohibit_getopt_without_use)
12749         (sc_prohibit_quotearg_without_use)
12750         (sc_prohibit_quote_without_use)
12751         (sc_prohibit_long_options_without_use)
12752         (sc_prohibit_inttostr_without_use)
12753         (sc_prohibit_ignore_value_without_use)
12754         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
12755         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
12756         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
12757         (sc_prohibit_hash_pjw_without_use)
12758         (sc_prohibit_safe_read_without_use)
12759         (sc_prohibit_argmatch_without_use)
12760         (sc_prohibit_canonicalize_without_use)
12761         (sc_prohibit_root_dev_ino_without_use)
12762         (sc_prohibit_openat_without_use)
12763         (sc_prohibit_c_ctype_without_use)
12764         (sc_prohibit_signal_without_use)
12765         (sc_prohibit_stdio--_without_use)
12766         (sc_prohibit_stdio-safer_without_use)
12767         (sc_prohibit_strings_without_use)
12768         (sc_prohibit_intprops_without_use)
12769         (sc_prohibit_stddef_without_use)
12770         (sc_prohibit_xfreopen_without_use): Update clients.
12771
12772 2011-06-24  Jim Meyering  <meyering@redhat.com>
12773
12774         syntax-check: keep one maint.mk rule in sync with its header
12775         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
12776         of the bug Eric has just fixed, with today's commit 25e4c2ec.
12777         I prefer to avoid temporary files here, so use <(...), but that
12778         is not supported by /bin/sh, so...
12779         (SHELL): Define to /bin/bash.
12780
12781 2011-06-24  Eric Blake  <eblake@redhat.com>
12782
12783         maint.mk: update sc_prohibit_intprops_without_use
12784         * top/maint.mk (_intprops_names): Match recent changes.
12785
12786 2011-06-24  Bruno Haible  <bruno@clisp.org>
12787
12788         strerror-override: No-op tweak.
12789         * lib/strerror-override.h (strerror_override): Reorder conditions,
12790         for consistency with lib/strerror-override.c.
12791
12792 2011-06-23  Eric Blake  <eblake@redhat.com>
12793
12794         maint.mk: test further PATH_MAX issues
12795         * top/maint.mk (sc_prohibit_path_max_array): Rename...
12796         (sc_prohibit_path_max_allocation): ...and also test alloca.
12797         Suggested by Jim Meyering.
12798
12799 2011-06-22  Eric Blake  <eblake@redhat.com>
12800
12801         maint.mk: add syntax-check to avoid char[PATH_MAX]
12802         * top/maint.mk (sc_prohibit_path_max_array): New rule.
12803
12804         stat: be robust to PATH_MAX definition
12805         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
12806         * modules/stat (Depends-on): Add verify.
12807
12808         link: work around IRIX bug
12809         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
12810         * lib/link.c (rpl_link): Work around it.
12811         * tests/test-link.h (test_link): Enhance test.
12812         * doc/posix-functions/link.texi (link): Document the bug.
12813
12814         getopt: silence clang warning
12815         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
12816         dereference.
12817         Reported by Gustavo Martin Domato.
12818
12819 2011-06-22  Jim Meyering  <meyering@redhat.com>
12820
12821         bootstrap: do not insert a blank line into each .gitignore file
12822         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
12823
12824 2011-06-21  Eric Blake  <eblake@redhat.com>
12825
12826         perror: test for output mismatch
12827         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
12828         perror on IRIX.
12829
12830         strerror_r: fix OpenBSD behavior on out-of-range
12831         * lib/strerror_r.c (strerror_r): Always use maximal string.
12832         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12833
12834         strerror_r: fix OpenBSD behavior on 0
12835         * lib/strerror-override.c (strerror_override): Also override 0
12836         when needed.
12837         * lib/strerror-override.h (strerror_override): Likewise.
12838         * lib/strerror.c (strerror): Simplify, now that 0 override is done
12839         earlier.
12840         * lib/strerror_r.c (strerror_r): Likewise.
12841         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
12842         behavior...
12843         (gl_FUNC_STRERROR_0): ...into new macro.
12844         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
12845         is overridden.
12846         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
12847         * modules/strerror-override (Files): Add strerror.m4.
12848         (configure.ac): Also provide override for 0 when needed.
12849         * doc/posix-functions/strerror.texi (strerror): Document this.
12850         * doc/posix-functions/perror.texi (perror): Likewise.
12851
12852         perror: adjust array size
12853         * modules/perror (Depends-on): Add strerror-override.
12854         * lib/perror.c (perror): Use it to avoid magic number.
12855
12856         strerror-override: reduce size
12857         * lib/strerror-override.c (strerror_override): Use fewer lines.
12858
12859 2011-06-20  Bruno Haible  <bruno@clisp.org>
12860
12861         pathmax: Ensure correct value for PATH_MAX on HP-UX.
12862         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
12863
12864 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
12865
12866         alloca: port to compilers that can optimize like GCC 4.6.0
12867         * lib/alloca.c (find_stack_direction): New signature, taken from
12868         Autoconf git.  This works with GCC 4.6.0.  This code should never
12869         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
12870         be used with other compilers that optimize as well as GCC 4.6.0 does.
12871         (alloca): Adjust to new signature.
12872         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
12873         New macro, which patches Autoconf in a similar way.
12874
12875         c-stack: stop worrying about stack direction
12876         * lib/c-stack.c (find_stack_direction): Remove.
12877         (segv_handler): Don't worry about stack direction growth, as it's
12878         too much of a pain to configure this correctly, given how compilers
12879         are optimizing-away our stack-growth detection code.  Instead, assume
12880         that any access to just before or just after the stack is OK.
12881         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
12882         Don't require AC_FUNC_ALLOCA; no longer needed.
12883
12884 2011-06-20  Eric Blake  <eblake@redhat.com>
12885
12886         test-stat: don't allocate PATH_MAX bytes
12887         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
12888         PATH_MAX-sized buffer.
12889         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
12890         * modules/stat-tests (Depends-on): Likewise.
12891         * tests/test-fstatat.c (includes): Drop pathmax.h.
12892         * tests/test-stat.c (includes): Likewise.
12893         Reported by Bruno Haible.
12894
12895 2011-06-20  Bruno Haible  <bruno@clisp.org>
12896
12897         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
12898         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
12899         * lib/float.c: New file.
12900         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
12901         REPLACE_FLOAT_LDBL.
12902         * modules/float (Files): Add lib/float.c.
12903         (configure.ac): Invoke AC_LIBOBJ.
12904         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
12905
12906 2011-06-20  Bruno Haible  <bruno@clisp.org>
12907
12908         Tests for module 'float'.
12909         * modules/float-tests: New file.
12910         * tests/test-float.c: New file.
12911
12912 2011-06-19  Bruno Haible  <bruno@clisp.org>
12913
12914         isinf: Coding style.
12915         * lib/isinf.c: Use GNU coding style.
12916
12917 2011-06-19  Bruno Haible  <bruno@clisp.org>
12918
12919         linkat test: Avoid test failure on AIX 7.1.
12920         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
12921         * tests/test-link.h (test_link): Likewise.
12922
12923 2011-06-19  Bruno Haible  <bruno@clisp.org>
12924
12925         pread test: Avoid test failure on OpenBSD 4.9.
12926         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
12927
12928 2011-06-19  Bruno Haible  <bruno@clisp.org>
12929
12930         sprintf-posix: Fix test failure on AIX 7.1.
12931         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
12932         * doc/posix-functions/dprintf.texi: Mention limited precision problem
12933         on AIX.
12934         * doc/posix-functions/fprintf.texi: Likewise.
12935         * doc/posix-functions/printf.texi: Likewise.
12936         * doc/posix-functions/snprintf.texi: Likewise.
12937         * doc/posix-functions/sprintf.texi: Likewise.
12938         * doc/posix-functions/vdprintf.texi: Likewise.
12939         * doc/posix-functions/vfprintf.texi: Likewise.
12940         * doc/posix-functions/vprintf.texi: Likewise.
12941         * doc/posix-functions/vsnprintf.texi: Likewise.
12942         * doc/posix-functions/vsprintf.texi: Likewise.
12943
12944 2011-06-19  Bruno Haible  <bruno@clisp.org>
12945
12946         roundl-ieee: Fix test failure on AIX 7.1.
12947         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
12948         * doc/posix-functions/roundl.texi: Mention problem with negative
12949         arguments.
12950
12951 2011-06-19  Bruno Haible  <bruno@clisp.org>
12952
12953         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
12954         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
12955         * doc/posix-functions/round.texi: Mention problem with negative
12956         arguments.
12957         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
12958
12959 2011-06-19  Bruno Haible  <bruno@clisp.org>
12960
12961         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
12962         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
12963         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
12964         * doc/posix-functions/roundf.texi: Mention problem with negative
12965         arguments.
12966         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
12967
12968 2011-06-19  Bruno Haible  <bruno@clisp.org>
12969
12970         ceilf-ieee: Work around bug on MacOS X 10.5.
12971         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
12972
12973         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
12974         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
12975         IEEE compliant, avoid compiler optimizations.
12976         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
12977         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
12978         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
12979         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
12980         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
12981         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
12982         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12983         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
12984         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
12985         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
12986
12987 2011-06-19  Bruno Haible  <bruno@clisp.org>
12988
12989         ceilf-ieee: Work around bug on AIX 7.1.
12990         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
12991         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
12992
12993 2011-06-19  Bruno Haible  <bruno@clisp.org>
12994
12995         ceil-ieee: Work around bug on AIX 7.1.
12996         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
12997         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
12998
12999 2011-06-18  Bruno Haible  <bruno@clisp.org>
13000
13001         fsync test: Avoid test failure on MacOS X and AIX.
13002         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
13003         EINVAL.
13004
13005 2011-06-18  Bruno Haible  <bruno@clisp.org>
13006
13007         openat, fdopendir tests: Fix link errors.
13008         * modules/openat-tests (Depends-on): Add progname.
13009         * modules/fdopendir-tests (Depends-on): Likewise.
13010         * tests/test-fchownat.c: Include progname.h.
13011         (main): Call set_program_name.
13012         * tests/test-fstatat.c: Include progname.h.
13013         (main): Call set_program_name.
13014         * tests/test-mkdirat.c: Include progname.h.
13015         (main): Call set_program_name.
13016         * tests/test-openat.c: Include progname.h.
13017         (main): Call set_program_name.
13018         * tests/test-unlinkat.c: Include progname.h.
13019         (main): Call set_program_name.
13020         * tests/test-fdopendir.c: Include progname.h.
13021         (main): Call set_program_name.
13022
13023 2011-06-18  Bruno Haible  <bruno@clisp.org>
13024
13025         Doc update.
13026         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
13027         HP-UX.
13028         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
13029
13030 2011-06-18  Bruno Haible  <bruno@clisp.org>
13031
13032         getcwd tests: Avoid compilation error on HP-UX 11.31.
13033         * modules/getcwd-tests (Depends-on): Add pathmax.
13034         * tests/test-getcwd.c: Include pathmax.h.
13035
13036 2011-06-18  Bruno Haible  <bruno@clisp.org>
13037
13038         isfinite, isinf: Fix link error on AIX 6 and 7.
13039         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
13040         needed, also test the macro with a 'float' argument.
13041         * m4/isinf.m4 (gl_ISINF): Likewise.
13042
13043 2011-06-18  Bruno Haible  <bruno@clisp.org>
13044
13045         getloadavg: Don't clobber LIBS. Regression from previous commit.
13046         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
13047         AC_CHECK_LIB from here...
13048         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
13049         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
13050         gl_func_getloadavg_done.
13051         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13052
13053 2011-06-18  Bruno Haible  <bruno@clisp.org>
13054
13055         clean-temp: Improve documentation.
13056         * lib/clean-temp.h: Explain better how to use this module.
13057         Reported by John Darrington <john@darrington.wattle.id.au>.
13058
13059 2011-06-17  Bruno Haible  <bruno@clisp.org>
13060
13061         pread, pwrite: Avoid cc warning on AIX.
13062         * lib/unistd.in.h (pread): Undefine before defining as a macro.
13063         (pwrite): Likewise.
13064
13065 2011-06-17  Bruno Haible  <bruno@clisp.org>
13066
13067         spawn-pipe tests: Fix link error.
13068         * tests/test-spawn-pipe-child.c: Undefine fprintf.
13069         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13070
13071 2011-06-17  Bruno Haible  <bruno@clisp.org>
13072
13073         Tests: Remove unnecessary dependency.
13074         * modules/canonicalize-tests (Depends-on): Remove progname.
13075         * modules/chown-tests (Depends-on): Likewise.
13076         * modules/dirname-tests (Depends-on): Likewise.
13077         * modules/fdopendir-tests (Depends-on): Likewise.
13078         * modules/fdutimensat-tests (Depends-on): Likewise.
13079         * modules/hash-tests (Depends-on): Likewise.
13080         * modules/lchown-tests (Depends-on): Likewise.
13081         * modules/linkat-tests (Depends-on): Likewise.
13082         * modules/renameat-tests (Depends-on): Likewise.
13083         * modules/spawn-pipe-tests (Depends-on): Likewise.
13084         * modules/utimensat-tests (Depends-on): Likewise.
13085
13086 2011-06-17  Bruno Haible  <bruno@clisp.org>
13087
13088         spawn-pipe tests: Fix link error.
13089         * tests/test-spawn-pipe-child.c: Undefine fflush.
13090
13091 2011-06-17  Bruno Haible  <bruno@clisp.org>
13092
13093         Fix tests link errors.
13094         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
13095         * modules/chown-tests (Makefile.am): Don't link test-chown with
13096         LIBINTL.
13097         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
13098         LIBINTL.
13099         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
13100         LIBINTL.
13101         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
13102         LIBINTL.
13103
13104 2011-06-16  Bruno Haible  <bruno@clisp.org>
13105
13106         crypto/gc-sha1: Fix recent regression.
13107         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
13108         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
13109
13110         crypto/gc-md5: Fix recent regression.
13111         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
13112
13113         crypto/gc-md4: Fix recent regression.
13114         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
13115         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
13116
13117         crypto/gc-arctwo: Fix recent regression.
13118         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
13119         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
13120
13121         crypto/gc-rijndael: Fix recent regression.
13122         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
13123         (configure.ac): Invoke AC_LIBOBJ here.
13124         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
13125         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13126
13127         crypto/gc-hmac-sha1: Fix recent regression.
13128         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
13129         (configure.ac): Invoke AC_LIBOBJ here.
13130         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
13131         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13132
13133         crypto/gc-hmac-md5: Fix recent regression.
13134         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
13135         (configure.ac): Invoke AC_LIBOBJ here.
13136         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
13137         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13138
13139         crypto/gc-des: Fix recent regression.
13140         * modules/crypto/gc-des (Files): Remove m4/des.m4.
13141         (configure.ac): Invoke AC_LIBOBJ here.
13142         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
13143         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13144
13145         crypto/gc-arcfour: Fix recent regression.
13146         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
13147         (configure.ac): Invoke AC_LIBOBJ here.
13148         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
13149         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13150
13151 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
13152
13153         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
13154         After the 2011-05-21 change, this macro requires
13155         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
13156         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
13157
13158 2011-06-16  Bruno Haible  <bruno@clisp.org>
13159
13160         fprintftime: Move AC_LIBOBJ invocations to module description.
13161         * m4/fprintftime.m4: Remove file.
13162         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
13163         (configure.ac): Remove gl_FPRINTFTIME call.
13164         (Makefile.am): Augment lib_SOURCES.
13165         Reported by Jim Meyering.
13166
13167 2011-06-16  Bruno Haible  <bruno@clisp.org>
13168
13169         tmpfile-safer: Finish 2011-05-23 commit.
13170         * m4/stdio-safer.m4: Really remove file.
13171         Reported by Jim Meyering.
13172
13173 2011-06-16  Bruno Haible  <bruno@clisp.org>
13174
13175         syntax-check: Fix typo.
13176         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
13177         printf-posix.m4.
13178         Reported by Jim Meyering.
13179
13180 2011-06-13  Jim Meyering  <meyering@redhat.com>
13181
13182         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
13183         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
13184
13185 2011-05-23  Bruno Haible  <bruno@clisp.org>
13186
13187         yesno: Move AC_LIBOBJ invocations to module description.
13188         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
13189         * modules/yesno (Makefile.am): Augment lib_SOURCES.
13190
13191 2011-05-23  Bruno Haible  <bruno@clisp.org>
13192
13193         xstrtol: Move AC_LIBOBJ invocations to module description.
13194         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
13195         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
13196
13197 2011-05-23  Bruno Haible  <bruno@clisp.org>
13198
13199         xstrtold: Move AC_LIBOBJ invocations to module description.
13200         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
13201         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
13202
13203 2011-05-23  Bruno Haible  <bruno@clisp.org>
13204
13205         xstrtod: Move AC_LIBOBJ invocations to module description.
13206         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
13207         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
13208
13209 2011-05-23  Bruno Haible  <bruno@clisp.org>
13210
13211         xnanosleep: Move AC_LIBOBJ invocations to module description.
13212         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
13213         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
13214
13215 2011-05-23  Bruno Haible  <bruno@clisp.org>
13216
13217         xgetcwd: Move AC_LIBOBJ invocations to module description.
13218         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
13219         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
13220
13221 2011-05-23  Bruno Haible  <bruno@clisp.org>
13222
13223         xalloc: Move AC_LIBOBJ invocations to module description.
13224         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
13225         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
13226
13227 2011-05-23  Bruno Haible  <bruno@clisp.org>
13228
13229         write-any-file: Move AC_LIBOBJ invocations to module description.
13230         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
13231         invocation.
13232         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
13233
13234 2011-05-23  Bruno Haible  <bruno@clisp.org>
13235
13236         utimens: Move AC_LIBOBJ invocations to module description.
13237         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
13238         * modules/utimens (Makefile.am): Augment lib_SOURCES.
13239
13240 2011-05-23  Bruno Haible  <bruno@clisp.org>
13241
13242         utimecmp: Move AC_LIBOBJ invocations to module description.
13243         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
13244         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
13245
13246 2011-05-23  Bruno Haible  <bruno@clisp.org>
13247
13248         userspec: Move AC_LIBOBJ invocations to module description.
13249         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
13250         * modules/userspec (Makefile.am): Augment lib_SOURCES.
13251
13252 2011-05-23  Bruno Haible  <bruno@clisp.org>
13253
13254         unlinkdir: Move AC_LIBOBJ invocations to module description.
13255         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
13256         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
13257
13258 2011-05-23  Bruno Haible  <bruno@clisp.org>
13259
13260         unistd-safer: Move AC_LIBOBJ invocations to module description.
13261         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
13262         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
13263
13264 2011-05-23  Bruno Haible  <bruno@clisp.org>
13265
13266         tempname: Move AC_LIBOBJ invocations to module description.
13267         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
13268         * modules/tempname (Makefile.am): Augment lib_SOURCES.
13269
13270 2011-05-23  Bruno Haible  <bruno@clisp.org>
13271
13272         strftime: Move AC_LIBOBJ invocations to module description.
13273         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
13274         * modules/strftime (Makefile.am): Augment lib_SOURCES.
13275
13276 2011-05-23  Bruno Haible  <bruno@clisp.org>
13277
13278         stdlib-safer: Move AC_LIBOBJ invocations to module description.
13279         * m4/stdlib-safer.m4: Remove file.
13280         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
13281         (configure.ac): Remove gl_STDLIB_SAFER call.
13282         (Makefile.am): Augment lib_SOURCES.
13283
13284 2011-05-23  Bruno Haible  <bruno@clisp.org>
13285
13286         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
13287         * m4/stdio-safer.m4: Remove file.
13288         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
13289         (configure.ac): Remove gl_TMPFILE_SAFER call.
13290         (Makefile.am): Augment lib_SOURCES.
13291
13292 2011-05-23  Bruno Haible  <bruno@clisp.org>
13293
13294         popen-safer: Move AC_LIBOBJ invocations to module description.
13295         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
13296         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
13297         (configure.ac): Remove gl_POPEN_SAFER call.
13298         (Makefile.am): Augment lib_SOURCES.
13299
13300 2011-05-23  Bruno Haible  <bruno@clisp.org>
13301
13302         freopen-safer: Move AC_LIBOBJ invocations to module description.
13303         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
13304         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
13305         (configure.ac): Remove gl_FREOPEN_SAFER call.
13306         (Makefile.am): Augment lib_SOURCES.
13307
13308 2011-05-23  Bruno Haible  <bruno@clisp.org>
13309
13310         fopen-safer: Move AC_LIBOBJ invocations to module description.
13311         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
13312         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
13313         (configure.ac): Remove gl_FOPEN_SAFER call.
13314         (Makefile.am): Augment lib_SOURCES.
13315
13316 2011-05-23  Bruno Haible  <bruno@clisp.org>
13317
13318         crypto/sha512: Move AC_LIBOBJ invocations to module description.
13319         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
13320         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
13321
13322 2011-05-23  Bruno Haible  <bruno@clisp.org>
13323
13324         crypto/sha256: Move AC_LIBOBJ invocations to module description.
13325         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
13326         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
13327
13328 2011-05-23  Bruno Haible  <bruno@clisp.org>
13329
13330         crypto/sha1: Move AC_LIBOBJ invocations to module description.
13331         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
13332         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
13333
13334 2011-05-23  Bruno Haible  <bruno@clisp.org>
13335
13336         settime: Move AC_LIBOBJ invocations to module description.
13337         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
13338         * modules/settime (Makefile.am): Augment lib_SOURCES.
13339
13340 2011-05-23  Bruno Haible  <bruno@clisp.org>
13341
13342         savedir: Move AC_LIBOBJ invocations to module description.
13343         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
13344         * modules/savedir (Makefile.am): Augment lib_SOURCES.
13345
13346 2011-05-23  Bruno Haible  <bruno@clisp.org>
13347
13348         save-cwd: Move AC_LIBOBJ invocations to module description.
13349         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
13350         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
13351
13352 2011-05-23  Bruno Haible  <bruno@clisp.org>
13353
13354         same: Move AC_LIBOBJ invocations to module description.
13355         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
13356         * modules/same (Makefile.am): Augment lib_SOURCES.
13357
13358 2011-05-23  Bruno Haible  <bruno@clisp.org>
13359
13360         safe-write: Move AC_LIBOBJ invocations to module description.
13361         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
13362         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
13363         instead of gl_SAFE_WRITE.
13364         (Makefile.am): Augment lib_SOURCES.
13365
13366 2011-05-23  Bruno Haible  <bruno@clisp.org>
13367
13368         safe-read: Move AC_LIBOBJ invocations to module description.
13369         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
13370         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
13371         of gl_SAFE_READ.
13372         (Makefile.am): Augment lib_SOURCES.
13373
13374 2011-05-23  Bruno Haible  <bruno@clisp.org>
13375
13376         safe-alloc: Move AC_LIBOBJ invocations to module description.
13377         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
13378         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
13379
13380 2011-05-23  Bruno Haible  <bruno@clisp.org>
13381
13382         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
13383         * m4/rijndael.m4: Remove file.
13384         * modules/crypto/rijndael (Files): Remove it.
13385         (configure.ac): Remove gl_RIJNDAEL call.
13386         (Makefile.am): Augment lib_SOURCES.
13387
13388 2011-05-23  Bruno Haible  <bruno@clisp.org>
13389
13390         readtokens: Move AC_LIBOBJ invocations to module description.
13391         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
13392         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
13393
13394 2011-05-23  Bruno Haible  <bruno@clisp.org>
13395
13396         read-file: Move AC_LIBOBJ invocations to module description.
13397         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
13398         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
13399         of gl_FUNC_READ_FILE.
13400         (Makefile.am): Augment lib_SOURCES.
13401
13402 2011-05-23  Bruno Haible  <bruno@clisp.org>
13403
13404         quotearg: Move AC_LIBOBJ invocations to module description.
13405         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
13406         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
13407
13408 2011-05-23  Bruno Haible  <bruno@clisp.org>
13409
13410         quote: Move AC_LIBOBJ invocations to module description.
13411         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
13412         * modules/quote (Makefile.am): Augment lib_SOURCES.
13413
13414 2011-05-23  Bruno Haible  <bruno@clisp.org>
13415
13416         posixver: Move AC_LIBOBJ invocations to module description.
13417         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
13418         * modules/posixver (Makefile.am): Augment lib_SOURCES.
13419
13420 2011-05-23  Bruno Haible  <bruno@clisp.org>
13421
13422         posixtm: Move AC_LIBOBJ invocations to module description.
13423         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
13424         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
13425
13426 2011-05-23  Bruno Haible  <bruno@clisp.org>
13427
13428         physmem: Move AC_LIBOBJ invocations to module description.
13429         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
13430         * modules/physmem (Makefile.am): Augment lib_SOURCES.
13431
13432 2011-05-23  Bruno Haible  <bruno@clisp.org>
13433
13434         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
13435         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
13436         invocation.
13437         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
13438
13439 2011-05-23  Bruno Haible  <bruno@clisp.org>
13440
13441         mpsort: Move AC_LIBOBJ invocations to module description.
13442         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
13443         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
13444
13445 2011-05-23  Bruno Haible  <bruno@clisp.org>
13446
13447         modechange: Move AC_LIBOBJ invocations to module description.
13448         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
13449         * modules/modechange (Makefile.am): Augment lib_SOURCES.
13450
13451 2011-05-23  Bruno Haible  <bruno@clisp.org>
13452
13453         mkdir-p: Move AC_LIBOBJ invocations to module description.
13454         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
13455         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
13456
13457 2011-05-23  Bruno Haible  <bruno@clisp.org>
13458
13459         mkancesdirs: Move AC_LIBOBJ invocations to module description.
13460         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
13461         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
13462
13463 2011-05-23  Bruno Haible  <bruno@clisp.org>
13464
13465         mgetgroups: Move AC_LIBOBJ invocations to module description.
13466         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
13467         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
13468
13469 2011-05-23  Bruno Haible  <bruno@clisp.org>
13470
13471         memxor: Move AC_LIBOBJ invocations to module description.
13472         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
13473         * modules/memxor (Makefile.am): Augment lib_SOURCES.
13474
13475 2011-05-23  Bruno Haible  <bruno@clisp.org>
13476
13477         memcoll: Move AC_LIBOBJ invocations to module description.
13478         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
13479         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
13480
13481 2011-05-23  Bruno Haible  <bruno@clisp.org>
13482
13483         memcasecmp: Move AC_LIBOBJ invocations to module description.
13484         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
13485         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
13486
13487 2011-05-23  Bruno Haible  <bruno@clisp.org>
13488
13489         crypto/md5: Move AC_LIBOBJ invocations to module description.
13490         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
13491         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
13492
13493 2011-05-23  Bruno Haible  <bruno@clisp.org>
13494
13495         crypto/md4: Move AC_LIBOBJ invocations to module description.
13496         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
13497         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
13498
13499 2011-05-23  Bruno Haible  <bruno@clisp.org>
13500
13501         crypto/md2: Move AC_LIBOBJ invocations to module description.
13502         * m4/md2.m4: Remove file.
13503         * modules/crypto/md2 (Files): Remove it.
13504         (configure.ac): Remove gl_MD2 call.
13505         (Makefile.am): Augment lib_SOURCES.
13506
13507 2011-05-23  Bruno Haible  <bruno@clisp.org>
13508
13509         long-options: Move AC_LIBOBJ invocations to module description.
13510         * m4/long-options.m4: Remove file.
13511         * modules/long-options (Files): Remove it.
13512         (configure.ac): Remove gl_LONG_OPTIONS call.
13513         (Makefile.am): Augment lib_SOURCES.
13514
13515 2011-05-23  Bruno Haible  <bruno@clisp.org>
13516
13517         i-ring: Move AC_LIBOBJ invocations to module description.
13518         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
13519         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
13520
13521 2011-05-23  Bruno Haible  <bruno@clisp.org>
13522
13523         idcache: Move AC_LIBOBJ invocations to module description.
13524         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
13525         * modules/idcache (Makefile.am): Augment lib_SOURCES.
13526
13527 2011-05-23  Bruno Haible  <bruno@clisp.org>
13528
13529         human: Move AC_LIBOBJ invocations to module description.
13530         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
13531         * modules/human (Makefile.am): Augment lib_SOURCES.
13532
13533 2011-05-23  Bruno Haible  <bruno@clisp.org>
13534
13535         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
13536         * m4/hmac-sha1.m4: Remove file.
13537         * modules/crypto/hmac-sha1 (Files): Remove it.
13538         (configure.ac): Remove gl_HMAC_SHA1 call.
13539         (Makefile.am): Augment lib_SOURCES.
13540
13541 2011-05-23  Bruno Haible  <bruno@clisp.org>
13542
13543         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
13544         * m4/hmac-md5.m4: Remove file.
13545         * modules/crypto/hmac-md5 (Files): Remove it.
13546         (configure.ac): Remove gl_HMAC_MD5 call.
13547         (Makefile.am): Augment lib_SOURCES.
13548
13549 2011-05-23  Bruno Haible  <bruno@clisp.org>
13550
13551         hash: Move AC_LIBOBJ invocations to module description.
13552         * m4/hash.m4: Remove file.
13553         * modules/hash (Files): Remove it.
13554         (configure.ac): Remove gl_HASH call.
13555         (Makefile.am): Augment lib_SOURCES.
13556
13557 2011-05-23  Bruno Haible  <bruno@clisp.org>
13558
13559         hard-locale: Move AC_LIBOBJ invocations to module description.
13560         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
13561         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
13562
13563 2011-05-23  Bruno Haible  <bruno@clisp.org>
13564
13565         getugroups: Move AC_LIBOBJ invocations to module description.
13566         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
13567         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
13568
13569 2011-05-23  Bruno Haible  <bruno@clisp.org>
13570
13571         gettime: Move AC_LIBOBJ invocations to module description.
13572         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
13573         * modules/gettime (Makefile.am): Augment lib_SOURCES.
13574
13575 2011-05-23  Bruno Haible  <bruno@clisp.org>
13576
13577         getndelim2: Move AC_LIBOBJ invocations to module description.
13578         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
13579         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
13580
13581 2011-05-23  Bruno Haible  <bruno@clisp.org>
13582
13583         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
13584         * m4/gc-pbkdf2-sha1.m4: Remove file.
13585         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
13586         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
13587         (Makefile.am): Augment lib_SOURCES.
13588
13589 2011-05-23  Bruno Haible  <bruno@clisp.org>
13590
13591         fts: Move AC_LIBOBJ invocations to module description.
13592         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
13593         * modules/fts (configure.ac): ... to here.
13594
13595 2011-05-23  Bruno Haible  <bruno@clisp.org>
13596
13597         file-type: Move AC_LIBOBJ invocations to module description.
13598         * m4/file-type.m4: Remove file.
13599         * modules/file-type (Files): Remove it.
13600         (configure.ac): Remove gl_FILE_TYPE call.
13601         (Makefile.am): Augment lib_SOURCES.
13602
13603 2011-05-23  Bruno Haible  <bruno@clisp.org>
13604
13605         filenamecat*: Respect rules for use of AC_LIBOBJ.
13606         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
13607         Remove AC_LIBOBJ invocation.
13608         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
13609         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
13610
13611 2011-05-23  Bruno Haible  <bruno@clisp.org>
13612
13613         filemode: Move AC_LIBOBJ invocations to module description.
13614         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
13615         * modules/filemode (Makefile.am): Augment lib_SOURCES.
13616
13617 2011-05-23  Bruno Haible  <bruno@clisp.org>
13618
13619         openat-safer: Move AC_LIBOBJ invocations to module description.
13620         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
13621         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
13622
13623 2011-05-23  Bruno Haible  <bruno@clisp.org>
13624
13625         fcntl-safer: Move AC_LIBOBJ invocations to module description.
13626         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
13627         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
13628
13629 2011-05-23  Bruno Haible  <bruno@clisp.org>
13630
13631         exclude: Move AC_LIBOBJ invocations to module description.
13632         * m4/exclude.m4: Remove file.
13633         * modules/exclude (Files): Remove it.
13634         (configure.ac): Remove gl_EXCLUDE call.
13635         (Makefile.am): Augment lib_SOURCES.
13636
13637 2011-05-23  Bruno Haible  <bruno@clisp.org>
13638
13639         dirname*: Respect rules for use of AC_LIBOBJ.
13640         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
13641         invocations.
13642         * modules/dirname (Makefile.am): Augment lib_SOURCES.
13643         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
13644
13645 2011-05-23  Bruno Haible  <bruno@clisp.org>
13646
13647         dirent-safer: Move AC_LIBOBJ invocations to module description.
13648         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
13649         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
13650
13651 2011-05-23  Bruno Haible  <bruno@clisp.org>
13652
13653         crypto/des: Move AC_LIBOBJ invocations to module description.
13654         * m4/des.m4: Remove file.
13655         * modules/crypto/des (Files): Remove it.
13656         (configure.ac): Remove gl_DES call.
13657         (Makefile.am): Augment lib_SOURCES.
13658
13659 2011-05-23  Bruno Haible  <bruno@clisp.org>
13660
13661         cycle-check: Move AC_LIBOBJ invocations to module description.
13662         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
13663         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
13664
13665 2011-05-23  Bruno Haible  <bruno@clisp.org>
13666
13667         c-strtold: Move AC_LIBOBJ invocations to module description.
13668         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
13669         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
13670
13671 2011-05-23  Bruno Haible  <bruno@clisp.org>
13672
13673         c-strtod: Move AC_LIBOBJ invocations to module description.
13674         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
13675         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
13676
13677 2011-05-23  Bruno Haible  <bruno@clisp.org>
13678
13679         crc: Move AC_LIBOBJ invocations to module description.
13680         * m4/crc.m4: Remove file.
13681         * modules/crc (Files): Remove it.
13682         (configure.ac): Remove gl_CRC call.
13683         (Makefile.am): Augment lib_SOURCES.
13684
13685 2011-05-23  Bruno Haible  <bruno@clisp.org>
13686
13687         close-stream: Move AC_LIBOBJ invocations to module description.
13688         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
13689         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
13690
13691 2011-05-23  Bruno Haible  <bruno@clisp.org>
13692
13693         closeout: Move AC_LIBOBJ invocations to module description.
13694         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
13695         * modules/closeout (Makefile.am): Augment lib_SOURCES.
13696
13697 2011-05-23  Bruno Haible  <bruno@clisp.org>
13698
13699         closein: Move AC_LIBOBJ invocations to module description.
13700         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
13701         * modules/closein (Makefile.am): Augment lib_SOURCES.
13702
13703 2011-05-23  Bruno Haible  <bruno@clisp.org>
13704
13705         cloexec: Move AC_LIBOBJ invocations to module description.
13706         * m4/cloexec.m4: Remove file.
13707         * modules/cloexec (Files): Remove it.
13708         (configure.ac): Remove gl_CLOEXEC call.
13709         (Makefile.am): Augment lib_SOURCES.
13710
13711 2011-05-23  Bruno Haible  <bruno@clisp.org>
13712
13713         check-version: Move AC_LIBOBJ invocations to module description.
13714         * m4/check-version.m4: Remove file.
13715         * modules/check-version (Files): Remove it.
13716         (configure.ac): Remove gl_CHECK_VERSION call.
13717         (Makefile.am): Augment lib_SOURCES.
13718
13719 2011-05-23  Bruno Haible  <bruno@clisp.org>
13720
13721         chdir-safer: Move AC_LIBOBJ invocations to module description.
13722         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
13723         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
13724
13725 2011-05-23  Bruno Haible  <bruno@clisp.org>
13726
13727         canonicalize: Move AC_LIBOBJ invocations to module description.
13728         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
13729         AC_LIBOBJ invocation.
13730         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
13731
13732 2011-05-23  Bruno Haible  <bruno@clisp.org>
13733
13734         canon-host: Move AC_LIBOBJ invocations to module description.
13735         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
13736         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
13737         instead of gl_CANON_HOST.
13738         (Makefile.am): Augment lib_SOURCES.
13739
13740 2011-05-23  Bruno Haible  <bruno@clisp.org>
13741
13742         backupfile: Move AC_LIBOBJ invocations to module description.
13743         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
13744         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
13745
13746 2011-05-23  Bruno Haible  <bruno@clisp.org>
13747
13748         argmatch: Move AC_LIBOBJ invocations to module description.
13749         * m4/argmatch.m4: Remove file.
13750         * modules/argmatch (Files): Remove it.
13751         (configure.ac): Remove gl_ARGMATCH call.
13752         (Makefile.am): Augment lib_SOURCES.
13753
13754 2011-05-23  Bruno Haible  <bruno@clisp.org>
13755
13756         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
13757         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
13758         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
13759
13760 2011-05-23  Bruno Haible  <bruno@clisp.org>
13761
13762         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
13763         * m4/arcfour.m4: Remove file.
13764         * modules/crypto/arcfour (Files): Remove it.
13765         (configure.ac): Remove gl_ARCFOUR call.
13766         (Makefile.am): Augment lib_SOURCES.
13767
13768 2011-05-22  Bruno Haible  <bruno@clisp.org>
13769
13770         write: Move AC_LIBOBJ invocations to module description.
13771         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
13772         * modules/write (configure.ac): ... to here.
13773
13774 2011-05-22  Bruno Haible  <bruno@clisp.org>
13775
13776         wmemset: Move AC_LIBOBJ invocations to module description.
13777         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
13778         here...
13779         * modules/wmemset (configure.ac): ... to here.
13780
13781 2011-05-22  Bruno Haible  <bruno@clisp.org>
13782
13783         wmemmove: Move AC_LIBOBJ invocations to module description.
13784         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
13785         here...
13786         * modules/wmemmove (configure.ac): ... to here.
13787
13788 2011-05-22  Bruno Haible  <bruno@clisp.org>
13789
13790         wmemcpy: Move AC_LIBOBJ invocations to module description.
13791         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
13792         here...
13793         * modules/wmemcpy (configure.ac): ... to here.
13794
13795 2011-05-22  Bruno Haible  <bruno@clisp.org>
13796
13797         wmemcmp: Move AC_LIBOBJ invocations to module description.
13798         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
13799         here...
13800         * modules/wmemcmp (configure.ac): ... to here.
13801
13802 2011-05-22  Bruno Haible  <bruno@clisp.org>
13803
13804         wmemchr: Move AC_LIBOBJ invocations to module description.
13805         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
13806         here...
13807         * modules/wmemchr (configure.ac): ... to here.
13808
13809 2011-05-22  Bruno Haible  <bruno@clisp.org>
13810
13811         wcswidth: Move AC_LIBOBJ invocations to module description.
13812         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
13813         here...
13814         * modules/wcswidth (configure.ac): ... to here.
13815
13816 2011-05-22  Bruno Haible  <bruno@clisp.org>
13817
13818         wcwidth: Respect rules for use of AC_LIBOBJ.
13819         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
13820         invocation from here...
13821         * modules/wcwidth (configure.ac): ... to here.
13822         (Depends-on): Update conditions.
13823
13824 2011-05-22  Bruno Haible  <bruno@clisp.org>
13825
13826         wctype: Move AC_LIBOBJ invocations to module description.
13827         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
13828         invocation from here...
13829         * modules/wctype (configure.ac): ... to here.
13830         (Depends-on): Update conditions.
13831
13832 2011-05-22  Bruno Haible  <bruno@clisp.org>
13833
13834         wctrans: Move AC_LIBOBJ invocations to module description.
13835         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
13836         invocation from here...
13837         * modules/wctrans (configure.ac): ... to here.
13838
13839 2011-05-22  Bruno Haible  <bruno@clisp.org>
13840
13841         wctomb: Move AC_LIBOBJ invocations to module description.
13842         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
13843         invocations from here...
13844         * modules/wctomb (configure.ac): ... to here.
13845
13846 2011-05-22  Bruno Haible  <bruno@clisp.org>
13847
13848         wctob: Move AC_LIBOBJ invocations to module description.
13849         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
13850         gl_PREREQ_WCTOB invocations from here...
13851         * modules/wctob (configure.ac): ... to here.
13852         (Depends-on): Update conditions.
13853
13854 2011-05-22  Bruno Haible  <bruno@clisp.org>
13855
13856         wcsxfrm: Move AC_LIBOBJ invocations to module description.
13857         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
13858         here...
13859         * modules/wcsxfrm (configure.ac): ... to here.
13860
13861 2011-05-22  Bruno Haible  <bruno@clisp.org>
13862
13863         wcstok: Move AC_LIBOBJ invocations to module description.
13864         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
13865         * modules/wcstok (configure.ac): ... to here.
13866
13867 2011-05-22  Bruno Haible  <bruno@clisp.org>
13868
13869         wcsstr: Move AC_LIBOBJ invocations to module description.
13870         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
13871         * modules/wcsstr (configure.ac): ... to here.
13872
13873 2011-05-22  Bruno Haible  <bruno@clisp.org>
13874
13875         wcsspn: Move AC_LIBOBJ invocations to module description.
13876         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
13877         * modules/wcsspn (configure.ac): ... to here.
13878
13879 2011-05-22  Bruno Haible  <bruno@clisp.org>
13880
13881         wcsrtombs: Move AC_LIBOBJ invocations to module description.
13882         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
13883         gl_PREREQ_WCSRTOMBS invocations from here...
13884         * modules/wcsrtombs (configure.ac): ... to here.
13885
13886 2011-05-22  Bruno Haible  <bruno@clisp.org>
13887
13888         wcsrchr: Move AC_LIBOBJ invocations to module description.
13889         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
13890         here...
13891         * modules/wcsrchr (configure.ac): ... to here.
13892
13893 2011-05-22  Bruno Haible  <bruno@clisp.org>
13894
13895         wcspbrk: Move AC_LIBOBJ invocations to module description.
13896         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
13897         here...
13898         * modules/wcspbrk (configure.ac): ... to here.
13899
13900 2011-05-22  Bruno Haible  <bruno@clisp.org>
13901
13902         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
13903         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
13904         gl_PREREQ_WCSNRTOMBS invocations from here...
13905         * modules/wcsnrtombs (configure.ac): ... to here.
13906
13907 2011-05-22  Bruno Haible  <bruno@clisp.org>
13908
13909         wcsnlen: Move AC_LIBOBJ invocations to module description.
13910         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
13911         here...
13912         * modules/wcsnlen (configure.ac): ... to here.
13913
13914 2011-05-22  Bruno Haible  <bruno@clisp.org>
13915
13916         wcsncpy: Move AC_LIBOBJ invocations to module description.
13917         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
13918         here...
13919         * modules/wcsncpy (configure.ac): ... to here.
13920
13921 2011-05-22  Bruno Haible  <bruno@clisp.org>
13922
13923         wcsncmp: Move AC_LIBOBJ invocations to module description.
13924         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
13925         here...
13926         * modules/wcsncmp (configure.ac): ... to here.
13927
13928 2011-05-22  Bruno Haible  <bruno@clisp.org>
13929
13930         wcsncat: Move AC_LIBOBJ invocations to module description.
13931         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
13932         here...
13933         * modules/wcsncat (configure.ac): ... to here.
13934
13935 2011-05-22  Bruno Haible  <bruno@clisp.org>
13936
13937         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
13938         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
13939         from here...
13940         * modules/wcsncasecmp (configure.ac): ... to here.
13941
13942 2011-05-22  Bruno Haible  <bruno@clisp.org>
13943
13944         wcslen: Move AC_LIBOBJ invocations to module description.
13945         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
13946         * modules/wcslen (configure.ac): ... to here.
13947
13948 2011-05-22  Bruno Haible  <bruno@clisp.org>
13949
13950         wcsdup: Move AC_LIBOBJ invocations to module description.
13951         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
13952         * modules/wcsdup (configure.ac): ... to here.
13953
13954 2011-05-22  Bruno Haible  <bruno@clisp.org>
13955
13956         wcscspn: Move AC_LIBOBJ invocations to module description.
13957         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
13958         here...
13959         * modules/wcscspn (configure.ac): ... to here.
13960
13961 2011-05-22  Bruno Haible  <bruno@clisp.org>
13962
13963         wcscpy: Move AC_LIBOBJ invocations to module description.
13964         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
13965         * modules/wcscpy (configure.ac): ... to here.
13966
13967 2011-05-22  Bruno Haible  <bruno@clisp.org>
13968
13969         wcscoll: Move AC_LIBOBJ invocations to module description.
13970         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
13971         here...
13972         * modules/wcscoll (configure.ac): ... to here.
13973
13974 2011-05-22  Bruno Haible  <bruno@clisp.org>
13975
13976         wcscmp: Move AC_LIBOBJ invocations to module description.
13977         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
13978         * modules/wcscmp (configure.ac): ... to here.
13979
13980 2011-05-22  Bruno Haible  <bruno@clisp.org>
13981
13982         wcschr: Move AC_LIBOBJ invocations to module description.
13983         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
13984         * modules/wcschr (configure.ac): ... to here.
13985
13986 2011-05-22  Bruno Haible  <bruno@clisp.org>
13987
13988         wcscat: Move AC_LIBOBJ invocations to module description.
13989         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
13990         * modules/wcscat (configure.ac): ... to here.
13991
13992 2011-05-22  Bruno Haible  <bruno@clisp.org>
13993
13994         wcscasecmp: Move AC_LIBOBJ invocations to module description.
13995         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
13996         here...
13997         * modules/wcscasecmp (configure.ac): ... to here.
13998
13999 2011-05-22  Bruno Haible  <bruno@clisp.org>
14000
14001         wcrtomb: Move AC_LIBOBJ invocations to module description.
14002         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
14003         invocations from here...
14004         * modules/wcrtomb (configure.ac): ... to here.
14005
14006 2011-05-22  Bruno Haible  <bruno@clisp.org>
14007
14008         wcpncpy: Move AC_LIBOBJ invocations to module description.
14009         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
14010         here...
14011         * modules/wcpncpy (configure.ac): ... to here.
14012
14013 2011-05-22  Bruno Haible  <bruno@clisp.org>
14014
14015         wcpcpy: Move AC_LIBOBJ invocations to module description.
14016         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
14017         * modules/wcpcpy (configure.ac): ... to here.
14018
14019 2011-05-22  Bruno Haible  <bruno@clisp.org>
14020
14021         waitpid: Move AC_LIBOBJ invocations to module description.
14022         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
14023         invocation from here...
14024         * modules/waitpid (configure.ac): ... to here.
14025
14026 2011-05-22  Bruno Haible  <bruno@clisp.org>
14027
14028         utimensat: Move AC_LIBOBJ invocations to module description.
14029         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
14030         here...
14031         * modules/utimensat (configure.ac): ... to here.
14032
14033 2011-05-22  Bruno Haible  <bruno@clisp.org>
14034
14035         usleep: Move AC_LIBOBJ invocations to module description.
14036         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
14037         here...
14038         * modules/usleep (configure.ac): ... to here.
14039
14040 2011-05-22  Bruno Haible  <bruno@clisp.org>
14041
14042         unlockpt: Move AC_LIBOBJ invocations to module description.
14043         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
14044         gl_PREREQ_UNLOCKPT invocations from here...
14045         * modules/unlockpt (configure.ac): ... to here.
14046
14047 2011-05-22  Bruno Haible  <bruno@clisp.org>
14048
14049         unlink: Respect rules for use of AC_LIBOBJ.
14050         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
14051         * modules/unlink (configure.ac): ... to here.
14052
14053 2011-05-22  Bruno Haible  <bruno@clisp.org>
14054
14055         uname: Move AC_LIBOBJ invocations to module description.
14056         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
14057         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
14058         here...
14059         * modules/uname (configure.ac): ... to here.
14060
14061 2011-05-22  Bruno Haible  <bruno@clisp.org>
14062
14063         ttyname_r: Move AC_LIBOBJ invocations to module description.
14064         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
14065         gl_PREREQ_TTYNAME_R invocations from here...
14066         * modules/ttyname_r (configure.ac): ... to here.
14067
14068 2011-05-22  Bruno Haible  <bruno@clisp.org>
14069
14070         tsearch: Move AC_LIBOBJ invocations to module description.
14071         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
14072         invocations from here...
14073         * modules/tsearch (configure.ac): ... to here.
14074
14075 2011-05-22  Bruno Haible  <bruno@clisp.org>
14076
14077         towctrans: Move AC_LIBOBJ invocations to module description.
14078         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
14079         AC_LIBOBJ invocation from here...
14080         * modules/towctrans (configure.ac): ... to here.
14081
14082 2011-05-22  Bruno Haible  <bruno@clisp.org>
14083
14084         tmpfile: Move AC_LIBOBJ invocations to module description.
14085         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
14086         invocations from here...
14087         * modules/tmpfile (configure.ac): ... to here.
14088
14089 2011-05-22  Bruno Haible  <bruno@clisp.org>
14090
14091         times: Move AC_LIBOBJ invocations to module description.
14092         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
14093         * modules/times (configure.ac): ... to here.
14094
14095 2011-05-22  Bruno Haible  <bruno@clisp.org>
14096
14097         time_r: Move AC_LIBOBJ invocations to module description.
14098         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
14099         invocations from here...
14100         * modules/time_r (configure.ac): ... to here.
14101
14102 2011-05-22  Bruno Haible  <bruno@clisp.org>
14103
14104         timegm: Move AC_LIBOBJ invocations to module description.
14105         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
14106         invocations from here...
14107         * modules/timegm (configure.ac): ... to here.
14108
14109 2011-05-22  Bruno Haible  <bruno@clisp.org>
14110
14111         tcgetsid: Move AC_LIBOBJ invocations to module description.
14112         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
14113         and gl_PREREQ_TCGETSID invocations from here...
14114         * modules/tcgetsid (configure.ac): ... to here.
14115         (Depends-on): Update conditions.
14116
14117 2011-05-22  Bruno Haible  <bruno@clisp.org>
14118
14119         symlinkat: Move AC_LIBOBJ invocations to module description.
14120         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
14121         here...
14122         * modules/symlinkat (configure.ac): ... to here.
14123
14124 2011-05-22  Bruno Haible  <bruno@clisp.org>
14125
14126         symlink: Move AC_LIBOBJ invocations to module description.
14127         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
14128         here...
14129         * modules/symlink (configure.ac): ... to here.
14130
14131 2011-05-22  Bruno Haible  <bruno@clisp.org>
14132
14133         strverscmp: Move AC_LIBOBJ invocations to module description.
14134         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
14135         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
14136         from here...
14137         * modules/strverscmp (configure.ac): ... to here.
14138
14139 2011-05-22  Bruno Haible  <bruno@clisp.org>
14140
14141         strtok_r: Move AC_LIBOBJ invocations to module description.
14142         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
14143         and gl_PREREQ_STRTOK_R invocations from here...
14144         * modules/strtok_r (configure.ac): ... to here.
14145         (Depends-on): Update conditions.
14146
14147 2011-05-22  Bruno Haible  <bruno@clisp.org>
14148
14149         strtoumax: Move AC_LIBOBJ invocations to module description.
14150         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
14151         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
14152         from here...
14153         * modules/strtoumax (configure.ac): ... to here.
14154
14155 2011-05-22  Bruno Haible  <bruno@clisp.org>
14156
14157         strtoimax: Move AC_LIBOBJ invocations to module description.
14158         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
14159         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
14160         from here...
14161         * modules/strtoimax (configure.ac): ... to here.
14162
14163 2011-05-22  Bruno Haible  <bruno@clisp.org>
14164
14165         strtoull: Move AC_LIBOBJ invocations to module description.
14166         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
14167         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
14168         from here...
14169         * modules/strtoull (configure.ac): ... to here.
14170
14171 2011-05-22  Bruno Haible  <bruno@clisp.org>
14172
14173         strtoll: Move AC_LIBOBJ invocations to module description.
14174         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
14175         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
14176         here...
14177         * modules/strtoll (configure.ac): ... to here.
14178
14179 2011-05-22  Bruno Haible  <bruno@clisp.org>
14180
14181         strtoul: Move AC_LIBOBJ invocations to module description.
14182         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
14183         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
14184         * modules/strtoul (configure.ac): ... to here.
14185
14186 2011-05-22  Bruno Haible  <bruno@clisp.org>
14187
14188         strtol: Move AC_LIBOBJ invocations to module description.
14189         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
14190         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
14191         * modules/strtol (configure.ac): ... to here.
14192
14193 2011-05-22  Bruno Haible  <bruno@clisp.org>
14194
14195         strtod: Move AC_LIBOBJ invocations to module description.
14196         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
14197         invocations from here...
14198         * modules/strtod (configure.ac): ... to here.
14199
14200 2011-05-22  Bruno Haible  <bruno@clisp.org>
14201
14202         strstr*: Move AC_LIBOBJ invocations to module description.
14203         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
14204         invocations from here...
14205         * modules/strstr-simple (configure.ac): ... to here.
14206         * modules/strstr (configure.ac): ... and here.
14207
14208 2011-05-22  Bruno Haible  <bruno@clisp.org>
14209
14210         strsignal: Move AC_LIBOBJ invocations to module description.
14211         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
14212         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
14213         * modules/strsignal (configure.ac): ... to here.
14214         (Depends-on): Update conditions.
14215
14216 2011-05-22  Bruno Haible  <bruno@clisp.org>
14217
14218         strsep: Move AC_LIBOBJ invocations to module description.
14219         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
14220         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
14221         here...
14222         * modules/strsep (configure.ac): ... to here.
14223
14224 2011-05-22  Bruno Haible  <bruno@clisp.org>
14225
14226         strptime: Move AC_LIBOBJ invocations to module description.
14227         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
14228         gl_PREREQ_STRPTIME invocations from here...
14229         * modules/strptime (configure.ac): ... to here.
14230
14231 2011-05-22  Bruno Haible  <bruno@clisp.org>
14232
14233         strpbrk: Move AC_LIBOBJ invocations to module description.
14234         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
14235         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
14236         here...
14237         * modules/strpbrk (configure.ac): ... to here.
14238
14239 2011-05-22  Bruno Haible  <bruno@clisp.org>
14240
14241         strnlen: Move AC_LIBOBJ invocations to module description.
14242         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
14243         invocations from here...
14244         * modules/strnlen (configure.ac): ... to here.
14245
14246 2011-05-22  Bruno Haible  <bruno@clisp.org>
14247
14248         strndup: Move AC_LIBOBJ invocations to module description.
14249         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
14250         invocations from here...
14251         * modules/strndup (configure.ac): ... to here.
14252         (Depends-on): Update conditions.
14253
14254 2011-05-22  Bruno Haible  <bruno@clisp.org>
14255
14256         strncat: Move AC_LIBOBJ invocations to module description.
14257         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
14258         invocations from here...
14259         * modules/strncat (configure.ac): ... to here.
14260
14261 2011-05-22  Bruno Haible  <bruno@clisp.org>
14262
14263         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
14264         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
14265         invocations from here...
14266         * modules/strdup (configure.ac): ... to here.
14267         * modules/strdup-posix (configure.ac): ... and here.
14268
14269 2011-05-22  Bruno Haible  <bruno@clisp.org>
14270
14271         strcspn: Move AC_LIBOBJ invocations to module description.
14272         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
14273         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
14274         here...
14275         * modules/strcspn (configure.ac): ... to here.
14276
14277 2011-05-22  Bruno Haible  <bruno@clisp.org>
14278
14279         strchrnul: Move AC_LIBOBJ invocations to module description.
14280         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
14281         gl_PREREQ_STRCHRNUL invocations from here...
14282         * modules/strchrnul (configure.ac): ... to here.
14283
14284 2011-05-22  Bruno Haible  <bruno@clisp.org>
14285
14286         strcasestr*: Move AC_LIBOBJ invocations to module description.
14287         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
14288         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
14289         * modules/strcasestr-simple (configure.ac): ... to here.
14290         * modules/strcasestr (configure.ac): ... and here.
14291
14292 2011-05-22  Bruno Haible  <bruno@clisp.org>
14293
14294         strcase: Move AC_LIBOBJ invocations to module description.
14295         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
14296         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
14297         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
14298         gl_PREREQ_STRNCASECMP invocations from here...
14299         * modules/strcase (configure.ac): ... to here.
14300
14301 2011-05-22  Bruno Haible  <bruno@clisp.org>
14302
14303         stpncpy: Move AC_LIBOBJ invocations to module description.
14304         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
14305         here...
14306         * modules/stpncpy (configure.ac): ... to here.
14307
14308 2011-05-22  Bruno Haible  <bruno@clisp.org>
14309
14310         stpcpy: Move AC_LIBOBJ invocations to module description.
14311         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
14312         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
14313         here...
14314         * modules/stpcpy (configure.ac): ... to here.
14315
14316 2011-05-21  Bruno Haible  <bruno@clisp.org>
14317
14318         stat: Move AC_LIBOBJ invocations to module description.
14319         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
14320         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
14321         here...
14322         * modules/stat (configure.ac): ... to here.
14323
14324 2011-05-21  Bruno Haible  <bruno@clisp.org>
14325
14326         sleep: Move AC_LIBOBJ invocations to module description.
14327         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
14328         * modules/sleep (configure.ac): ... to here.
14329
14330 2011-05-21  Bruno Haible  <bruno@clisp.org>
14331
14332         signbit: Move AC_LIBOBJ invocations to module description.
14333         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
14334         * modules/signbit (configure.ac): ... to here.
14335
14336 2011-05-21  Bruno Haible  <bruno@clisp.org>
14337
14338         sigprocmask: Move AC_LIBOBJ invocations to module description.
14339         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
14340         gl_PREREQ_SIGPROMASK invocations from here...
14341         * modules/sigprocmask (configure.ac): ... to here.
14342
14343 2011-05-21  Bruno Haible  <bruno@clisp.org>
14344
14345         sigaction: Move AC_LIBOBJ invocations to module description.
14346         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
14347         gl_PREREQ_SIGACTION invocations from here...
14348         * modules/sigaction (configure.ac): ... to here.
14349
14350 2011-05-21  Bruno Haible  <bruno@clisp.org>
14351
14352         sig2str: Move AC_LIBOBJ invocations to module description.
14353         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
14354         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
14355         here...
14356         * modules/sig2str (configure.ac): ... to here.
14357
14358 2011-05-21  Bruno Haible  <bruno@clisp.org>
14359
14360         setlocale: Move AC_LIBOBJ invocations to module description.
14361         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
14362         gl_PREREQ_SETLOCALE invocations from here...
14363         * modules/setlocale (configure.ac): ... to here.
14364
14365 2011-05-21  Bruno Haible  <bruno@clisp.org>
14366
14367         unsetenv: Move AC_LIBOBJ invocations to module description.
14368         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
14369         and gl_PREREQ_UNSETENV invocations from here...
14370         * modules/unsetenv (configure.ac): ... to here.
14371         (Depends-on): Update.
14372
14373 2011-05-21  Bruno Haible  <bruno@clisp.org>
14374
14375         setenv: Move AC_LIBOBJ invocations to module description.
14376         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
14377         here...
14378         * modules/setenv (configure.ac): ... to here.
14379
14380 2011-05-21  Bruno Haible  <bruno@clisp.org>
14381
14382         selinux-h: Move AC_LIBOBJ invocations to module description.
14383         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
14384         AC_LIBOBJ invocation from here...
14385         * modules/selinux-h (configure.ac): ... to here.
14386
14387 2011-05-21  Bruno Haible  <bruno@clisp.org>
14388
14389         select: Respect rules for use of AC_LIBOBJ.
14390         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
14391         here...
14392         * modules/select (configure.ac): ... to here.
14393
14394 2011-05-21  Bruno Haible  <bruno@clisp.org>
14395
14396         scandir: Move AC_LIBOBJ invocations to module description.
14397         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
14398         invocations from here...
14399         * modules/scandir (configure.ac): ... to here.
14400
14401 2011-05-21  Bruno Haible  <bruno@clisp.org>
14402
14403         rpmatch: Move AC_LIBOBJ invocations to module description.
14404         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
14405         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
14406         here...
14407         * modules/rpmatch (configure.ac): ... to here.
14408
14409 2011-05-21  Bruno Haible  <bruno@clisp.org>
14410
14411         rmdir: Respect rules for use of AC_LIBOBJ.
14412         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
14413         * modules/rmdir (configure.ac): ... to here.
14414
14415 2011-05-21  Bruno Haible  <bruno@clisp.org>
14416
14417         renameat: Move AC_LIBOBJ invocations to module description.
14418         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
14419         here...
14420         * modules/renameat (configure.ac): ... to here.
14421
14422 2011-05-21  Bruno Haible  <bruno@clisp.org>
14423
14424         rename: Respect rules for use of AC_LIBOBJ.
14425         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
14426         here...
14427         * modules/rename (configure.ac): ... to here.
14428
14429 2011-05-21  Bruno Haible  <bruno@clisp.org>
14430
14431         remove: Move AC_LIBOBJ invocations to module description.
14432         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
14433         here...
14434         * modules/remove (configure.ac): ... to here.
14435
14436 2011-05-21  Bruno Haible  <bruno@clisp.org>
14437
14438         relocatable-lib: Move AC_LIBOBJ invocations to module description.
14439         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
14440         macro.
14441         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
14442         * modules/relocatable-lib (configure.ac): ... to here.
14443         * modules/relocatable-prog-wrapper (configure.ac): Invoke
14444         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
14445
14446 2011-05-21  Bruno Haible  <bruno@clisp.org>
14447
14448         relocatable-prog: Move AC_LIBOBJ invocations to module description.
14449         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
14450         here...
14451         * modules/relocatable-prog (configure.ac): ... to here.
14452
14453 2011-05-21  Bruno Haible  <bruno@clisp.org>
14454
14455         regex: Move AC_LIBOBJ invocations to module description.
14456         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
14457         invocations from here...
14458         * modules/regex (configure.ac): ... to here.
14459
14460 2011-05-21  Bruno Haible  <bruno@clisp.org>
14461
14462         realloc-*: Move AC_LIBOBJ invocations to module description.
14463         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
14464         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
14465         AC_LIBOBJ invocations from here...
14466         * modules/realloc-gnu (configure.ac): ... to here.
14467         * modules/realloc-posix (configure.ac): ... and here.
14468
14469 2011-05-21  Bruno Haible  <bruno@clisp.org>
14470
14471         readutmp: Move AC_LIBOBJ invocations to module description.
14472         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
14473         * modules/readutmp (configure.ac): ... to here.
14474
14475 2011-05-21  Bruno Haible  <bruno@clisp.org>
14476
14477         readlinkat: Move AC_LIBOBJ invocations to module description.
14478         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
14479         here...
14480         * modules/readlinkat (configure.ac): ... to here.
14481
14482 2011-05-21  Bruno Haible  <bruno@clisp.org>
14483
14484         readlink: Move AC_LIBOBJ invocations to module description.
14485         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
14486         gl_PREREQ_READLINK invocations from here...
14487         * modules/readlink (configure.ac): ... to here.
14488
14489 2011-05-21  Bruno Haible  <bruno@clisp.org>
14490
14491         readline: Move AC_LIBOBJ invocations to module description.
14492         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
14493         gl_PREREQ_READLINE invocations from here...
14494         * modules/readline (configure.ac): ... to here.
14495
14496 2011-05-21  Bruno Haible  <bruno@clisp.org>
14497
14498         read: Move AC_LIBOBJ invocations to module description.
14499         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
14500         * modules/read (configure.ac): ... to here.
14501
14502 2011-05-21  Bruno Haible  <bruno@clisp.org>
14503
14504         rawmemchr: Move AC_LIBOBJ invocations to module description.
14505         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
14506         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
14507         from here...
14508         * modules/rawmemchr (configure.ac): ... to here.
14509
14510 2011-05-21  Bruno Haible  <bruno@clisp.org>
14511
14512         random_r: Move AC_LIBOBJ invocations to module description.
14513         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
14514         gl_PREREQ_RANDOM_R invocations from here...
14515         * modules/random_r (configure.ac): ... to here.
14516
14517 2011-05-21  Bruno Haible  <bruno@clisp.org>
14518
14519         pwrite: Move AC_LIBOBJ invocations to module description.
14520         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
14521         * modules/pwrite (configure.ac): ... to here.
14522
14523 2011-05-21  Bruno Haible  <bruno@clisp.org>
14524
14525         putenv: Move AC_LIBOBJ invocations to module description.
14526         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
14527         * modules/putenv (configure.ac): ... to here.
14528
14529 2011-05-21  Bruno Haible  <bruno@clisp.org>
14530
14531         login_tty: Move AC_LIBOBJ invocations to module description.
14532         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
14533         * modules/login_tty (configure.ac): ... to here.
14534
14535 2011-05-21  Bruno Haible  <bruno@clisp.org>
14536
14537         openpty: Move AC_LIBOBJ invocations to module description.
14538         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
14539         * modules/openpty (configure.ac): ... to here.
14540
14541 2011-05-21  Bruno Haible  <bruno@clisp.org>
14542
14543         forkpty: Move AC_LIBOBJ invocations to module description.
14544         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
14545         * modules/forkpty (configure.ac): ... to here.
14546
14547 2011-05-21  Bruno Haible  <bruno@clisp.org>
14548
14549         ptsname: Move AC_LIBOBJ invocations to module description.
14550         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
14551         invocations from here...
14552         * modules/ptsname (configure.ac): ... to here.
14553
14554 2011-05-21  Bruno Haible  <bruno@clisp.org>
14555
14556         pread: Move AC_LIBOBJ invocations to module description.
14557         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
14558         * modules/pread (configure.ac): ... to here.
14559
14560 2011-05-21  Bruno Haible  <bruno@clisp.org>
14561
14562         posix_spawn*: Move AC_LIBOBJ invocations to module description.
14563         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
14564         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
14565         * modules/posix_spawn (configure.ac): ... to here.
14566         * modules/posix_spawnp (configure.ac): ... and here.
14567
14568 2011-05-21  Bruno Haible  <bruno@clisp.org>
14569
14570         popen: Move AC_LIBOBJ invocations to module description.
14571         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
14572         invocations from here...
14573         * modules/popen (configure.ac): ... to here.
14574
14575 2011-05-21  Bruno Haible  <bruno@clisp.org>
14576
14577         poll: Move AC_LIBOBJ invocations to module description.
14578         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
14579         invocations from here...
14580         * modules/poll (configure.ac): ... to here.
14581
14582 2011-05-21  Bruno Haible  <bruno@clisp.org>
14583
14584         pipe-posix: Move AC_LIBOBJ invocations to module description.
14585         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
14586         * modules/pipe-posix (configure.ac): ... to here.
14587
14588 2011-05-21  Bruno Haible  <bruno@clisp.org>
14589
14590         openat: Respect rules for use of AC_LIBOBJ.
14591         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
14592         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
14593         * modules/openat (configure.ac): ... to here.
14594
14595 2011-05-21  Bruno Haible  <bruno@clisp.org>
14596
14597         obstack-printf*: Move AC_LIBOBJ invocations to module description.
14598         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
14599         invocation from here...
14600         * modules/obstack-printf (configure.ac): ... to here.
14601         * modules/obstack-printf-posix (configure.ac): ... and here.
14602
14603 2011-05-21  Bruno Haible  <bruno@clisp.org>
14604
14605         nl_langinfo: Move AC_LIBOBJ invocations to module description.
14606         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
14607         from here...
14608         * modules/nl_langinfo (configure.ac): ... to here.
14609
14610 2011-05-21  Bruno Haible  <bruno@clisp.org>
14611
14612         nanosleep: Move AC_LIBOBJ invocations to module description.
14613         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
14614         gl_PREREQ_NANOSLEEP invocations from here...
14615         * modules/nanosleep (configure.ac): ... to here.
14616
14617 2011-05-21  Bruno Haible  <bruno@clisp.org>
14618
14619         mountlist: Move AC_LIBOBJ invocations to module description.
14620         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
14621         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
14622         * modules/mountlist (configure.ac): ... to here.
14623
14624 2011-05-21  Bruno Haible  <bruno@clisp.org>
14625
14626         mktime: Respect rules for use of AC_LIBOBJ.
14627         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
14628         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
14629         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
14630         (gl_FUNC_MKTIME_INTERNAL): ... and here...
14631         * modules/mktime (configure.ac): ... to here.
14632         * modules/mktime-internal (configure.ac): ... and here.
14633         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
14634
14635 2011-05-21  Bruno Haible  <bruno@clisp.org>
14636
14637         mkstemps: Move AC_LIBOBJ invocations to module description.
14638         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
14639         here...
14640         * modules/mkstemps (configure.ac): ... to here.
14641
14642 2011-05-21  Bruno Haible  <bruno@clisp.org>
14643
14644         mkstemp: Move AC_LIBOBJ invocations to module description.
14645         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
14646         gl_PREREQ_MKSTEMP invocations from here...
14647         * modules/mkstemp (configure.ac): ... to here.
14648
14649 2011-05-21  Bruno Haible  <bruno@clisp.org>
14650
14651         mkostemps: Move AC_LIBOBJ invocations to module description.
14652         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
14653         here...
14654         * modules/mkostemps (configure.ac): ... to here.
14655
14656 2011-05-21  Bruno Haible  <bruno@clisp.org>
14657
14658         mkostemp: Move AC_LIBOBJ invocations to module description.
14659         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
14660         gl_PREREQ_MKOSTEMP invocations from here...
14661         * modules/mkostemp (configure.ac): ... to here.
14662
14663 2011-05-21  Bruno Haible  <bruno@clisp.org>
14664
14665         mknod: Move AC_LIBOBJ invocations to module description.
14666         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
14667         * modules/mknod (configure.ac): ... to here.
14668
14669 2011-05-21  Bruno Haible  <bruno@clisp.org>
14670
14671         mkfifoat: Move AC_LIBOBJ invocations to module description.
14672         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
14673         here...
14674         * modules/mkfifoat (configure.ac): ... to here.
14675
14676 2011-05-21  Bruno Haible  <bruno@clisp.org>
14677
14678         mkfifo: Respect rules for use of AC_LIBOBJ.
14679         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
14680         here...
14681         * modules/mkfifo (configure.ac): ... to here.
14682
14683 2011-05-21  Bruno Haible  <bruno@clisp.org>
14684
14685         mkdtemp: Move AC_LIBOBJ invocations to module description.
14686         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
14687         invocations from here...
14688         * modules/mkdtemp (configure.ac): ... to here.
14689
14690 2011-05-21  Bruno Haible  <bruno@clisp.org>
14691
14692         mkdir: Move AC_LIBOBJ invocations to module description.
14693         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
14694         * modules/mkdir (configure.ac): ... to here.
14695
14696 2011-05-21  Bruno Haible  <bruno@clisp.org>
14697
14698         memset: Move AC_LIBOBJ invocations to module description.
14699         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
14700         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
14701         here...
14702         * modules/memset (configure.ac): ... to here.
14703
14704 2011-05-21  Bruno Haible  <bruno@clisp.org>
14705
14706         memrchr: Move AC_LIBOBJ invocations to module description.
14707         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
14708         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
14709         here...
14710         * modules/memrchr (configure.ac): ... to here.
14711
14712 2011-05-21  Bruno Haible  <bruno@clisp.org>
14713
14714         mempcpy: Move AC_LIBOBJ invocations to module description.
14715         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
14716         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
14717         here...
14718         * modules/mempcpy (configure.ac): ... to here.
14719
14720 2011-05-21  Bruno Haible  <bruno@clisp.org>
14721
14722         memmove: Move AC_LIBOBJ invocations to module description.
14723         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
14724         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
14725         here...
14726         * modules/memmove (configure.ac): ... to here.
14727
14728 2011-05-21  Bruno Haible  <bruno@clisp.org>
14729
14730         memmem*: Move AC_LIBOBJ invocations to module description.
14731         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
14732         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
14733         here...
14734         (gl_FUNC_MEMMEM): ... and here...
14735         * modules/memmem-simple (configure.ac): ... to here.
14736         * modules/memmem (configure.ac): ... and here.
14737
14738 2011-05-21  Bruno Haible  <bruno@clisp.org>
14739
14740         memcpy: Move AC_LIBOBJ invocations to module description.
14741         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
14742         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
14743         here...
14744         * modules/memcpy (configure.ac): ... to here.
14745
14746 2011-05-21  Bruno Haible  <bruno@clisp.org>
14747
14748         memcmp: Simplify autoconf macro.
14749         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
14750         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
14751         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
14752
14753 2011-05-21  Bruno Haible  <bruno@clisp.org>
14754
14755         memcmp: Move AC_LIBOBJ invocations to module description.
14756         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
14757         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
14758         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
14759         * modules/memcmp (configure.ac): ... to here.
14760         (Depends-on): Update conditions.
14761
14762 2011-05-21  Bruno Haible  <bruno@clisp.org>
14763
14764         memchr: Respect rules for use of AC_LIBOBJ.
14765         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
14766         invocations from here...
14767         * modules/memchr (configure.ac): ... to here.
14768
14769 2011-05-21  Bruno Haible  <bruno@clisp.org>
14770
14771         mbtowc: Move AC_LIBOBJ invocations to module description.
14772         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
14773         invocations from here...
14774         * modules/mbtowc (configure.ac): ... to here.
14775
14776 2011-05-21  Bruno Haible  <bruno@clisp.org>
14777
14778         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
14779         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
14780         gl_PREREQ_MBSRTOWCS invocations from here...
14781         * modules/mbsrtowcs (configure.ac): ... to here.
14782
14783 2011-05-21  Bruno Haible  <bruno@clisp.org>
14784
14785         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
14786         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
14787         gl_PREREQ_MBSNRTOWCS invocations from here...
14788         * modules/mbsnrtowcs (configure.ac): ... to here.
14789
14790 2011-05-21  Bruno Haible  <bruno@clisp.org>
14791
14792         mbsinit: Move AC_LIBOBJ invocations to module description.
14793         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
14794         invocations from here...
14795         * modules/mbsinit (configure.ac): ... to here.
14796
14797 2011-05-21  Bruno Haible  <bruno@clisp.org>
14798
14799         mbrlen: Move AC_LIBOBJ invocations to module description.
14800         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
14801         invocations from here...
14802         * modules/mbrlen (configure.ac): ... to here.
14803
14804 2011-05-21  Bruno Haible  <bruno@clisp.org>
14805
14806         mbrtowc: Respect rules for use of AC_LIBOBJ.
14807         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
14808         invocations from here...
14809         * modules/mbrtowc (configure.ac): ... to here.
14810
14811 2011-05-21  Bruno Haible  <bruno@clisp.org>
14812
14813         malloc-*: Move AC_LIBOBJ invocations to module description.
14814         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
14815         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
14816         AC_LIBOBJ invocations from here...
14817         * modules/malloc-gnu (configure.ac): ... to here.
14818         * modules/malloc-posix (configure.ac): ... and here.
14819
14820 2011-05-21  Bruno Haible  <bruno@clisp.org>
14821
14822         lstat, openat: Respect rules for use of AC_LIBOBJ.
14823         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
14824         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
14825         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
14826         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
14827         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
14828         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
14829         here.
14830         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
14831
14832 2011-05-21  Bruno Haible  <bruno@clisp.org>
14833
14834         lseek: Move AC_LIBOBJ invocations to module description.
14835         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
14836         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
14837         * modules/lseek (configure.ac): ... to here.
14838
14839 2011-05-21  Bruno Haible  <bruno@clisp.org>
14840
14841         linkat: Move AC_LIBOBJ invocations to module description.
14842         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
14843         here...
14844         * modules/linkat (configure.ac): ... to here.
14845
14846 2011-05-21  Bruno Haible  <bruno@clisp.org>
14847
14848         link: Respect rules for use of AC_LIBOBJ.
14849         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
14850         * modules/link (configure.ac): ... to here.
14851
14852 2011-05-21  Bruno Haible  <bruno@clisp.org>
14853
14854         lchown: Move AC_LIBOBJ invocations to module description.
14855         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
14856         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
14857         * modules/lchown (configure.ac): ... to here.
14858
14859 2011-05-21  Bruno Haible  <bruno@clisp.org>
14860
14861         iswctype: Move AC_LIBOBJ invocations to module description.
14862         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
14863         here...
14864         * modules/iswctype (configure.ac): ... to here.
14865
14866 2011-05-21  Bruno Haible  <bruno@clisp.org>
14867
14868         iswblank: Move AC_LIBOBJ invocations to module description.
14869         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
14870         here...
14871         * modules/iswblank (configure.ac): ... to here.
14872
14873 2011-05-21  Bruno Haible  <bruno@clisp.org>
14874
14875         atanl: Move AC_LIBOBJ invocations to module description.
14876         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
14877         * modules/atanl (configure.ac): ... to here.
14878
14879 2011-05-21  Bruno Haible  <bruno@clisp.org>
14880
14881         acosl: Move AC_LIBOBJ invocations to module description.
14882         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
14883         * modules/acosl (configure.ac): ... to here.
14884
14885 2011-05-21  Bruno Haible  <bruno@clisp.org>
14886
14887         asinl: Respect rules for use of AC_LIBOBJ.
14888         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
14889         * modules/asinl (configure.ac): ... to here.
14890
14891 2011-05-21  Bruno Haible  <bruno@clisp.org>
14892
14893         tanl: Move AC_LIBOBJ invocations to module description.
14894         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
14895         * modules/tanl (configure.ac): ... to here.
14896
14897 2011-05-21  Bruno Haible  <bruno@clisp.org>
14898
14899         cosl: Move AC_LIBOBJ invocations to module description.
14900         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
14901         * modules/cosl (configure.ac): ... to here.
14902
14903 2011-05-21  Bruno Haible  <bruno@clisp.org>
14904
14905         sinl: Move AC_LIBOBJ invocations to module description.
14906         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
14907         * modules/sinl (configure.ac): ... to here.
14908
14909 2011-05-21  Bruno Haible  <bruno@clisp.org>
14910
14911         logl: Move AC_LIBOBJ invocations to module description.
14912         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
14913         * modules/logl (configure.ac): ... to here.
14914
14915 2011-05-21  Bruno Haible  <bruno@clisp.org>
14916
14917         expl: Move AC_LIBOBJ invocations to module description.
14918         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
14919         * modules/expl (configure.ac): ... to here.
14920
14921 2011-05-21  Bruno Haible  <bruno@clisp.org>
14922
14923         roundl: Move AC_LIBOBJ invocations to module description.
14924         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
14925         * modules/roundl (configure.ac): ... to here.
14926
14927 2011-05-21  Bruno Haible  <bruno@clisp.org>
14928
14929         round: Move AC_LIBOBJ invocations to module description.
14930         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
14931         * modules/round (configure.ac): ... to here.
14932
14933 2011-05-21  Bruno Haible  <bruno@clisp.org>
14934
14935         roundf: Move AC_LIBOBJ invocations to module description.
14936         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
14937         * modules/roundf (configure.ac): ... to here.
14938
14939 2011-05-21  Bruno Haible  <bruno@clisp.org>
14940
14941         truncl: Move AC_LIBOBJ invocations to module description.
14942         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
14943         * modules/truncl (configure.ac): ... to here.
14944
14945 2011-05-21  Bruno Haible  <bruno@clisp.org>
14946
14947         trunc: Move AC_LIBOBJ invocations to module description.
14948         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
14949         * modules/trunc (configure.ac): ... to here.
14950
14951 2011-05-21  Bruno Haible  <bruno@clisp.org>
14952
14953         truncf: Move AC_LIBOBJ invocations to module description.
14954         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
14955         * modules/truncf (configure.ac): ... to here.
14956
14957 2011-05-21  Bruno Haible  <bruno@clisp.org>
14958
14959         ceill: Move AC_LIBOBJ invocations to module description.
14960         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
14961         * modules/ceill (configure.ac): ... to here.
14962
14963 2011-05-21  Bruno Haible  <bruno@clisp.org>
14964
14965         ceil: Move AC_LIBOBJ invocations to module description.
14966         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
14967         * modules/ceil (configure.ac): ... to here.
14968
14969 2011-05-21  Bruno Haible  <bruno@clisp.org>
14970
14971         ceilf: Move AC_LIBOBJ invocations to module description.
14972         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
14973         * modules/ceilf (configure.ac): ... to here.
14974
14975 2011-05-21  Bruno Haible  <bruno@clisp.org>
14976
14977         floorl: Respect rules for use of AC_LIBOBJ.
14978         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
14979         * modules/floorl (configure.ac): ... to here.
14980
14981 2011-05-21  Bruno Haible  <bruno@clisp.org>
14982
14983         floor: Respect rules for use of AC_LIBOBJ.
14984         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
14985         * modules/floor (configure.ac): ... to here.
14986
14987 2011-05-21  Bruno Haible  <bruno@clisp.org>
14988
14989         floorf: Move AC_LIBOBJ invocations to module description.
14990         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
14991         * modules/floorf (configure.ac): ... to here.
14992
14993 2011-05-20  Bruno Haible  <bruno@clisp.org>
14994
14995         sqrtl: Respect rules for use of AC_LIBOBJ.
14996         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
14997         * modules/sqrtl (configure.ac): ... to here.
14998
14999 2011-05-20  Bruno Haible  <bruno@clisp.org>
15000
15001         ldexpl: Respect rules for use of AC_LIBOBJ.
15002         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
15003         * modules/ldexpl (configure.ac): ... to here.
15004
15005 2011-05-20  Bruno Haible  <bruno@clisp.org>
15006
15007         frexpl*: Respect rules for use of AC_LIBOBJ.
15008         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
15009         invocation from here...
15010         * modules/frexpl (configure.ac): ... to here.
15011         * modules/frexpl-nolibm (configure.ac): ... and here.
15012
15013 2011-05-20  Bruno Haible  <bruno@clisp.org>
15014
15015         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
15016         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
15017         invocation from here...
15018         * modules/frexp (configure.ac): ... to here.
15019         * modules/frexp-nolibm (configure.ac): ... and here.
15020
15021 2011-05-20  Bruno Haible  <bruno@clisp.org>
15022
15023         isnan: Respect rules for use of AC_LIBOBJ.
15024         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
15025         invocations here.
15026         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
15027         REPLACE_ISNAN.
15028         * modules/isnand (configure.ac): Likewise.
15029         * modules/isnanl (configure.ac): Likewise.
15030
15031 2011-05-20  Bruno Haible  <bruno@clisp.org>
15032
15033         isnanl*: Respect rules for use of AC_LIBOBJ.
15034         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
15035         invocation from here...
15036         * modules/isnanl (configure.ac): ... to here.
15037         * modules/isnanl-nolibm (configure.ac): ... and here.
15038
15039 2011-05-20  Bruno Haible  <bruno@clisp.org>
15040
15041         isnand*: Move AC_LIBOBJ invocations to module description.
15042         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
15043         invocation from here...
15044         * modules/isnand (configure.ac): ... to here.
15045         * modules/isnand-nolibm (configure.ac): ... and here.
15046
15047 2011-05-20  Bruno Haible  <bruno@clisp.org>
15048
15049         isnanf*: Move AC_LIBOBJ invocations to module description.
15050         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
15051         invocation from here...
15052         * modules/isnanf (configure.ac): ... to here.
15053         * modules/isnanf-nolibm (configure.ac): ... and here.
15054
15055 2011-05-20  Bruno Haible  <bruno@clisp.org>
15056
15057         isnan*: Separate the AC_LIBOBJ invocations.
15058         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
15059         AC_LIBOBJ invocation.
15060         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
15061         here.
15062         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
15063         AC_LIBOBJ invocation.
15064         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
15065         here.
15066         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
15067         AC_LIBOBJ invocation.
15068         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
15069         here.
15070         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
15071
15072 2011-05-08  Bruno Haible  <bruno@clisp.org>
15073
15074         isinf: Move AC_LIBOBJ invocations to module description.
15075         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
15076         * modules/isinf (configure.ac): ... to here.
15077
15078 2011-05-08  Bruno Haible  <bruno@clisp.org>
15079
15080         isfinite: Move AC_LIBOBJ invocations to module description.
15081         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
15082         * modules/isfinite (configure.ac): ... to here.
15083
15084 2011-05-08  Bruno Haible  <bruno@clisp.org>
15085
15086         isblank: Move AC_LIBOBJ invocations to module description.
15087         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
15088         here...
15089         * modules/isblank (configure.ac): ... to here.
15090
15091 2011-05-08  Bruno Haible  <bruno@clisp.org>
15092
15093         isapipe: Move AC_LIBOBJ invocations to module description.
15094         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
15095         gl_PREREQ_ISAPIPE invocations from here...
15096         * modules/isapipe (configure.ac): ... to here.
15097         (Depends-on): Update condition.
15098
15099 2011-05-08  Bruno Haible  <bruno@clisp.org>
15100
15101         ioctl: Move AC_LIBOBJ invocations to module description.
15102         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
15103         invocations from here...
15104         * modules/ioctl (configure.ac): ... to here.
15105         (Depends-on): Update condition.
15106
15107 2011-05-08  Bruno Haible  <bruno@clisp.org>
15108
15109         imaxdiv: Move AC_LIBOBJ invocations to module description.
15110         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
15111         invocations from here...
15112         * modules/imaxdiv (configure.ac): ... to here.
15113
15114 2011-05-08  Bruno Haible  <bruno@clisp.org>
15115
15116         imaxabs: Move AC_LIBOBJ invocations to module description.
15117         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
15118         invocations from here...
15119         * modules/imaxabs (configure.ac): ... to here.
15120
15121 2011-05-08  Bruno Haible  <bruno@clisp.org>
15122
15123         getaddrinfo: Move AC_LIBOBJ invocations to module description.
15124         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
15125         AC_LIBOBJ invocations from here...
15126         * modules/getaddrinfo (configure.ac): ... to here.
15127         (Depends-on): Add conditions.
15128
15129 2011-05-08  Bruno Haible  <bruno@clisp.org>
15130
15131         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
15132         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
15133         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
15134         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
15135         (gl_PREREQ_INET_PTON): ... from here.
15136         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
15137         gl_PREREQ_INET_PTON here.
15138         (Depends-on): Update condition.
15139
15140 2011-05-08  Bruno Haible  <bruno@clisp.org>
15141
15142         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
15143         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
15144         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
15145         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
15146         (gl_PREREQ_INET_NTOP): ... from here.
15147         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
15148         gl_PREREQ_INET_NTOP here.
15149         (Depends-on): Update condition.
15150
15151 2011-05-08  Bruno Haible  <bruno@clisp.org>
15152
15153         iconv_open: Move AC_LIBOBJ invocations to module description.
15154         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
15155         AC_LIBOBJ invocations from here...
15156         * modules/iconv_open (configure.ac): ... to here.
15157
15158 2011-05-08  Bruno Haible  <bruno@clisp.org>
15159
15160         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
15161         If module 'iconv_open' is among the main modules and module
15162         'iconv_open-utf' is among the tests dependencies, then
15163         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
15164         return the special iconv_t values. Therefore iconv() and iconv_close()
15165         must support these special iconv_t values, already in lib, not only in
15166         tests.
15167         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
15168         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
15169         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
15170         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
15171         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
15172         (Depends-on): Add the dependencies of iconv_open-utf.
15173         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
15174         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
15175         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
15176
15177 2011-05-08  Bruno Haible  <bruno@clisp.org>
15178
15179         group-member: Move AC_LIBOBJ invocations to module description.
15180         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
15181         gl_PREREQ_GROUP_MEMBER invocations from here...
15182         * modules/group-member (configure.ac): ... to here.
15183
15184 2011-05-08  Bruno Haible  <bruno@clisp.org>
15185
15186         grantpt: Move AC_LIBOBJ invocations to module description.
15187         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
15188         invocations from here...
15189         * modules/grantpt (configure.ac): ... to here.
15190
15191 2011-05-08  Bruno Haible  <bruno@clisp.org>
15192
15193         glob: Move AC_LIBOBJ invocations to module description.
15194         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
15195         from here...
15196         * modules/glob (configure.ac): ... to here.
15197
15198 2011-05-08  Bruno Haible  <bruno@clisp.org>
15199
15200         getusershell: Move AC_LIBOBJ invocations to module description.
15201         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
15202         Move AC_LIBOBJ invocation from here...
15203         * modules/getusershell (configure.ac): ... to here.
15204         (Depends-on): Update condition.
15205
15206 2011-05-08  Bruno Haible  <bruno@clisp.org>
15207
15208         gettimeofday: Move AC_LIBOBJ invocations to module description.
15209         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
15210         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
15211         gl_PREREQ_GETTIMEOFDAY invocations from here...
15212         * modules/gettimeofday (configure.ac): ... to here.
15213
15214 2011-05-08  Bruno Haible  <bruno@clisp.org>
15215
15216         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
15217         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
15218         just gl_FUNC_TZSET.
15219         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
15220         (gl_FUNC_TZSET_CLOBBER): Remove actions.
15221         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
15222         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
15223
15224 2011-05-08  Bruno Haible  <bruno@clisp.org>
15225
15226         getsubopt: Move AC_LIBOBJ invocations to module description.
15227         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
15228         gl_PREREQ_GETSUBOPT invocations from here...
15229         * modules/getsubopt (configure.ac): ... to here.
15230
15231 2011-05-08  Bruno Haible  <bruno@clisp.org>
15232
15233         getpass-gnu: Move AC_LIBOBJ invocations to module description.
15234         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
15235         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
15236         * modules/getpass-gnu (configure.ac): ... to here.
15237
15238 2011-05-08  Bruno Haible  <bruno@clisp.org>
15239
15240         getpass: Move AC_LIBOBJ invocations to module description.
15241         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
15242         gl_PREREQ_GETPASS invocations from here...
15243         * modules/getpass (configure.ac): ... to here.
15244
15245 2011-05-08  Bruno Haible  <bruno@clisp.org>
15246
15247         getpagesize: Move AC_LIBOBJ invocations to module description.
15248         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
15249         from here...
15250         * modules/getpagesize (configure.ac): ... to here.
15251
15252 2011-05-08  Bruno Haible  <bruno@clisp.org>
15253
15254         getopt: Move AC_LIBOBJ invocations to module description.
15255         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
15256         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
15257         invocations from here...
15258         * modules/getopt-gnu (configure.ac): ... to here.
15259         * modules/getopt-posix (configure.ac): ... and here.
15260         (Depends-on): Update condition.
15261
15262 2011-05-08  Bruno Haible  <bruno@clisp.org>
15263
15264         getopt, argp: Respect rules for use of AC_LIBOBJ.
15265         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
15266         (gl_REPLACE_GETOPT_ALWAYS): New macro.
15267         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
15268         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
15269
15270 2011-05-08  Bruno Haible  <bruno@clisp.org>
15271
15272         getlogin_r: Move AC_LIBOBJ invocations to module description.
15273         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
15274         gl_PREREQ_GETLOGIN_R invocations from here...
15275         * modules/getlogin_r (configure.ac): ... to here.
15276
15277 2011-05-08  Bruno Haible  <bruno@clisp.org>
15278
15279         getlogin: Move AC_LIBOBJ invocations to module description.
15280         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
15281         here...
15282         * modules/getlogin (configure.ac): ... to here.
15283
15284 2011-05-08  Bruno Haible  <bruno@clisp.org>
15285
15286         getloadavg: Move AC_LIBOBJ invocations to module description.
15287         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
15288         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
15289         * modules/getloadavg (configure.ac): ... to here.
15290
15291 2011-05-08  Bruno Haible  <bruno@clisp.org>
15292
15293         gethrxtime: Move AC_LIBOBJ invocations to module description.
15294         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
15295         LIB_GETHRXTIME from here...
15296         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
15297         invocations from here...
15298         * modules/gethrxtime (configure.ac): ... to here.
15299
15300 2011-05-08  Bruno Haible  <bruno@clisp.org>
15301
15302         gethostname: Move AC_LIBOBJ invocations to module description.
15303         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
15304         gl_PREREQ_GETHOSTNAME invocations from here...
15305         * modules/gethostname (configure.ac): ... to here.
15306
15307 2011-05-08  Bruno Haible  <bruno@clisp.org>
15308
15309         getgroups: Move AC_LIBOBJ invocations to module description.
15310         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
15311         here...
15312         * modules/getgroups (configure.ac): ... to here.
15313
15314 2011-05-08  Bruno Haible  <bruno@clisp.org>
15315
15316         getdtablesize: Move AC_LIBOBJ invocations to module description.
15317         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
15318         invocation from here...
15319         * modules/getdtablesize (configure.ac): ... to here.
15320
15321 2011-05-08  Bruno Haible  <bruno@clisp.org>
15322
15323         getdomainname: Move AC_LIBOBJ invocations to module description.
15324         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
15325         gl_PREREQ_GETDOMAINNAME invocations from here...
15326         * modules/getdomainname (configure.ac): ... to here.
15327
15328 2011-05-08  Bruno Haible  <bruno@clisp.org>
15329
15330         getline: Move AC_LIBOBJ invocations to module description.
15331         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
15332         invocations from here...
15333         * modules/getline (configure.ac): ... to here.
15334
15335 2011-05-08  Bruno Haible  <bruno@clisp.org>
15336
15337         getline: Simplify.
15338         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
15339         It's already handled through the module dependency.
15340
15341 2011-05-08  Bruno Haible  <bruno@clisp.org>
15342
15343         getdelim: Move AC_LIBOBJ invocations to module description.
15344         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
15345         and gl_PREREQ_GETDELIM invocations from here...
15346         * modules/getdelim (configure.ac): ... to here.
15347         (Depends-on): Fix condition.
15348
15349 2011-05-08  Bruno Haible  <bruno@clisp.org>
15350
15351         getcwd: Move AC_LIBOBJ invocations to module description.
15352         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
15353         invocations from here...
15354         * modules/getcwd (configure.ac): ... to here.
15355
15356 2011-05-08  Bruno Haible  <bruno@clisp.org>
15357
15358         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
15359         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
15360         here...
15361         * modules/getcwd-lgpl (configure.ac): ... to here.
15362
15363 2011-05-07  Bruno Haible  <bruno@clisp.org>
15364
15365         crypto/gc: Move AC_LIBOBJ invocations to module description.
15366         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
15367         * modules/crypto/gc (configure.ac): ... to here.
15368
15369 2011-05-07  Bruno Haible  <bruno@clisp.org>
15370
15371         fwriting: Move AC_LIBOBJ invocations to module description.
15372         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
15373         here...
15374         * modules/fwriting (configure.ac): ... to here.
15375
15376 2011-05-07  Bruno Haible  <bruno@clisp.org>
15377
15378         fwritable: Move AC_LIBOBJ invocations to module description.
15379         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
15380         here...
15381         * modules/fwritable (configure.ac): ... to here.
15382
15383 2011-05-07  Bruno Haible  <bruno@clisp.org>
15384
15385         futimens: Move AC_LIBOBJ invocations to module description.
15386         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
15387         here...
15388         * modules/futimens (configure.ac): ... to here.
15389
15390 2011-05-07  Bruno Haible  <bruno@clisp.org>
15391
15392         ftruncate: Move AC_LIBOBJ invocations to module description.
15393         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
15394         gl_PREREQ_FTRUNCATE invocations from here...
15395         * modules/ftruncate (configure.ac): ... to here.
15396
15397 2011-05-07  Bruno Haible  <bruno@clisp.org>
15398
15399         fsync: Move AC_LIBOBJ invocations to module description.
15400         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
15401         invocations from here...
15402         * modules/fsync (configure.ac): ... to here.
15403
15404 2011-05-07  Bruno Haible  <bruno@clisp.org>
15405
15406         fsusage: Move AC_LIBOBJ invocations to module description.
15407         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
15408         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
15409         * modules/fsusage (configure.ac): ... to here.
15410
15411 2011-05-07  Bruno Haible  <bruno@clisp.org>
15412
15413         freopen: Move AC_LIBOBJ invocations to module description.
15414         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
15415         invocations from here...
15416         * modules/freopen (configure.ac): ... to here.
15417
15418 2011-05-07  Bruno Haible  <bruno@clisp.org>
15419
15420         free: Move AC_LIBOBJ invocations to module description.
15421         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
15422         invocations from here...
15423         * modules/free (configure.ac): ... to here.
15424
15425 2011-05-07  Bruno Haible  <bruno@clisp.org>
15426
15427         freadable: Move AC_LIBOBJ invocations to module description.
15428         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
15429         here...
15430         * modules/freadable (configure.ac): ... to here.
15431
15432 2011-05-07  Bruno Haible  <bruno@clisp.org>
15433
15434         fpurge: Move AC_LIBOBJ invocations to module description.
15435         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
15436         invocations from here...
15437         * modules/fpurge (configure.ac): ... to here.
15438
15439 2011-05-07  Bruno Haible  <bruno@clisp.org>
15440
15441         fpending: Move AC_LIBOBJ invocations to module description.
15442         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
15443         gl_FUNC_FPENDING.
15444         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
15445         invocations from here...
15446         * modules/fpending (configure.ac): ... to here.
15447
15448 2011-05-07  Bruno Haible  <bruno@clisp.org>
15449
15450         fopen: Move AC_LIBOBJ invocations to module description.
15451         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
15452         invocations from here...
15453         * modules/fopen (configure.ac): ... to here.
15454
15455 2011-05-07  Bruno Haible  <bruno@clisp.org>
15456
15457         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
15458         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
15459         gl_FUNC_FNMATCH_POSIX.
15460         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
15461         invocations from here...
15462         * modules/fnmatch (configure.ac): ... to here.
15463         * modules/fnmatch-gnu (configure.ac): ... and here.
15464
15465 2011-05-07  Bruno Haible  <bruno@clisp.org>
15466
15467         flock: Move AC_LIBOBJ invocations to module description.
15468         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
15469         invocations from here...
15470         * modules/flock (configure.ac): ... to here.
15471
15472 2011-05-07  Bruno Haible  <bruno@clisp.org>
15473
15474         fileblocks: Move AC_LIBOBJ invocations to module description.
15475         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
15476         gl_PREREQ_FILEBLOCKS invocations from here...
15477         * modules/fileblocks (configure.ac): ... to here.
15478
15479 2011-05-06  Bruno Haible  <bruno@clisp.org>
15480
15481         fflush: Move AC_LIBOBJ invocations to module description.
15482         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
15483         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
15484         invocations from here...
15485         * modules/fflush (configure.ac): ... to here.
15486
15487 2011-05-06  Bruno Haible  <bruno@clisp.org>
15488
15489         fdopendir: Move AC_LIBOBJ invocations to module description.
15490         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
15491         here...
15492         * modules/fdopendir (configure.ac): ... to here.
15493         (Depends-on): Improve conditions.
15494
15495 2011-05-06  Bruno Haible  <bruno@clisp.org>
15496
15497         _Exit: Move AC_LIBOBJ invocations to module description.
15498         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
15499         invocations from here...
15500         * modules/_Exit (configure.ac): ... to here.
15501
15502 2011-05-21  Bruno Haible  <bruno@clisp.org>
15503
15504         euidaccess: Respect rules for use of AC_LIBOBJ.
15505         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
15506         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
15507         from here...
15508         * modules/euidaccess (configure.ac): ... to here.
15509
15510 2011-05-06  Bruno Haible  <bruno@clisp.org>
15511
15512         error: Move AC_LIBOBJ invocations to module description.
15513         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
15514         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
15515         invocations from here...
15516         * modules/error (configure.ac): ... to here.
15517
15518 2011-05-06  Bruno Haible  <bruno@clisp.org>
15519
15520         duplocale: Move AC_LIBOBJ invocations to module description.
15521         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
15522         gl_PREREQ_DUPLOCALE invocations from here...
15523         * modules/duplocale (configure.ac): ... to here.
15524
15525 2011-05-05  Bruno Haible  <bruno@clisp.org>
15526
15527         dirfd: Move AC_LIBOBJ invocations to module description.
15528         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
15529         gl_FUNC_DIRFD.
15530         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
15531         here...
15532         * modules/dirfd (configure.ac): ... to here.
15533         (Depends-on): Fix condition.
15534
15535 2011-05-05  Bruno Haible  <bruno@clisp.org>
15536
15537         chown: Respect rules for use of AC_LIBOBJ.
15538         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
15539         * modules/chown (configure.ac): ... to here.
15540
15541 2011-05-05  Bruno Haible  <bruno@clisp.org>
15542
15543         chdir-long: Move AC_LIBOBJ invocations to module description.
15544         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
15545         gl_PREREQ_CHDIR_LONG invocations from here...
15546         * modules/chdir-long (configure.ac): ... to here.
15547
15548 2011-05-05  Bruno Haible  <bruno@clisp.org>
15549
15550         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
15551         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
15552         from here...
15553         * modules/canonicalize-lgpl (configure.ac): ... to here.
15554
15555 2011-05-05  Bruno Haible  <bruno@clisp.org>
15556
15557         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
15558         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
15559         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
15560         REPLACE_CALLOC.
15561         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
15562         * modules/calloc-gnu (configure.ac): Likewise.
15563
15564 2011-05-05  Bruno Haible  <bruno@clisp.org>
15565
15566         btowc: Move AC_LIBOBJ invocations to module description.
15567         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
15568         invocations from here...
15569         * modules/btowc (configure.ac): ... to here.
15570
15571 2011-05-21  Bruno Haible  <bruno@clisp.org>
15572
15573         atexit: Move AC_LIBOBJ invocations to module description.
15574         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
15575         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
15576         here...
15577         * modules/atexit (configure.ac): ... to here.
15578
15579 2011-05-05  Bruno Haible  <bruno@clisp.org>
15580
15581         atoll: Move AC_LIBOBJ invocations to module description.
15582         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
15583         invocations from here...
15584         * modules/atoll (configure.ac): ... to here.
15585
15586 2011-05-05  Bruno Haible  <bruno@clisp.org>
15587
15588         argz: Move AC_LIBOBJ invocations to module description.
15589         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
15590         * modules/argz (configure.ac): ... to here.
15591
15592 2011-05-05  Bruno Haible  <bruno@clisp.org>
15593
15594         alphasort: Move AC_LIBOBJ invocations to module description.
15595         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
15596         gl_PREREQ_ALPHASORT invocations from here...
15597         * modules/alphasort (configure.ac): ... to here.
15598
15599 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
15600
15601         verify: new macro verify_expr; verify_true deprecated
15602         * NEWS: Mention this.
15603         * doc/verify.texi (Compile-time Assertions): Document this.
15604         * lib/verify.h (verify_true): Deprecate.
15605         (verify_expr): New macro.
15606         * tests/test-verify.c (function): Test verify_expr.
15607
15608 2011-06-14  Jim Meyering  <meyering@redhat.com>
15609
15610         init.sh: give more portable redirection-related advice in a comment
15611         * tests/init.sh (stderr_fileno_): Update the advice in comments.
15612         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
15613         for lots of discussion.  Stefano Lattarini suggested the solution
15614         of putting "9>&2" after the command.  Reported by Bruno Haible.
15615
15616 2011-06-13  Bruno Haible  <bruno@clisp.org>
15617
15618         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
15619         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
15620         'none'.
15621
15622 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
15623
15624         ftoastr: use strtof only if HAVE_STRTOF
15625         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
15626         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
15627         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
15628         * modules/ftoastr (configure.ac): Check for strtof.
15629
15630 2011-06-13  Bruno Haible  <bruno@clisp.org>
15631
15632         gnulib-tool: Addendum to 2011-06-08 commit.
15633         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
15634         and --witness-c-macro have been given, augment AM_CPPFLAGS.
15635
15636 2011-06-13  Bruno Haible  <bruno@clisp.org>
15637
15638         fseeko: Provide a non-inline replacement of fseek().
15639         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
15640         * modules/fseeko (Depends-on): Add fseek.
15641         * modules/fseek (License): Change to LGPLv2+.
15642
15643 2011-06-13  Bruno Haible  <bruno@clisp.org>
15644
15645         ftello: Provide a non-inline replacement of ftell().
15646         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
15647         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
15648         not have ftello() (such as on mingw).
15649         * modules/ftello (Depends-on): Add ftell.
15650         * modules/ftell (License): Change to LGPLv2+.
15651
15652 2011-05-07  Bruno Haible  <bruno@clisp.org>
15653
15654         ftell: Move AC_LIBOBJ invocations to module description.
15655         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
15656         * modules/ftell (configure.ac): ... to here.
15657
15658 2011-05-07  Bruno Haible  <bruno@clisp.org>
15659
15660         ftello: Respect rules for use of AC_LIBOBJ.
15661         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
15662         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
15663         here...
15664         * modules/ftello (configure.ac): ... to here.
15665
15666 2011-05-07  Bruno Haible  <bruno@clisp.org>
15667
15668         fseeko: Simplify.
15669         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
15670         (gl_FUNC_FSEEKO): Inline it here.
15671
15672 2011-05-07  Bruno Haible  <bruno@clisp.org>
15673
15674         fseek: Move AC_LIBOBJ invocations to module description.
15675         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
15676         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15677         * modules/fseek (configure.ac): ... to here.
15678
15679 2011-05-07  Bruno Haible  <bruno@clisp.org>
15680
15681         fseek: Respect rules for use of AC_LIBOBJ.
15682         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
15683         here...
15684         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
15685
15686 2011-05-07  Bruno Haible  <bruno@clisp.org>
15687
15688         fseeko: Respect rules for use of AC_LIBOBJ.
15689         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
15690         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
15691         here...
15692         * modules/fseeko (configure.ac): ... to here.
15693
15694 2011-06-13  Bruno Haible  <bruno@clisp.org>
15695
15696         gnulib-tool: Allow comments in the 'Depends-on' section.
15697         * doc/gnulib.texi (Module description): Mention comment syntax in the
15698         Depends-on section.
15699         * gnulib-tool (func_get_dependencies): Filter out comment lines.
15700
15701 2011-06-13  Bruno Haible  <bruno@clisp.org>
15702
15703         file-set.h: guard __attibute__ use, now that it's not always defined
15704         * lib/file-set.h (record_file): Use __attribute__ only with compiler
15705         versions that support it.  This fixes a coreutils build failure with
15706         the vendor cc on HP-UX 11.31.
15707
15708 2011-06-12  Bruno Haible  <bruno@clisp.org>
15709
15710         acl: Add support for HP-UX >= 11.11 JFS ACLs.
15711         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
15712         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
15713         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
15714         (acl, aclsort): New declarations.
15715         (aclv_nontrivial): New declaration.
15716         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
15717         (file_has_acl): Read also the second kind of HP-UX ACLs.
15718         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
15719         kind of HP-UX ACLs if the first kind fails.
15720         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
15721         second kind of HP-UX ACLs.
15722         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
15723         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
15724         agree.
15725         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15726         hpuxjfs.
15727         Handle hpuxjfs.
15728         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15729         hpuxjfs.
15730         Handle hpuxjfs.
15731         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15732         (func_test_same_acls): Use both lsacl and getacl.
15733         Handle hpuxjfs.
15734         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15735         (func_test_same_acls): Use both lsacl and getacl.
15736         Handle hpuxjfs.
15737
15738 2011-06-12  Bruno Haible  <bruno@clisp.org>
15739
15740         acl: Complete the 2010-08-10 fix.
15741         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
15742         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
15743         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
15744         explicitly.
15745         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
15746         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
15747
15748 2011-06-12  Bruno Haible  <bruno@clisp.org>
15749
15750         spawn-pipe tests: Comments.
15751         * tests/test-spawn-pipe-child.c (main): Update comment.
15752         Reported by James Youngman <jay@gnu.org>.
15753
15754 2011-06-11  James Youngman  <jay@gnu.org>
15755
15756         New module 'stat-size'.
15757         * modules/stat-size: New module.  Provides macros for accessing
15758         file size information in instances of struct stat.  Depends on the
15759         fileblocks module because it calls st_blocks.
15760         * lib/stat-size.h: New file, adapted from coreutils' system.h.
15761         * doc/gnulib.texi: Include stat-size.texi.
15762         * doc/stat-size.texi: Documentation for this module.
15763         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
15764         * m4/fileblocks.m4: Mention that stat-size depends on the call to
15765         AC_STRUCT_ST_BLOCKS.
15766
15767 2011-06-09  Bruno Haible  <bruno@clisp.org>
15768
15769         thread: Support pthreads-win32.
15770         * lib/glthread/thread.h (gl_thread_self): Define differently on
15771         pthreads-win32.
15772         (gl_null_thread): New declaration.
15773         (gl_thread_self_pointer): New macro.
15774         * lib/glthread/thread.c (gl_null_thread): New constant.
15775         * tests/test-lock.c: Use gl_thread_self_pointer instead of
15776         gl_thread_self.
15777         * tests/test-tls.c: Likewise.
15778         Suggested by Paul Eggert. Reported by Eric Blake.
15779
15780 2011-06-09  Bruno Haible  <bruno@clisp.org>
15781
15782         thread: Fix confusion between NULL and 0.
15783         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
15784         Reported by Paul Eggert.
15785
15786 2011-06-09  Bruno Haible  <bruno@clisp.org>
15787
15788         spawn-pipe tests: Avoid test failure on HP-UX 11.
15789         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
15790         is closed.
15791
15792 2011-06-09  Bruno Haible  <bruno@clisp.org>
15793
15794         acl tests: Fix compilation error on HP-UX 11.
15795         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
15796
15797 2011-06-09  Bruno Haible  <bruno@clisp.org>
15798
15799         rmdir: Avoid test failure on HP-UX 10.20.
15800         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
15801         EEXIST.
15802
15803 2011-06-08  Eric Blake  <eblake@redhat.com>
15804
15805         perror: fix test on mingw
15806         * modules/perror-tests (Depends-on): Add dup2.
15807
15808         strerror_r-posix: fix on MacOS
15809         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
15810         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
15811         logic bug.
15812         * lib/strerror_r.c (strerror_r): Fix the bug.
15813         * lib/strerror.c (strerror): Likewise.
15814         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
15815         problem.
15816         * doc/posix-functions/strerror.texi (strerror): Likewise.
15817         * doc/posix-functions/perror.texi (perror): Likewise.
15818         * tests/test-strerror.c (main): Enhance test.
15819         * tests/test-strerror_r.c (main): Likewise.
15820
15821 2011-06-08  Bruno Haible  <bruno@clisp.org>
15822
15823         gnulib-tool: Better isolation between different gnulib-tool invocations.
15824         * gnulib-tool: New option --witness-c-macro.
15825         (witness_c_macro): New variable.
15826         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
15827         AM_CPPFLAGS define it as a C macro.
15828         (func_emit_tests_Makefile_am): Likewise.
15829         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
15830         read it from there.
15831         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
15832         m4_define, not AC_DEFUN.
15833         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
15834         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
15835         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
15836         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
15837         s|...|...|, to substitute the values of the GNULIB_* module indicator
15838         variables.
15839         * modules/dirent (Makefile.am): Likewise.
15840         * modules/fcntl-h (Makefile.am): Likewise.
15841         * modules/iconv-h (Makefile.am): Likewise.
15842         * modules/langinfo (Makefile.am): Likewise.
15843         * modules/locale (Makefile.am): Likewise.
15844         * modules/math (Makefile.am): Likewise.
15845         * modules/netdb (Makefile.am): Likewise.
15846         * modules/poll-h (Makefile.am): Likewise.
15847         * modules/pty (Makefile.am): Likewise.
15848         * modules/search (Makefile.am): Likewise.
15849         * modules/signal (Makefile.am): Likewise.
15850         * modules/spawn (Makefile.am): Likewise.
15851         * modules/stdio (Makefile.am): Likewise.
15852         * modules/stdlib (Makefile.am): Likewise.
15853         * modules/string (Makefile.am): Likewise.
15854         * modules/sys_ioctl (Makefile.am): Likewise.
15855         * modules/sys_select (Makefile.am): Likewise.
15856         * modules/sys_socket (Makefile.am): Likewise.
15857         * modules/sys_stat (Makefile.am): Likewise.
15858         * modules/sys_times (Makefile.am): Likewise.
15859         * modules/sys_utsname (Makefile.am): Likewise.
15860         * modules/sys_wait (Makefile.am): Likewise.
15861         * modules/termios (Makefile.am): Likewise.
15862         * modules/time (Makefile.am): Likewise.
15863         * modules/unistd (Makefile.am): Likewise.
15864         * modules/wchar (Makefile.am): Likewise.
15865
15866 2011-06-08  Eric Blake  <eblake@redhat.com>
15867
15868         strerror: simplify replacement
15869         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
15870         * modules/strerror (configure.ac): No prereqs needed here...
15871         * modules/strerror-override (configure.ac): ...but this needs it.
15872         (Files): Add file for needed prereq macro.
15873
15874 2011-06-08  Bruno Haible  <bruno@clisp.org>
15875
15876         strerror_r-posix: Tweaks.
15877         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
15878         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
15879         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
15880         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
15881         (gl_FUNC_STRERROR_R): ... to here.
15882         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
15883
15884 2011-06-07  Eric Blake  <eblake@redhat.com>
15885
15886         perror: document fixed bugs
15887         * doc/posix-functions/perror.texi (perror): Document recent
15888         patches.
15889
15890 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
15891
15892         stat-time: get_stat_birthtime failure is better-defined
15893         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
15894         return a timestamp whose tv_sec and tv_nsec values are both -1.
15895         Previously, the spec said only that the tv_nsec value was negative.
15896         This upward-compatible change simplifies GNU tar a bit.
15897
15898 2011-06-07  Eric Blake  <eblake@redhat.com>
15899
15900         strerror_r-posix: work around cygwin 1.7.9
15901         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
15902         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
15903         bug without replacing strerror_r.
15904         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
15905         strerror_r is buggy, but without requiring strerror_r compilation.
15906         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
15907
15908         test-perror: relax test to ignore cygwin bug
15909         * tests/test-perror2.c (main): Relax test on requiring detection
15910         of stream errors, and use unbuffered stream.
15911         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
15912         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
15913         * doc/posix-functions/fputc.texi (fputc): Likewise.
15914         * doc/posix-functions/fputs.texi (fputs): Likewise.
15915         * doc/posix-functions/fputws.texi (fputws): Likewise.
15916         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
15917         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
15918         * doc/posix-functions/getopt.texi (getopt): Likewise.
15919         * doc/posix-functions/perror.texi (perror): Likewise.
15920         * doc/posix-functions/printf.texi (printf): Likewise.
15921         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
15922         * doc/posix-functions/psignal.texi (psignal): Likewise.
15923         * doc/posix-functions/putc.texi (putc): Likewise.
15924         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
15925         Likewise.
15926         * doc/posix-functions/putchar.texi (putchar): Likewise.
15927         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
15928         Likewise.
15929         * doc/posix-functions/puts.texi (puts): Likewise.
15930         * doc/posix-functions/putwc.texi (putwc): Likewise.
15931         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
15932         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
15933         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15934         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
15935         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15936         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
15937         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
15938         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
15939
15940 2011-05-22  Bruno Haible  <bruno@clisp.org>
15941
15942         strerror: Move AC_LIBOBJ invocations to module description.
15943         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
15944         gl_PREREQ_STRERROR invocations from here...
15945         * modules/strerror (configure.ac): ... to here.
15946
15947 2011-05-21  Bruno Haible  <bruno@clisp.org>
15948
15949         perror: Use common idiom.
15950         * modules/perror (configure.ac): Reorder statements.
15951
15952 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
15953
15954         tests: fix usage message in 'mktempd_'
15955         * tests/init.sh (mktempd_): In the usage message, use literal
15956         'mktempd_', not '$ME' (which is even undefined), as the name of
15957         the subroutine.
15958
15959 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
15960
15961         tests init: new function 'fatal_', for hard errors
15962         Before this patch, the only way offered by tests/init.sh to
15963         properly signal a hard error was the `framework_failure_'
15964         function.  But the error message issued by that function,
15965         as its name would suggest, refers to a set-up failure in the
15966         testsuite, while hard errors can obviously also be due to
15967         other reasons.  The best way to fix this inconsistency is to
15968         introduce a new function with a more general error message.
15969         * tests/init.sh (fatal_): New function.
15970
15971 2011-06-06  Eric Blake  <eblake@redhat.com>
15972
15973         canonicalize-lgpl: use common idiom
15974         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
15975         over newer POSIX -Rf.
15976         Reported by Bruno Haible.
15977
15978         canonicalize-lgpl: work around AIX realpath bug
15979         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
15980         * doc/posix-functions/realpath.texi (realpath): Document it.
15981         Reported by Bruno Haible.
15982
15983         strerror: work around FreeBSD bug
15984         * lib/strerror.c (strerror): Special case 0.
15985         Reported by Bruno Haible.
15986
15987         strerror-override: avoid bloating errno module
15988         * modules/errno (Files, configure.ac): Move replacement strings...
15989         * modules/strerror-override: ...to new module.
15990         * modules/strerror (Depends-on): Add strerror-override.
15991         * modules/strerror_r-posix (Depends-on): Likewise.
15992         * MODULES.html.sh: Document new module.
15993         Reported by Bruno Haible.
15994
15995 2011-06-06  Bruno Haible  <bruno@clisp.org>
15996
15997         spawn-pipe tests: Rename program.
15998         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
15999         * tests/test-spawn-pipe-child.c: Update comment.
16000         * tests/test-spawn-pipe.sh: Update.
16001         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
16002
16003         spawn-pipe tests: Link the child program only against libc.
16004         * tests/test-spawn-pipe-child.c: New file, extracted from
16005         tests/test-spawn-pipe.c.
16006         (main): Expect only one argument.
16007         (is_open): New function, copied from tests/test-pipe.c.
16008         * tests/test-spawn-pipe.c: Don't include <errno.h>.
16009         (child_main): Remove function.
16010         (test_pipe): Pass only one argument to the child program.
16011         (main): Remove child process code. Expect the child program's name as
16012         first argument.
16013         * tests/test-spawn-pipe.sh: Pass the child program's name as first
16014         argument.
16015         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
16016         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
16017         test-spawn-pipe-child against no libraries.
16018
16019 2011-06-06  Bruno Haible  <bruno@clisp.org>
16020
16021         careadlinkat: Avoid mismatch between ssize_t and int.
16022         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
16023         * lib/careadlinkat.c (careadlinkatcwd): Define always.
16024
16025 2011-06-06  Jim Meyering  <meyering@redhat.com>
16026
16027         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
16028         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
16029         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
16030
16031 2011-06-05  Bruno Haible  <bruno@clisp.org>
16032
16033         ansi-c++-opt: Interoperability with libtool.
16034         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
16035         set the variable to "no", not to ":".
16036         * NEWS: Mention the change.
16037
16038 2011-06-05  Bruno Haible  <bruno@clisp.org>
16039
16040         acl: Fix test failure on AIX 7.
16041         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
16042         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
16043
16044 2011-06-05  Bruno Haible  <bruno@clisp.org>
16045
16046         pipe-filter-ii: Fix test failure on AIX and IRIX.
16047         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
16048         with EAGAIN, retry with a smaller buffer size.
16049
16050 2011-06-05  Bruno Haible  <bruno@clisp.org>
16051
16052         localename: Fix link dependencies.
16053         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
16054         * modules/localename-tests (Makefile.am): Link test-localename with
16055         $(LIBTHREAD).
16056
16057 2011-06-05  Bruno Haible  <bruno@clisp.org>
16058
16059         error: Avoid gcc warning.
16060         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
16061
16062 2011-06-05  Bruno Haible  <bruno@clisp.org>
16063
16064         unsetenv: Avoid gcc warning.
16065         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
16066
16067 2011-06-05  Bruno Haible  <bruno@clisp.org>
16068
16069         setenv: Avoid gcc warning.
16070         * lib/setenv.c (setenv): Provide declaration if system lacks it.
16071
16072 2011-06-05  Bruno Haible  <bruno@clisp.org>
16073
16074         sys_select: Ensure memset is declared also on AIX 7.
16075         * lib/sys_select.in.h: Include <string.h> also on AIX.
16076         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
16077         self-contained also on AIX 7.1.
16078
16079 2011-06-04  Jim Meyering  <meyering@redhat.com>
16080
16081         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
16082         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
16083         function name, "error".
16084         (_gl_translatable_diag_func_re): New configurable variable.
16085
16086 2011-06-04  Bruno Haible  <bruno@clisp.org>
16087
16088         getopt: Avoid gcc warning.
16089         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
16090
16091 2011-06-04  Bruno Haible  <bruno@clisp.org>
16092
16093         strerror_r: Fix comments.
16094         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
16095         commit.
16096
16097 2011-06-04  Bruno Haible  <bruno@clisp.org>
16098
16099         perror: Fix compilation error.
16100         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
16101         Undefine fprintf, not sprintf.
16102         * modules/perror (Depends-on): Remove intprops, verify.
16103
16104 2011-06-04  Bruno Haible  <bruno@clisp.org>
16105
16106         setlocale: Enable replacement on Cygwin 1.5.
16107         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
16108         Cygwin 1.5.x.
16109         * doc/posix-functions/setlocale.texi: Mention that the problem with the
16110         LC_CTYPE category also exists on Cygwin 1.5.x.
16111
16112 2011-06-04  Bruno Haible  <bruno@clisp.org>
16113
16114         strerror-override: Don't disable symbol renamings.
16115         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
16116         * lib/strerror-override.c: Include config.h.
16117         (strerror_override): Don't undefine.
16118
16119 2011-06-03  Bruno Haible  <bruno@clisp.org>
16120
16121         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
16122         * lib/localename.h: Update copyright header.
16123         * lib/localename.c: Likewise.
16124         * lib/relocatable.h: Likewise.
16125         * lib/relocatable.c: Likewise.
16126
16127 2011-06-02  Bruno Haible  <bruno@clisp.org>
16128
16129         doc: Fix a module name.
16130         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
16131
16132 2011-06-02  Bruno Haible  <bruno@clisp.org>
16133
16134         pipe2: Remove dependency on 'nonblocking' module.
16135         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
16136         O_NONBLOCK is defined by gnulib.
16137         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
16138         is zero.
16139         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
16140         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
16141         defined by gnulib.
16142         (get_nonblocking_flag): New function.
16143         (main): Test O_NONBLOCK flag only if it is nonzero.
16144         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
16145
16146 2011-06-03  Jim Meyering  <meyering@redhat.com>
16147
16148         maint: three new prohibit-header-without-use rules
16149         Prohibit use of cloexec.h, posixver.h, same.h without use.
16150         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
16151         (sc_prohibit_posixver_without_use): Likewise.
16152         (sc_prohibit_same_without_use): Likewise.
16153
16154 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
16155
16156         allocator: 'die' routine is now given requested size
16157         * lib/allocator.h (struct allocator.die): New size arg.
16158         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
16159         If the actual problem is an ssize_t limitation, not a size_t or
16160         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
16161
16162 2011-06-01  Eric Blake  <eblake@redhat.com>
16163
16164         strerror: drop strerror_r dependency
16165         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
16166         * lib/strerror-override.c (strerror_override): ...to new file.
16167         * lib/strerror-override.h: Add prototype.
16168         * lib/strerror-impl.h: Delete.
16169         * lib/strerror.c (strerror): New implementation.
16170         * modules/errno (Files): Add new files.
16171         (configure.ac): Compile new file as appropriate.
16172         * modules/strerror (Files): Drop unused file.
16173         (Depends-on): Drop strerror_r-posix.
16174         * MODULES.html.sh: Document strerror_r-posix.
16175         Requested by Sam Steingold.
16176
16177         perror: call strerror_r directly
16178         * modules/perror (Files): Drop strerror-impl.h.
16179         * lib/perror.c (perror): Use our own stack buffer, rather than
16180         calling a wrapper that uses static storage.
16181         * doc/posix-functions/perror.texi (perror): Document a limitation
16182         of our replacement.
16183
16184         strerror_r: fix includes for FreeBSD
16185         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
16186         since we use abort on some platforms.
16187         Reported by Matthias Bolte.
16188
16189 2011-05-31  Bruno Haible  <bruno@clisp.org>
16190
16191         Fix link errors in tests: openat-die uses gettext-h.
16192         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
16193         against $(LIBINTL).
16194         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
16195         against $(LIBINTL).
16196         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
16197         $(LIBINTL).
16198         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
16199         against $(LIBINTL).
16200         * modules/linkat-tests (Makefile.am): Link test-linkat against
16201         $(LIBINTL).
16202         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
16203         $(LIBINTL).
16204         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
16205         against $(LIBINTL).
16206         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
16207         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
16208         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
16209         $(LIBINTL).
16210         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
16211         $(LIBINTL).
16212         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
16213         $(LIBINTL).
16214         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16215
16216 2011-05-31  Bruno Haible  <bruno@clisp.org>
16217
16218         Fix link errors in tests: wait-process uses gettext-h.
16219         * modules/nonblocking-pipe-tests (Makefile.am): Set
16220         test_nonblocking_pipe_main_LDADD.
16221         * modules/nonblocking-socket-tests (Makefile.am): Link
16222         test-nonblocking-socket-main against $(LIBINTL).
16223         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16224
16225 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
16226
16227         assert-h: work around 'verify' incompatibility
16228         * lib/verify.h: Use @...@ directives, not ifdef.
16229         * modules/assert-h (assert.h): Implement the directives.
16230         (assert.h): Substitute the symbol-prefix more consistently.
16231
16232 2011-05-29  Jim Meyering  <meyering@redhat.com>
16233
16234         trim: remove three superfluous assignments
16235         * lib/trim.c (trim2): Remove three superfluous assignments
16236         and correct brace positioning.
16237
16238 2011-05-29  Bruno Haible  <bruno@clisp.org>
16239
16240         wctype-h: Avoid namespace pollution on Solaris 2.6.
16241         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
16242         identifiers.
16243         * doc/posix-headers/wctype.texi: Mention the problem.
16244         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16245
16246 2011-05-28  Jim Meyering  <meyering@redhat.com>
16247
16248         parse-datetime.y: accommodate -Wstrict-overflow
16249         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
16250         placate -Wstrict-overflow.
16251
16252         trim: avoid a warning from -O2 -Wstrict-overflow
16253         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
16254
16255 2011-05-29  Bruno Haible  <bruno@clisp.org>
16256
16257         gnulib-tool: Fix bug in yesterday's commit.
16258         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
16259         twice.
16260
16261 2011-05-29  Bruno Haible  <bruno@clisp.org>
16262
16263         Allow multiple gnulib generated include files to be combined.
16264         * gnulib-tool (func_compute_include_guard_prefix): New function.
16265         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
16266         ${gl_include_guard_prefix} references.
16267         (func_import, func_create_testdir): Invoke
16268         func_compute_include_guard_prefix.
16269         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
16270         * lib/ctype.in.h: Likewise.
16271         * lib/dirent.in.h: Likewise.
16272         * lib/errno.in.h: Likewise.
16273         * lib/fcntl.in.h: Likewise.
16274         * lib/float.in.h: Likewise.
16275         * lib/getopt.in.h: Likewise.
16276         * lib/iconv.in.h: Likewise.
16277         * lib/langinfo.in.h: Likewise.
16278         * lib/locale.in.h: Likewise.
16279         * lib/math.in.h: Likewise.
16280         * lib/netdb.in.h: Likewise.
16281         * lib/netinet_in.in.h: Likewise.
16282         * lib/poll.in.h: Likewise.
16283         * lib/pthread.in.h: Likewise.
16284         * lib/pty.in.h: Likewise.
16285         * lib/sched.in.h: Likewise.
16286         * lib/se-selinux.in.h: Likewise.
16287         * lib/search.in.h: Likewise.
16288         * lib/signal.in.h: Likewise.
16289         * lib/spawn.in.h: Likewise.
16290         * lib/stdarg.in.h: Likewise.
16291         * lib/stddef.in.h: Likewise.
16292         * lib/stdint.in.h: Likewise.
16293         * lib/stdio.in.h: Likewise.
16294         * lib/stdlib.in.h: Likewise.
16295         * lib/string.in.h: Likewise.
16296         * lib/strings.in.h: Likewise.
16297         * lib/sys_file.in.h: Likewise.
16298         * lib/sys_ioctl.in.h: Likewise.
16299         * lib/sys_select.in.h: Likewise.
16300         * lib/sys_socket.in.h: Likewise.
16301         * lib/sys_stat.in.h: Likewise.
16302         * lib/sys_time.in.h: Likewise.
16303         * lib/sys_times.in.h: Likewise.
16304         * lib/sys_uio.in.h: Likewise.
16305         * lib/sys_utsname.in.h: Likewise.
16306         * lib/sys_wait.in.h: Likewise.
16307         * lib/sysexits.in.h: Likewise.
16308         * lib/termios.in.h: Likewise.
16309         * lib/time.in.h: Likewise.
16310         * lib/unistd.in.h: Likewise.
16311         * lib/wchar.in.h: Likewise.
16312         * lib/wctype.in.h: Likewise.
16313         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
16314         * modules/ctype (Makefile.am): Likewise.
16315         * modules/dirent (Makefile.am): Likewise.
16316         * modules/errno (Makefile.am): Likewise.
16317         * modules/fcntl-h (Makefile.am): Likewise.
16318         * modules/float (Makefile.am): Likewise.
16319         * modules/getopt-posix (Makefile.am): Likewise.
16320         * modules/iconv-h (Makefile.am): Likewise.
16321         * modules/langinfo (Makefile.am): Likewise.
16322         * modules/locale (Makefile.am): Likewise.
16323         * modules/math (Makefile.am): Likewise.
16324         * modules/netdb (Makefile.am): Likewise.
16325         * modules/netinet_in (Makefile.am): Likewise.
16326         * modules/poll-h (Makefile.am): Likewise.
16327         * modules/pthread (Makefile.am): Likewise.
16328         * modules/pty (Makefile.am): Likewise.
16329         * modules/sched (Makefile.am): Likewise.
16330         * modules/search (Makefile.am): Likewise.
16331         * modules/selinux-h (Makefile.am): Likewise.
16332         * modules/signal (Makefile.am): Likewise.
16333         * modules/spawn (Makefile.am): Likewise.
16334         * modules/stdarg (Makefile.am): Likewise.
16335         * modules/stddef (Makefile.am): Likewise.
16336         * modules/stdint (Makefile.am): Likewise.
16337         * modules/stdio (Makefile.am): Likewise.
16338         * modules/stdlib (Makefile.am): Likewise.
16339         * modules/string (Makefile.am): Likewise.
16340         * modules/strings (Makefile.am): Likewise.
16341         * modules/sys_file (Makefile.am): Likewise.
16342         * modules/sys_ioctl (Makefile.am): Likewise.
16343         * modules/sys_select (Makefile.am): Likewise.
16344         * modules/sys_socket (Makefile.am): Likewise.
16345         * modules/sys_stat (Makefile.am): Likewise.
16346         * modules/sys_time (Makefile.am): Likewise.
16347         * modules/sys_times (Makefile.am): Likewise.
16348         * modules/sys_uio (Makefile.am): Likewise.
16349         * modules/sys_utsname (Makefile.am): Likewise.
16350         * modules/sys_wait (Makefile.am): Likewise.
16351         * modules/sysexits (Makefile.am): Likewise.
16352         * modules/termios (Makefile.am): Likewise.
16353         * modules/time (Makefile.am): Likewise.
16354         * modules/unistd (Makefile.am): Likewise.
16355         * modules/wchar (Makefile.am): Likewise.
16356         * modules/wctype-h (Makefile.am): Likewise.
16357         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
16358
16359 2011-05-29  Bruno Haible  <bruno@clisp.org>
16360
16361         assert-h: Allow multiple gnulib generated replacements to coexist.
16362         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
16363
16364 2011-05-29  Bruno Haible  <bruno@clisp.org>
16365
16366         argp: Allow coexistence with strerror_r-posix module.
16367         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
16368         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
16369         by gnulib's <string.h> replacement), assume it has the POSIX signature,
16370         not the glibc signature.
16371
16372 2011-05-28  Bruno Haible  <bruno@clisp.org>
16373
16374         gnulib-tool: Alternative structure of testdirs, similar to --import.
16375         * gnulib-tool: New option --single-configure.
16376         (func_usage): Document it.
16377         (single_configure): New variable.
16378         (func_modules_transitive_closure_separately,
16379         func_modules_transitive_closure_separately,
16380         func_determine_use_libtests, func_modules_add_dummy_separately,
16381         func_modules_to_filelist_separately): New functions, extracted from
16382         func_import.
16383         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
16384         (func_import): Use the new functions.
16385         (func_create_testdir): Set final_modules. Handle $single_configure =
16386         true case.
16387
16388 2011-05-28  Bruno Haible  <bruno@clisp.org>
16389
16390         getloadavg: Remove an unreliable safety check.
16391         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
16392         getloadavg.c is in place.
16393         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
16394         Reported by Sam Steingold <sds@gnu.org>.
16395
16396 2011-05-28  Bruno Haible  <bruno@clisp.org>
16397
16398         doc: Cleanup yet another file produced by texinfo.tex.
16399         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
16400
16401 2011-05-28  Bruno Haible  <bruno@clisp.org>
16402
16403         Finish the conditional dependencies mechanism.
16404         * gnulib-tool: New option --no-conditional-dependencies.
16405         (func_usage): Document it. Don't mark --conditional-dependencies as
16406         experimental.
16407         (cond_dependencies): The possible values can now be true, false, empty.
16408         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
16409         (func_import): Store setting in gnulib-cache.m4 and read it from there.
16410         * doc/gnulib-tool.texi (Conditional dependencies): New section.
16411
16412 2011-05-28  Bruno Haible  <bruno@clisp.org>
16413
16414         doc: Use a recent texinfo.tex.
16415         * doc/Makefile (tex_opts): New variable.
16416         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
16417
16418 2011-05-28  Jim Meyering  <meyering@redhat.com>
16419
16420         intprops.h: adjust comment to match code change
16421         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
16422         only once, it *may* have side effects.  Also fix an unrelated typo.
16423         (_GL_INT_SIGNED): Likewise.
16424
16425 2011-05-26  Simon Josefsson  <simon@josefsson.org>
16426
16427         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
16428
16429 2011-05-26  Bruno Haible  <bruno@clisp.org>
16430
16431         mbsrchr: Avoid collision with system function on Interix.
16432         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
16433         Reported by Markus Duft <mduft@gentoo.org>.
16434
16435 2011-05-15  James Youngman  <jay@gnu.org>
16436
16437         getopt: for ambiguous options, enumerate the possibilities.
16438         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
16439         the ambiguous options when an ambiguous prefix is given. This was
16440         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
16441         glibc change was
16442         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
16443
16444 2011-05-25  Eric Blake  <eblake@redhat.com>
16445
16446         getcwd: work around mingw bug
16447         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
16448         * doc/posix-functions/getcwd.texi (getcwd): Document it.
16449         Reported by Matthias Bolte.
16450
16451 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
16452
16453         test-intprops: disable -Wtype-limits diagnostics
16454         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
16455         diagnostics.  Otherwise, the integer overflow macros generate many
16456         diagnostics.  Reported by Jim Meyering in
16457         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
16458
16459         intprops: shorten, to pacify gcc -Woverlength-strings
16460         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
16461         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
16462         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
16463         likely to run afoul of C compiler limits for string constant lengths.
16464         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
16465
16466 2011-05-24  Eric Blake  <eblake@redhat.com>
16467
16468         docs: document recently fixed glibc printf bug
16469         * doc/posix-functions/fprintf.texi (fprintf): Document it.
16470         * doc/posix-functions/printf.texi (printf): Likewise.
16471         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16472         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16473
16474         closein-tests: convert to init.sh
16475         * modules/closein-tests (Files): Add init.sh
16476         * tests/test-closein.sh Use it.
16477
16478         yesno-tests: convert to init.sh
16479         * modules/yesno-tests (Files): Add init.sh.
16480         * tests/test-yesno.sh: Use it.
16481
16482         atexit-tests: ensure reliable exit status
16483         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
16484         Reported by Bruno Haible.
16485
16486 2011-05-24  Bruno Haible  <bruno@clisp.org>
16487
16488         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
16489         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
16490         gl_PREREQ_STRERROR_R invocations from here...
16491         * modules/strerror_r-posix (configure.ac): ... to here.
16492
16493 2011-05-24  Eric Blake  <eblake@redhat.com>
16494
16495         strerror_r: fix missing header
16496         * lib/strerror_r.c: Avoid compiler warning about snprintf.
16497
16498         strerror_r: fix AIX test failures
16499         * lib/strerror_r.c (strerror_r): Convert silent truncation to
16500         ERANGE failure.
16501
16502         strerror_r: fix Solaris test failures
16503         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
16504         failures.
16505         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
16506
16507         strerror_r: enforce POSIX recommendations
16508         * lib/strerror_r.c (safe_copy): New helper method.
16509         (strerror_r): Guarantee a non-empty string.
16510         * tests/test-strerror_r.c (main): Enhance tests to incorporate
16511         recent POSIX rulings and to match our strerror guarantees.
16512         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
16513
16514 2011-05-24  Jim Meyering  <meyering@redhat.com>
16515
16516         test-perror2.c: avoid warning about unused variable
16517         * tests/test-perror2.c (main): Remove declaration of unused "fp".
16518
16519 2011-05-24  Eric Blake  <eblake@redhat.com>
16520
16521         perror: avoid spurious test failure on HP-UX
16522         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
16523
16524         tests: fix logic bug in init.sh
16525         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
16526         shell.
16527
16528 2011-05-24  Jim Meyering  <meyering@redhat.com>
16529
16530         utimensat: do not reference an out-of-scope buffer
16531         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
16532         declared in an inner scope, yet "times" would be dereferenced outside
16533         the scope in which "ts" was valid.
16534         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
16535         of ts[2] "out/up", so that the use of aliased "times" (via
16536         "times = ts;") does not end up referencing an out-of-scope "ts"
16537
16538         opendir-safer.c: don't clobber errno; don't close negative FD
16539         * lib/opendir-safer.c (opendir_safer):
16540         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
16541         file descriptor, and more importantly, don't clobber the
16542         offending errno value with EINVAL.  Before, upon failure
16543         of dup_safer, we would pass the negative file descriptor to
16544         fdopendir, which would clobber errno.
16545
16546 2011-05-23  Bruno Haible  <bruno@clisp.org>
16547
16548         idcache: Fix module description.
16549         * modules/idcache (Include): Set to "idcache.h".
16550
16551 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
16552
16553         gnulib-tool: fix portability problem with MacOS sed
16554         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
16555         before the "}".  Problem reported by Leo in
16556         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
16557         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
16558         sed_extract_condition1, sed_extract_condition2.
16559
16560 2011-05-23  Bruno Haible  <bruno@clisp.org>
16561
16562         hash: Simplify autoconf macro.
16563         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
16564
16565 2011-05-23  Bruno Haible  <bruno@clisp.org>
16566
16567         getugroups: Fix module description.
16568         * modules/getugroups (Include): Set to "getugroups.h".
16569
16570 2011-05-23  Bruno Haible  <bruno@clisp.org>
16571
16572         linkat: Simplify autoconf macro.
16573         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
16574
16575 2011-05-23  Bruno Haible  <bruno@clisp.org>
16576             Eric Blake  <eblake@redhat.com>
16577
16578         linkat, renameat: Update dependencies.
16579         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
16580         * modules/linkat (Depends-on): Likewise. Remove also readlink,
16581         symlinkat.
16582
16583 2011-05-23  Jim Meyering  <meyering@redhat.com>
16584
16585         maint.mk: more tight_scope improvements
16586         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
16587         (_gl_TS_headers): Define only in if-0'd block.
16588         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
16589         sometimes we must *not* use it.  Adjust uses accordingly.
16590         (sc_tight_scope): Use much simpler grep-based test to determine
16591         whether we skip this rule.
16592
16593         maint.mk: generalize/improve the tight-scope rule
16594         * top/maint.mk: Emit a warning when the test is skipped.
16595         (_gl_TS_dir): Add $(srcdir)/ prefix.
16596         (_gl_TS_function_match): Simplify, rather than trying
16597         to enumerate common types.  Otherwise, it would fail to match an
16598         "extern unsigned char const *" declaration in idutils.
16599         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
16600         a way to support use of that type of macro.
16601         (_gl_TS_var_match): Simplify regexp.
16602         (_gl_TS_obj_files): New configurable variable.
16603         (_gl_TS_headers): Likewise.
16604
16605 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
16606
16607         verify: fix bug when gnulib <assert.h> is also included
16608         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
16609         is defined, not if _GL_STATIC_ASSERT_H is not defined.
16610         Perhaps there's a better way, but this fixes the immediate problem.
16611         Problem reported by Bruno Haible in
16612         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
16613
16614 2011-05-22  Bruno Haible  <bruno@clisp.org>
16615
16616         xgetcwd: Simplify autoconf macro.
16617         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
16618
16619 2011-05-22  Bruno Haible  <bruno@clisp.org>
16620
16621         New module 'mktime-internal'.
16622         * modules/mktime-internal: New file.
16623         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
16624         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
16625         mktime_internal as a C macro if libc has __mktime_internal.
16626         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
16627         conditions.
16628         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
16629
16630 2011-05-22  Bruno Haible  <bruno@clisp.org>
16631
16632         timegm: Correct mktime replacement statements.
16633         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
16634         defining mktime as a C macro. This completes a 2009-07-28 commit.
16635
16636 2011-05-22  Bruno Haible  <bruno@clisp.org>
16637
16638         timegm: Simplify autoconf macro.
16639         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
16640
16641 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
16642
16643         clock-time: change to LGPLv2+.
16644         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
16645         BSD-like but we have no mark for that; this is good enough for now.
16646
16647 2011-05-21  Bruno Haible  <bruno@clisp.org>
16648
16649         strerror_r: Fix comments.
16650         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
16651
16652 2011-05-21  Bruno Haible  <bruno@clisp.org>
16653
16654         relocatable-prog-wrapper: Fix possible link error.
16655         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
16656         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
16657         (gl_FUNC_SETENV): ... to here.
16658         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
16659         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
16660
16661 2011-05-21  Bruno Haible  <bruno@clisp.org>
16662
16663         relocatable-prog-wrapper: Assume strerror() exists.
16664         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
16665         m4/strerror.m4.
16666         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
16667         * lib/relocwrapper.c: Remove mention of strerror module.
16668         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
16669         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
16670         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
16671         C macro.
16672
16673 2011-05-21  Bruno Haible  <bruno@clisp.org>
16674
16675         select: Simplify replacement idiom.
16676         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
16677         Win32 platforms.
16678         * lib/sys_select.in.h (select): Simplify accordingly.
16679         * modules/select (Depends-on): Likewise.
16680
16681 2011-05-21  Bruno Haible  <bruno@clisp.org>
16682
16683         mkdir-p: Simplify autoconf macro.
16684         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
16685         gl_FUNC_LCHOWN.
16686
16687 2011-05-21  Eric Blake  <eblake@redhat.com>
16688
16689         strerror_r: avoid clobbering strerror on cygwin
16690         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
16691         fall back instead to sys_errlist.
16692         * modules/strerror (configure.ac): Add witness.
16693         * tests/test-strerror_r.c (main): Enhance test.
16694         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16695         * tests/test-perror2.c (main): Free memory before exit.
16696
16697 2011-05-21  Bruno Haible  <bruno@clisp.org>
16698
16699         mkdtemp: Use gnulib naming conventions.
16700         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
16701         * modules/mkdtemp (configure.ac): Update.
16702
16703 2011-05-20  Eric Blake  <eblake@redhat.com>
16704
16705         strerror_r: avoid corrupting errno on Solaris
16706         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
16707         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16708
16709         strerror_r: avoid compiler warning
16710         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
16711
16712         strerror_r: simplify AIX code
16713         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
16714
16715         test-perror: avoid spurious failure on FreeBSD
16716         * modules/perror-tests (Depends-on): Add strerror, now that
16717         strerror_r no longer pulls it in.
16718
16719 2011-05-20  Bruno Haible  <bruno@clisp.org>
16720
16721         strerror_r-posix: Remove unused dependencies.
16722         * modules/strerror_r-posix (Depends-on): Remove strerror.
16723         Reported by Eric Blake.
16724
16725 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16726
16727         intprops: remove assumption about A|B representation
16728         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
16729         is a valid integer if both A and B are.  Although this is true for
16730         all known practical hosts, the C standard doesn't guarantee it,
16731         and the code need not assume it.  Also, this change may work around
16732         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
16733         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
16734
16735 2011-05-20  Eric Blake  <eblake@redhat.com>
16736
16737         perror: work around FreeBSD bug
16738         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
16739         is broken.  Move AC_LIBOBJ...
16740         * modules/perror (configure.ac): Here.
16741         * doc/posix-functions/perror.texi (perror): Document this.
16742         * tests/test-perror2.c (main): Enhance test.
16743
16744         test-perror: check for strerror interactions
16745         * tests/macros.h (STREQ): Add macro.
16746         * modules/perror-tests (Files): Add second test.
16747         * tests/test-perror2.c (main): New file.
16748         * doc/posix-functions/perror.texi (perror): Document glibc bug.
16749
16750         test-perror: rewrite to use init script
16751         * modules/perror-tests (Files): Add init.sh.
16752         * tests/test-perror.sh: Use temporary directory.
16753
16754 2011-05-20  Jim Meyering  <meyering@redhat.com>
16755
16756         maint: replace misused "a" with "an"
16757         * doc/intprops.texi: "a integer"
16758         * doc/regex.texi: "a explanation"
16759         * lib/alignof.h: "a object"
16760         * lib/argmatch.h: "a explanation"
16761         * lib/argp-help.c: "a option" and "a OPTION_DOC"
16762         * lib/stdint.in.h: "a integer"
16763         * lib/userspec.c: "a owner"
16764         * doc/gnulib.texi: Fix "a idea", and reword.
16765
16766 2011-05-19  Jim Meyering  <meyering@redhat.com>
16767
16768         maint: correct misuse of "a" and "an"
16769         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
16770         * lib/argp-help.c: "an docum...": s/an/a/
16771         * lib/argp-parse.c: "An vector": s/An/A/
16772         * lib/execute.c: "an native": s/an/a/
16773         * lib/spawn-pipe.c: Likewise.
16774         * lib/gc.h: "an Gc_rc": s/an/a/
16775         * lib/unigbrk.in.h: "an grapheme": s/an/a/
16776         * lib/fts.c: "an stat.st_dev": s/an/a/
16777
16778 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16779
16780         intprops-tests: work around HP-UX 11.23 cc bug with constants
16781         * tests/test-intprops.c (VERIFY): New macro.
16782         (main): Use it, instead of verify, to work around the compiler bug; see
16783         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16784
16785         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
16786         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
16787         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
16788         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
16789         (_GL_REMAINDER_OVERFLOW): Use it.
16790
16791         intprops-tests: revert unsigned part of previous change
16792         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
16793         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
16794         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
16795         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
16796
16797 2011-05-19  Bruno Haible  <bruno@clisp.org>
16798
16799         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
16800         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
16801         strerror_r() returned without filling the buffer.
16802         Reported by Eric Blake.
16803
16804 2011-05-19  Eric Blake  <eblake@redhat.com>
16805
16806         strerror_r: guarantee unchanged errno
16807         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
16808         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
16809         failure.
16810         * tests/test-strerror_r.c (main): Enhance test.
16811
16812 2011-05-19  Bruno Haible  <bruno@clisp.org>
16813
16814         strerror_r: Reorder #if blocks.
16815         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
16816         for consistency with the previous commit.
16817
16818 2011-05-19  Bruno Haible  <bruno@clisp.org>
16819
16820         perror: Avoid clobbering the strerror buffer when possible.
16821         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
16822         * lib/strerror.c: Include it.
16823         * modules/strerror (Files): Add lib/strerror-impl.h.
16824         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
16825         (my_strerror): New function, defined through lib/strerror-impl.h.
16826         (perror): Use it instead of strerror.
16827         * modules/perror (Files): Add lib/strerror-impl.h.
16828         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
16829
16830 2011-05-19  Eric Blake  <eblake@redhat.com>
16831
16832         strerror_r: fix on newer cygwin
16833         * lib/strerror_r.c (strerror_r): Cygwin now has
16834         __xpg_strerror_r, use it.
16835
16836 2011-05-19  Bruno Haible  <bruno@clisp.org>
16837
16838         strerror_r: Avoid clobbering the strerror buffer when possible.
16839         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
16840         (sys_nerr, sys_errlist): New declarations.
16841         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
16842         HP-UX, native Win32, IRIX, and 32-bit Solaris.
16843         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
16844
16845 2011-05-19  Bruno Haible  <bruno@clisp.org>
16846
16847         strerror_r: Fix test failure on mingw.
16848         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
16849         EXTEND_STRERROR_R.
16850         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
16851         macros from errno.in.h instead.
16852
16853 2011-05-19  Eric Blake  <eblake@redhat.com>
16854
16855         strerror: relax test for Solaris
16856         * tests/test-strerror.c (main): Permit Solaris behavior.
16857         * tests/test-strerror_r.c (main): Likewise.
16858
16859         strerror: enforce POSIX ruling on strerror(0)
16860         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
16861         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
16862         * lib/strerror_r.c (rpl_strerror_r): Work around it.
16863         * doc/posix-functions/strerror.texi (strerror): Document it.
16864         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
16865         * tests/test-strerror.c (main): Strengthen test.
16866         * tests/test-strerror_r.c (main): Likewise.
16867
16868 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16869
16870         intprop-tests: port to older and more-pedantic compilers
16871         * modules/intprops-tests (Files): Add tests/macros.h.
16872         * tests/test-intprops.c: Include macros.h.
16873         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
16874         it's no longer documented to expand to an integer constant expression.
16875         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
16876         argument is floating point, as it's no longer documented to expand
16877         to an integer constant expression in that case.
16878         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
16879         compiler bugs reported by Bruno Haible.  See
16880         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16881         (U0, U1): New constants, to work around the same bugs.  Also,
16882         in tests, use e.g., "(unsigned int) 39" rather than "39u".
16883
16884         intprops: work around C compiler bugs
16885         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
16886         bug in Sun C 5.11 2010/08/13 and other compilers; see
16887         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16888
16889         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
16890         * doc/intprops.texi (Integer Type Determination): Fix
16891         documentation for TYPE_IS_INTEGER: it returns an constant
16892         expression, not an integer constant expression.  Fix doc for
16893         TYPE_SIGNED: it returns an integer constant expression only if its
16894         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
16895         hardly worth documented that way....)
16896
16897 2011-05-18  Bruno Haible  <bruno@clisp.org>
16898
16899         strerror_r: Avoid clobbering the strerror buffer when possible.
16900         * lib/strerror_r.c (strerror_r): Merge the three implementations.
16901         Handle gnulib defined errno values here. When strerror() returns NULL
16902         or an empty string, return EINVAL.
16903         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
16904         gnulib defined errno values here.
16905         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
16906
16907 2011-05-18  Eric Blake  <eblake@redhat.com>
16908
16909         fnmatch: avoid compiler warning
16910         * lib/fnmatch_loop.c (FCT): Use correct type.
16911         Reported by Matthias Bolte.
16912
16913 2011-05-13  Jim Meyering  <meyering@redhat.com>
16914
16915         maint.mk: three new prohibit_<HDR>_without_use rules
16916         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
16917         (sc_prohibit_stdio-safer_without_use): Likewise.
16918         (sc_prohibit_xfreopen_without_use): Likewise.
16919
16920 2011-05-17  Jim Meyering  <meyering@redhat.com>
16921
16922         announce-gen: fail if the NEWS delta is empty
16923         If there's nothing noteworthy in NEWS, then either you forgot
16924         or you shouldn't be releasing.
16925         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
16926
16927 2011-05-17  Pádraig Brady <P@draigBrady.com>
16928
16929         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
16930         reserved symbols starting with double underscore from the check.
16931
16932 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
16933
16934         intprops: add doc
16935         * doc/intprops.texi: New file, documenting intprops.
16936         * doc/gnulib.texi (Particular Modules): Include it.
16937
16938         verify: add doc to gnulib manual and fix example
16939         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
16940         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
16941         (Compile-time Assertions): Fix example so it can't overflow.
16942
16943 2011-05-17  Jim Meyering  <meyering@redhat.com>
16944
16945         warnings.m4: don't usurp save_CPPFLAGS variable name
16946         * m4/warnings.m4: Prefix local temporary variable name with gl_.
16947
16948         doc: fix typo
16949         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
16950
16951 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16952             Bruno Haible  <bruno@clisp.org>
16953
16954         doc: Tweak recent change.
16955         * README (Portability guidelines): Tweak new text.
16956         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
16957         Interix 6.1.
16958
16959 2011-05-16  Eric Blake  <eblake@redhat.com>
16960
16961         inttypes: avoid autoconf warning
16962         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
16963         * m4/stdint.m4 (gl_STDINT_H): Likewise.
16964
16965 2011-05-16  Sam Steingold <sds@gnu.org>
16966         and Eric Blake  <eblake@redhat.com>
16967
16968         vc-list-files: accept multiple directory operands
16969         * build-aux/vc-list-files: Iterate over all remaining operands.
16970
16971 2011-05-16  Bruno Haible  <bruno@clisp.org>
16972
16973         Fix confusion regarding deprecated modules.
16974         * modules/calloc (Status, Notice): Mark module as deprecated, not
16975         obsolete.
16976         * modules/fnmatch-posix (Status, Notice): Likewise.
16977         * modules/getdate (Status, Notice): Likewise.
16978         * modules/getopt (Status, Notice): Likewise.
16979         * modules/malloc (Status, Notice): Likewise.
16980         * modules/pipe (Status, Notice): Likewise.
16981         * modules/realloc (Status, Notice): Likewise.
16982         * modules/rename-dest-slash (Status, Notice): Likewise.
16983         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
16984         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
16985         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
16986         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
16987         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
16988
16989 2011-05-16  Bruno Haible  <bruno@clisp.org>
16990
16991         doc: List the target platforms.
16992         * doc/gnulib-intro.texi (Target Platforms): New section.
16993         * doc/gnulib.texi (Introduction): Update menu.
16994         * README (Portability guidelines): Refer to the new section. Update
16995         statement about oldest supported environment. Remove rationale why
16996         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
16997         unportable C89 function.
16998         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
16999         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
17000
17001 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17002
17003         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
17004
17005 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17006
17007         intprops-tests: new module
17008         * modules/intprops-tests, tests/test-intprops.c: New files.
17009
17010         intprops: add safe, portable integer overflow checking
17011         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
17012         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
17013         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
17014         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
17015         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
17016         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
17017         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
17018         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
17019         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
17020         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
17021         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
17022
17023 2011-05-12  James Youngman  <jay@gnu.org>
17024
17025         Add a test for glibc's Bugzilla bug #12378.
17026         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
17027         doesn't allow the literal matching of a lone "[" (which is
17028         required by POSIX).
17029         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
17030
17031 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
17032
17033         Sync glibc change fixing Bugzilla bug #12378.
17034         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
17035         beginning and fall back to matching as normal character if the
17036         string ends before the matching ']' is found.  This is what POSIX
17037         requires.
17038
17039 2011-05-13  Eric Blake  <eblake@redhat.com>
17040
17041         getcwd-lgpl: relax test for FreeBSD
17042         * doc/posix-functions/getcwd.texi (getcwd): Document portability
17043         issue.
17044         * tests/test-getcwd-lgpl.c (main): Relax test.
17045         Reported by Matthias Bolte.
17046
17047 2011-05-11  Eric Blake  <eblake@redhat.com>
17048
17049         test-fflush: silence compiler warning
17050         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
17051
17052 2011-05-11  Bruno Haible  <bruno@clisp.org>
17053
17054         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
17055         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
17056         * modules/canonicalize (Depends-on): Add 'nocrash'.
17057         * modules/canonicalize-lgpl (Depends-on): Likewise.
17058         * doc/posix-functions/realpath.texi: Update platforms list.
17059         Reported by Ryan Schmidt <ryandesign@macports.org>.
17060
17061 2011-05-11  Bruno Haible  <bruno@clisp.org>
17062
17063         group-member: Declare function in <unistd.h>.
17064         * lib/unistd.in.h (group_member): New declaration.
17065         * lib/group-member.h: Remove file.
17066         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
17067         * tests/test-unistd-c++.cc: Check signature of group_member.
17068         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
17069         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
17070         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
17071         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
17072         HAVE_GROUP_MEMBER.
17073         * modules/group-member (Files): Remove lib/group-member.h.
17074         (Depends-on): Add unistd. Specify conditions.
17075         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
17076         (Include): Change to <unistd.h>.
17077         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
17078         HAVE_GROUP_MEMBER.
17079         * NEWS: Mention the change.
17080         * lib/euidaccess.c: Don't include group-member.h.
17081
17082 2011-05-11  Bruno Haible  <bruno@clisp.org>
17083
17084         group-member: Document module.
17085         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
17086         module.
17087
17088 2011-05-11  Bruno Haible  <bruno@clisp.org>
17089
17090         fclose: Fix mistake earlier today.
17091         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
17092
17093 2011-05-11  Eric Blake  <eblake@redhat.com>
17094
17095         fclose: preserve fflush errors
17096         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
17097         Reported by Jim Meyering.
17098
17099         bootstrap: support a prereq of 'rpcgen -' on RHEL5
17100         * build-aux/bootstrap (check_versions): When no specific version
17101         is required, merely check that the app produces an exit status
17102         that indicates its existence.
17103
17104         maint.mk: drop redundant check
17105         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
17106         the same but better.
17107
17108 2011-05-11  Bruno Haible  <bruno@clisp.org>
17109
17110         fclose: Fix possible link error.
17111         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
17112         unregister_shadow_fd. Improve comments.
17113         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
17114         Eric Blake.
17115
17116 2011-05-11  Jim Meyering  <meyering@redhat.com>
17117
17118         maint.mk: improve "can not" detection and generalize rule name
17119         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
17120         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
17121         Use the same technique as in sc_prohibit_doubled_word, so that
17122         we recognize "can not" also when the words are separated by a newline.
17123         Suggested by Eric Blake.
17124         (perl_filename_lineno_text_): Define.  Factored out of...
17125         (prohibit_doubled_word_): ...here.  Use the new definition.
17126         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
17127         (prohibit_undesirable_word_seq_RE_): New overridable variable.
17128         (ignore_undesirable_word_sequence_RE_): New overridable variable.
17129
17130 2011-05-10  Eric Blake  <eblake@redhat.com>
17131
17132         fclose: avoid double close race when possible
17133         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
17134         all but WINDOWS_SOCKETS.
17135
17136 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
17137
17138         openat: correct new comment
17139         * lib/openat-proc.c (openat_proc_name): Correct the comment.
17140
17141 2011-05-10  Jim Meyering  <meyering@redhat.com>
17142
17143         openat: add comments
17144         * lib/openat-proc.c (openat_proc_name): Add comments,
17145         mostly from Eric Blake.
17146
17147 2011-05-09  Eric Blake  <eblake@redhat.com>
17148
17149         openat: reduce syscalls in first probe of /proc
17150         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
17151         be a directory.  Simplify the probe for .. bugs.
17152         * modules/openat (Depends-on): Drop same-inode.
17153         Reported by Bastien ROUCARIES.
17154
17155 2011-05-09  Jim Meyering  <meyering@redhat.com>
17156
17157         maint.mk: change semantics/name of tight_scope variables
17158         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
17159         Rename variables to align with semantics that make them more useful.
17160
17161         maint.mk: tweak new rule's name not to impinge
17162         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
17163         (sc_tight_scope): Use new rule name rather than $@-0.
17164
17165         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
17166         * top/maint.mk (sc_tight_scope): New rule.
17167         (sc_tight_scope-0): New rule, ifdef'd out.
17168         (_gl_TS_dir): Default.
17169         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
17170         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
17171
17172 2011-05-09  Simon Josefsson  <simon@josefsson.org>
17173
17174         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
17175         Haible <bruno@clisp.org>.
17176
17177 2011-05-08  Bruno Haible  <bruno@clisp.org>
17178
17179         Comments.
17180         * m4/isnanf.m4: Add comment.
17181         * m4/isnanl.m4: Likewise.
17182
17183 2011-05-08  Bruno Haible  <bruno@clisp.org>
17184
17185         glob: Remove obsolete macro.
17186         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
17187
17188 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
17189
17190         intprops: Sun C 5.11 supports __typeof__
17191         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
17192         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
17193         which is new.
17194         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
17195
17196         intprops: switch to usual gnulib indenting and naming
17197         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
17198         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
17199
17200         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
17201
17202 2011-05-08  Jim Meyering  <meyering@redhat.com>
17203
17204         maint.mk: suppress "Entering/Leaving directory" diag in announcement
17205         * top/maint.mk (release-prep): Use make's --no-print-directory
17206         option when generating the announcement.  This eliminates the
17207         pesky "make[2]: Entering/Leaving directory" diagnostics in the
17208         generated announcement template.
17209
17210 2011-05-08  Bruno Haible  <bruno@clisp.org>
17211
17212         tzset: Fix gettimeofday wrapper on Solaris 2.6.
17213         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
17214         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
17215
17216 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
17217
17218         ignore-value, verify: Omit include files from lib_SOURCES.
17219         * modules/ignore-value, modules/verify (Makefile.am):
17220         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
17221         that leads Automake to duplicate use of am__objects_... variables
17222         in Makefile.in.  See
17223         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
17224
17225 2011-05-07  Bruno Haible  <bruno@clisp.org>
17226
17227         fclose: Simplify autoconf macro.
17228         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
17229         defined.
17230
17231 2011-05-07  Bruno Haible  <bruno@clisp.org>
17232
17233         canonicalize-lgpl: Fix autoconf macro ordering bug.
17234         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
17235         gl_STDLIB_H_DEFAULTS.
17236
17237 2011-05-06  Eric Blake  <eblake@redhat.com>
17238
17239         maintainer-makefile: make sc_po_check easier to tune
17240         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
17241         to probe for strings, such as an alternate location for gnulib.
17242
17243         fclose: guarantee behavior on seekable stdin
17244         * modules/fclose (Depends-on): Add fflush.
17245         * doc/posix-functions/fclose.texi (fclose): Document this.
17246         * tests/test-fclose.c (main): Make test for this unconditional.
17247
17248 2011-05-06  Bruno Haible  <bruno@clisp.org>
17249
17250         fflush, fpurge: Relicense under LGPLv2+.
17251         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
17252         * modules/fpurge (License): Likewise.
17253         With permission from Eric Blake and Jim Meyering.
17254         Suggested by Eric Blake.
17255
17256 2011-05-06  Karl Berry  <karl@gnu.org>
17257
17258         * MODULES.html.sh (func_all_modules): remove exit.
17259
17260 2011-05-06  Jim Meyering  <meyering@redhat.com>
17261
17262         maint.mk: use info-gnu@ as the default only for a stable release
17263         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
17264         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
17265         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
17266         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
17267
17268 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
17269
17270         assert-h: new module, which supports C1X-style static_assert
17271         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
17272         * lib/verify.h: Revamp so that this can be copied into assert.h,
17273         while retaining the ability to use it standalone as before.
17274         Rename private identifiers so as not to encroach on the
17275         standard C namespace, since this is now used by assert.h.
17276         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
17277         the old verify_true.
17278         (_GL_VERIFY_TRUE): New macro, with much of the contents of
17279         the old verify_true.  Use _GL_VERIFY_TYPE.
17280         (_GL_VERIFY): New macro, with much of the contents of the old verify.
17281         (static_assert): New macro, if _GL_STATIC_ASSERT_H
17282         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
17283         defined when this file is copied into the replacement assert.h.
17284         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
17285         and _Static_assert is not built in.
17286         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
17287         defined, and use the new macros mentioned above.
17288         * doc/posix-headers/assert.texi: Document this.
17289
17290 2011-05-05  Bruno Haible  <bruno@clisp.org>
17291
17292         fclose, fflush: Respect rules for use of AC_LIBOBJ.
17293         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
17294         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
17295         gl_REPLACE_FCLOSE here.
17296         * modules/fflush (Depends-on): Remove fclose.
17297         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
17298         combination with module 'fclose'.
17299
17300 2011-05-05  Bruno Haible  <bruno@clisp.org>
17301
17302         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
17303         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
17304         gl_FUNC_FFLUSH.
17305         (gl_FUNC_FFLUSH): Use it.
17306         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
17307         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
17308         gl_REPLACE_FSEEKO here.
17309
17310 2011-05-05  Bruno Haible  <bruno@clisp.org>
17311
17312         tzset: Relicense under LGPL.
17313         * modules/tzset (License): Change to LGPL.
17314         No agreement needed; it's a no-op.
17315
17316         strtoimax, strtoumax: Relicense under LGPL.
17317         * modules/strtoimax (License): Change to LGPL.
17318         * modules/strtoumax (License): Likewise.
17319         With permission from Jim Meyering, Paul Eggert:
17320         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
17321         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
17322
17323         getgroups: Relicense under LGPL.
17324         * modules/getgroups (License): Change to LGPL.
17325         With permission from Jim Meyering, Paul Eggert, Eric Blake:
17326         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
17327         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
17328         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17329
17330         nanosleep: Relicense under LGPL.
17331         * modules/nanosleep (License): Change to LGPL.
17332         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
17333         Haible:
17334         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
17335         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
17336         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17337         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
17338
17339         futimens: Relicense under LGPL.
17340         * modules/futimens (License): Change to LGPL.
17341         With permission from Eric Blake:
17342         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17343
17344         fflush: Relicense under LGPL.
17345         * modules/fflush (License): Change to LGPL.
17346         With permission from Eric Blake, Bruno Haible, Jim Meyering:
17347         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17348         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
17349         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
17350
17351         tmpfile: Relicense under LGPL.
17352         * modules/tmpfile (License): Change to LGPL.
17353         With permission from Ben Pfaff:
17354         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
17355
17356         isfinite: Relicense under LGPL.
17357         * modules/isfinite (License): Change to LGPL.
17358         With permission from Ben Pfaff, Bruno Haible:
17359         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
17360         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
17361
17362         acosl..tanl: Relicense under LGPL.
17363         * modules/acosl (License): Change to LGPL.
17364         * modules/asinl (License): Likewise.
17365         * modules/atanl (License): Likewise.
17366         * modules/cosl (License): Likewise.
17367         * modules/expl (License): Likewise.
17368         * modules/logl (License): Likewise.
17369         * modules/sinl (License): Likewise.
17370         * modules/sqrtl (License): Likewise.
17371         * modules/tanl (License): Likewise.
17372         Source code originally from glibc and Paolo Bonzini. Agreements:
17373         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
17374         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
17375
17376 2011-05-05  Bruno Haible  <bruno@clisp.org>
17377
17378         signal: Define sighandler_t.
17379         * lib/signal.in.h (sighandler_t): New type.
17380         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
17381         whether sighandler_t is defined.
17382         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
17383         * modules/signal (Depends-on): Add extensions.
17384         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
17385         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
17386         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
17387
17388 2011-05-05  Eric Blake  <eblake@redhat.com>
17389
17390         maint: remove useless REPLACE_*_H macros
17391         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
17392         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
17393         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
17394         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
17395         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
17396         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
17397         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
17398         * m4/btowc.m4: Update callers.
17399         * m4/dirfd.m4: Likewise.
17400         * m4/duplocale.m4: Likewise.
17401         * m4/fchdir.m4: Likewise.
17402         * m4/fdopendir.m4: Likewise.
17403         * m4/inet_ntop.m4: Likewise.
17404         * m4/inet_pton.m4: Likewise.
17405         * m4/ioctl.m4: Likewise.
17406         * m4/mbrlen.m4: Likewise.
17407         * m4/mbrtowc.m4: Likewise.
17408         * m4/mbsinit.m4: Likewise.
17409         * m4/mbsnrtowcs.m4: Likewise.
17410         * m4/mbsrtowcs.m4: Likewise.
17411         * m4/poll.m4: Likewise.
17412         * m4/setlocale.m4: Likewise.
17413         * m4/wcrtomb.m4: Likewise.
17414         * m4/wcsnrtombs.m4: Likewise.
17415         * m4/wcsrtombs.m4: Likewise.
17416         * m4/wctob.m4: Likewise.
17417         * m4/wcwidth.m4: Likewise.
17418         * modules/posix_spawn: Likewise.
17419         * modules/posix_spawn_file_actions_addclose: Likewise.
17420         * modules/posix_spawn_file_actions_adddup2: Likewise.
17421         * modules/posix_spawn_file_actions_addopen: Likewise.
17422         * modules/posix_spawn_file_actions_destroy: Likewise.
17423         * modules/posix_spawn_file_actions_init: Likewise.
17424         * modules/posix_spawnattr_destroy: Likewise.
17425         * modules/posix_spawnattr_getflags: Likewise.
17426         * modules/posix_spawnattr_getpgroup: Likewise.
17427         * modules/posix_spawnattr_getschedparam: Likewise.
17428         * modules/posix_spawnattr_getschedpolicy: Likewise.
17429         * modules/posix_spawnattr_getsigdefault: Likewise.
17430         * modules/posix_spawnattr_getsigmask: Likewise.
17431         * modules/posix_spawnattr_init: Likewise.
17432         * modules/posix_spawnattr_setflags: Likewise.
17433         * modules/posix_spawnattr_setpgroup: Likewise.
17434         * modules/posix_spawnattr_setschedparam: Likewise.
17435         * modules/posix_spawnattr_setschedpolicy: Likewise.
17436         * modules/posix_spawnattr_setsigdefault: Likewise.
17437         * modules/posix_spawnattr_setsigmask: Likewise.
17438         * modules/posix_spawnp: Likewise.
17439
17440 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
17441
17442         Add option to do-release-commit-and-tag to specify branch.
17443         * build-aux/do-release-commit-and-tag: Add --branch.
17444
17445 2011-05-03  Bruno Haible  <bruno@clisp.org>
17446
17447         Avoid unnecessary compilation units, through conditional dependencies.
17448         * modules/accept (Depends-on): Add conditions to the dependencies.
17449         * modules/acosl (Depends-on): Likewise.
17450         * modules/argz (Depends-on): Likewise.
17451         * modules/asinl (Depends-on): Likewise.
17452         * modules/atanl (Depends-on): Likewise.
17453         * modules/atoll (Depends-on): Likewise.
17454         * modules/bind (Depends-on): Likewise.
17455         * modules/btowc (Depends-on): Likewise.
17456         * modules/canonicalize-lgpl (Depends-on): Likewise.
17457         * modules/ceil (Depends-on): Likewise.
17458         * modules/ceilf (Depends-on): Likewise.
17459         * modules/ceill (Depends-on): Likewise.
17460         * modules/chdir-long (Depends-on): Likewise.
17461         * modules/chown (Depends-on): Likewise.
17462         * modules/close (Depends-on): Likewise.
17463         * modules/connect (Depends-on): Likewise.
17464         * modules/cosl (Depends-on): Likewise.
17465         * modules/dirfd (Depends-on): Likewise.
17466         * modules/dprintf (Depends-on): Likewise.
17467         * modules/dprintf-posix (Depends-on): Likewise.
17468         * modules/error (Depends-on): Likewise.
17469         * modules/euidaccess (Depends-on): Likewise.
17470         * modules/expl (Depends-on): Likewise.
17471         * modules/faccessat (Depends-on): Likewise.
17472         * modules/fchdir (Depends-on): Likewise.
17473         * modules/fclose (Depends-on): Likewise.
17474         * modules/fcntl (Depends-on): Likewise.
17475         * modules/fdopendir (Depends-on): Likewise.
17476         * modules/fflush (Depends-on): Likewise.
17477         * modules/floor (Depends-on): Likewise.
17478         * modules/floorf (Depends-on): Likewise.
17479         * modules/floorl (Depends-on): Likewise.
17480         * modules/fnmatch (Depends-on): Likewise.
17481         * modules/fopen (Depends-on): Likewise.
17482         * modules/fprintf-posix (Depends-on): Likewise.
17483         * modules/frexp (Depends-on): Likewise.
17484         * modules/frexp-nolibm (Depends-on): Likewise.
17485         * modules/frexpl (Depends-on): Likewise.
17486         * modules/frexpl-nolibm (Depends-on): Likewise.
17487         * modules/fseek (Depends-on): Likewise.
17488         * modules/fsusage (Depends-on): Likewise.
17489         * modules/ftell (Depends-on): Likewise.
17490         * modules/ftello (Depends-on): Likewise.
17491         * modules/futimens (Depends-on): Likewise.
17492         * modules/getcwd (Depends-on): Likewise.
17493         * modules/getcwd-lgpl (Depends-on): Likewise.
17494         * modules/getdelim (Depends-on): Likewise.
17495         * modules/getdomainname (Depends-on): Likewise.
17496         * modules/getgroups (Depends-on): Likewise.
17497         * modules/gethostname (Depends-on): Likewise.
17498         * modules/getline (Depends-on): Likewise.
17499         * modules/getlogin_r (Depends-on): Likewise.
17500         * modules/getopt-posix (Depends-on): Likewise.
17501         * modules/getpeername (Depends-on): Likewise.
17502         * modules/getsockname (Depends-on): Likewise.
17503         * modules/getsockopt (Depends-on): Likewise.
17504         * modules/getsubopt (Depends-on): Likewise.
17505         * modules/getusershell (Depends-on): Likewise.
17506         * modules/glob (Depends-on): Likewise.
17507         * modules/grantpt (Depends-on): Likewise.
17508         * modules/iconv_open (Depends-on): Likewise.
17509         * modules/iconv_open-utf (Depends-on): Likewise.
17510         * modules/inet_ntop (Depends-on): Likewise.
17511         * modules/inet_pton (Depends-on): Likewise.
17512         * modules/ioctl (Depends-on): Likewise.
17513         * modules/isapipe (Depends-on): Likewise.
17514         * modules/isfinite (Depends-on): Likewise.
17515         * modules/isinf (Depends-on): Likewise.
17516         * modules/lchown (Depends-on): Likewise.
17517         * modules/ldexpl (Depends-on): Likewise.
17518         * modules/link (Depends-on): Likewise.
17519         * modules/linkat (Depends-on): Likewise.
17520         * modules/listen (Depends-on): Likewise.
17521         * modules/logl (Depends-on): Likewise.
17522         * modules/lstat (Depends-on): Likewise.
17523         * modules/mbrlen (Depends-on): Likewise.
17524         * modules/mbrtowc (Depends-on): Likewise.
17525         * modules/mbsinit (Depends-on): Likewise.
17526         * modules/mbsnrtowcs (Depends-on): Likewise.
17527         * modules/mbsrtowcs (Depends-on): Likewise.
17528         * modules/mbtowc (Depends-on): Likewise.
17529         * modules/memcmp (Depends-on): Likewise.
17530         * modules/mkdir (Depends-on): Likewise.
17531         * modules/mkdtemp (Depends-on): Likewise.
17532         * modules/mkfifo (Depends-on): Likewise.
17533         * modules/mkfifoat (Depends-on): Likewise.
17534         * modules/mknod (Depends-on): Likewise.
17535         * modules/mkostemp (Depends-on): Likewise.
17536         * modules/mkostemps (Depends-on): Likewise.
17537         * modules/mkstemp (Depends-on): Likewise.
17538         * modules/mkstemps (Depends-on): Likewise.
17539         * modules/mktime (Depends-on): Likewise.
17540         * modules/nanosleep (Depends-on): Likewise.
17541         * modules/open (Depends-on): Likewise.
17542         * modules/openat (Depends-on): Likewise.
17543         * modules/perror (Depends-on): Likewise.
17544         * modules/poll (Depends-on): Likewise.
17545         * modules/popen (Depends-on): Likewise.
17546         * modules/posix_spawn (Depends-on): Likewise.
17547         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
17548         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
17549         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
17550         * modules/posix_spawnp (Depends-on): Likewise.
17551         * modules/pread (Depends-on): Likewise.
17552         * modules/printf-posix (Depends-on): Likewise.
17553         * modules/ptsname (Depends-on): Likewise.
17554         * modules/putenv (Depends-on): Likewise.
17555         * modules/pwrite (Depends-on): Likewise.
17556         * modules/readline (Depends-on): Likewise.
17557         * modules/readlink (Depends-on): Likewise.
17558         * modules/readlinkat (Depends-on): Likewise.
17559         * modules/recv (Depends-on): Likewise.
17560         * modules/recvfrom (Depends-on): Likewise.
17561         * modules/regex (Depends-on): Likewise.
17562         * modules/remove (Depends-on): Likewise.
17563         * modules/rename (Depends-on): Likewise.
17564         * modules/renameat (Depends-on): Likewise.
17565         * modules/rmdir (Depends-on): Likewise.
17566         * modules/round (Depends-on): Likewise.
17567         * modules/roundf (Depends-on): Likewise.
17568         * modules/roundl (Depends-on): Likewise.
17569         * modules/rpmatch (Depends-on): Likewise.
17570         * modules/select (Depends-on): Likewise.
17571         * modules/send (Depends-on): Likewise.
17572         * modules/sendto (Depends-on): Likewise.
17573         * modules/setenv (Depends-on): Likewise.
17574         * modules/setlocale (Depends-on): Likewise.
17575         * modules/setsockopt (Depends-on): Likewise.
17576         * modules/shutdown (Depends-on): Likewise.
17577         * modules/sigaction (Depends-on): Likewise.
17578         * modules/signbit (Depends-on): Likewise.
17579         * modules/sigprocmask (Depends-on): Likewise.
17580         * modules/sinl (Depends-on): Likewise.
17581         * modules/sleep (Depends-on): Likewise.
17582         * modules/snprintf (Depends-on): Likewise.
17583         * modules/snprintf-posix (Depends-on): Likewise.
17584         * modules/socket (Depends-on): Likewise.
17585         * modules/sprintf-posix (Depends-on): Likewise.
17586         * modules/sqrtl (Depends-on): Likewise.
17587         * modules/stat (Depends-on): Likewise.
17588         * modules/strchrnul (Depends-on): Likewise.
17589         * modules/strdup-posix (Depends-on): Likewise.
17590         * modules/strerror (Depends-on): Likewise.
17591         * modules/strerror_r-posix (Depends-on): Likewise.
17592         * modules/strndup (Depends-on): Likewise.
17593         * modules/strnlen (Depends-on): Likewise.
17594         * modules/strptime (Depends-on): Likewise.
17595         * modules/strsep (Depends-on): Likewise.
17596         * modules/strsignal (Depends-on): Likewise.
17597         * modules/strstr-simple (Depends-on): Likewise.
17598         * modules/strtod (Depends-on): Likewise.
17599         * modules/strtoimax (Depends-on): Likewise.
17600         * modules/strtok_r (Depends-on): Likewise.
17601         * modules/strtoumax (Depends-on): Likewise.
17602         * modules/symlink (Depends-on): Likewise.
17603         * modules/symlinkat (Depends-on): Likewise.
17604         * modules/tanl (Depends-on): Likewise.
17605         * modules/tcgetsid (Depends-on): Likewise.
17606         * modules/tmpfile (Depends-on): Likewise.
17607         * modules/trunc (Depends-on): Likewise.
17608         * modules/truncf (Depends-on): Likewise.
17609         * modules/truncl (Depends-on): Likewise.
17610         * modules/uname (Depends-on): Likewise.
17611         * modules/unlink (Depends-on): Likewise.
17612         * modules/unlockpt (Depends-on): Likewise.
17613         * modules/unsetenv (Depends-on): Likewise.
17614         * modules/usleep (Depends-on): Likewise.
17615         * modules/utimensat (Depends-on): Likewise.
17616         * modules/vasprintf (Depends-on): Likewise.
17617         * modules/vdprintf (Depends-on): Likewise.
17618         * modules/vdprintf-posix (Depends-on): Likewise.
17619         * modules/vfprintf-posix (Depends-on): Likewise.
17620         * modules/vprintf-posix (Depends-on): Likewise.
17621         * modules/vsnprintf (Depends-on): Likewise.
17622         * modules/vsnprintf-posix (Depends-on): Likewise.
17623         * modules/vsprintf-posix (Depends-on): Likewise.
17624         * modules/wcrtomb (Depends-on): Likewise.
17625         * modules/wcscasecmp (Depends-on): Likewise.
17626         * modules/wcscspn (Depends-on): Likewise.
17627         * modules/wcsdup (Depends-on): Likewise.
17628         * modules/wcsncasecmp (Depends-on): Likewise.
17629         * modules/wcsnrtombs (Depends-on): Likewise.
17630         * modules/wcspbrk (Depends-on): Likewise.
17631         * modules/wcsrtombs (Depends-on): Likewise.
17632         * modules/wcsspn (Depends-on): Likewise.
17633         * modules/wcsstr (Depends-on): Likewise.
17634         * modules/wcstok (Depends-on): Likewise.
17635         * modules/wcswidth (Depends-on): Likewise.
17636         * modules/wctob (Depends-on): Likewise.
17637         * modules/wctomb (Depends-on): Likewise.
17638         * modules/wctype (Depends-on): Likewise.
17639         * modules/wcwidth (Depends-on): Likewise.
17640         * modules/write (Depends-on): Likewise.
17641
17642 2011-05-03  Bruno Haible  <bruno@clisp.org>
17643
17644         Support for conditional dependencies.
17645         * doc/gnulib.texi (Module description): Document the syntax of
17646         conditional dependencies.
17647         * gnulib-tool: New option --conditional-dependencies.
17648         (func_usage): Document it.
17649         (cond_dependencies): New variable.
17650         (func_get_automake_snippet_conditional,
17651         func_get_automake_snippet_unconditional): New functions, extracted from
17652         func_get_automake_snippet.
17653         (func_get_automake_snippet): Use them.
17654         (sed_first_32_chars): New variable.
17655         (func_module_shellfunc_name): New function.
17656         (func_module_shellvar_name): New function.
17657         (func_module_conditional_name): New function.
17658         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
17659         func_cond_module_condition): New functions.
17660         (func_modules_transitive_closure): Add support for conditional
17661         dependencies.
17662         (func_emit_lib_Makefile_am): For a conditional module, enclose the
17663         conditional automake snippet in an automake conditional.
17664         (func_emit_autoconf_snippets): Emit shell functions that contain the
17665         code for conditional modules.
17666         (func_import, func_create_testdir): Update specification.
17667
17668 2011-05-03  Eric Blake  <eblake@redhat.com>
17669
17670         test-getaddrinfo: report error information
17671         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
17672
17673 2011-05-03  Jim Meyering  <meyering@redhat.com>
17674
17675         bootstrap: avoid build failure when $GZIP is set
17676         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
17677         program name.  If defined at all, it is supposed to list gzip options.
17678         Reported by Alan Curry in http://debbugs.gnu.org/8609
17679
17680 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
17681
17682         readme-release: new module with release instructions
17683         * modules/readme-release: New module.
17684         * top/README-release: New file, from coreutils, grep, diffutils.
17685         * MODULES.html.sh (Support for maintaining and releasing): Add it.
17686
17687 2011-05-02  Eric Blake  <eblake@redhat.com>
17688
17689         fflush: also replace fclose when fixing fflush
17690         * modules/fflush (Depends-on): Add fclose.
17691         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
17692         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
17693         memstreams with no backing fd.
17694         * doc/posix-functions/fclose.texi (fclose): Document the use of
17695         fflush module to fix the bug.
17696         * tests/test-fclose.c (main): Relax test when fclose is used in
17697         isolation.
17698
17699         fclose: add some tests
17700         * modules/fclose-tests: New test module.
17701         * tests/test-fclose.c: New file.
17702         * doc/posix-functions/fclose.texi (fclose): Document the bug.
17703
17704         fclose: reduced dependencies
17705         * modules/fclose (Depends-on): Switch from fflush/fseeko to
17706         simpler lseek.
17707         * lib/fclose.c (rpl_fclose): Likewise.
17708         Reported by Simon Josefsson.
17709
17710         exit: drop remaining clients
17711         * modules/argmatch (Depends-on): Replace exit with stdlib.
17712         * modules/copy-file (Depends-on): Likewise.
17713         * modules/execute (Depends-on): Likewise.
17714         * modules/exitfail (Depends-on): Likewise.
17715         * modules/obstack (Depends-on): Likewise.
17716         * modules/pagealign_alloc (Depends-on): Likewise.
17717         * modules/pipe-filter-gi (Depends-on): Likewise.
17718         * modules/pipe-filter-ii (Depends-on): Likewise.
17719         * modules/savewd (Depends-on): Likewise.
17720         * modules/spawn-pipe (Depends-on): Likewise.
17721         * modules/wait-process (Depends-on): Likewise.
17722         * modules/xsetenv (Depends-on): Likewise.
17723         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
17724         * modules/git-merge-changelog (Depends-on): Likewise.
17725         * modules/long-options (Depends-on): Likewise.
17726         * modules/pt_chown (Depends-on): Likewise.
17727         * modules/sysexits (Depends-on): Likewise.
17728
17729         freading: relax license from LGPLv3+ to LGPLv2+
17730         * modules/freading (License): Relax LGPL version.
17731
17732 2011-05-02  Bruno Haible  <bruno@clisp.org>
17733
17734         fchdir: Remove unused dependencies.
17735         * modules/fchdir (Depends-on): Remove include_next.
17736
17737 2011-05-02  Bruno Haible  <bruno@clisp.org>
17738
17739         gnulib-tool: Refactor.
17740         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
17741         from func_emit_autoconf_snippets.
17742         (func_emit_autoconf_snippets): Use it.
17743
17744 2011-05-02  Simon Josefsson  <simon@josefsson.org>
17745
17746         * NEWS: Document removal of 'exit'.
17747         * modules/exit: Remove file.
17748
17749 2011-05-01  Bruno Haible  <bruno@clisp.org>
17750
17751         Update DEPENDENCIES.
17752         * DEPENDENCIES (gettext): Recommend the newest release.
17753         Reported by Simon Josefsson.
17754
17755 2011-05-01  Bruno Haible  <bruno@clisp.org>
17756
17757         gnulib-tool: Reduce code duplication.
17758         * gnulib-tool (func_emit_autoconf_snippets): New function.
17759         (func_import, func_create_testdir): Use it.
17760
17761 2011-04-30  Eric Blake  <eblake@redhat.com>
17762
17763         fclose: don't fail on non-seekable input stream
17764         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
17765         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
17766         since fflush is allowed to fail in that case.
17767
17768 2011-04-30  Bruno Haible  <bruno@clisp.org>
17769
17770         dup3: cleanup
17771         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
17772
17773 2011-04-30  Bruno Haible  <bruno@clisp.org>
17774
17775         netdb: Make it work in C++ mode.
17776         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
17777         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
17778         module.
17779         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
17780         gl_MODULE_INDICATOR_FOR_TESTS.
17781         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
17782         * modules/netdb-c++-tests: New file.
17783         * tests/test-netdb-c++.cc: New file.
17784
17785 2011-04-30  Bruno Haible  <bruno@clisp.org>
17786
17787         New modules 'vfscanf', 'vscanf'.
17788         * modules/vfscanf: New file.
17789         * modules/vscanf: New file.
17790         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
17791         here.
17792         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
17793         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
17794
17795 2011-04-30  Bruno Haible  <bruno@clisp.org>
17796
17797         passfd: Add comments.
17798         * lib/passfd.c: Add comments about platforms.
17799
17800 2011-04-30  Bruno Haible  <bruno@clisp.org>
17801
17802         sys_uio: Make <sys/uio.h> self-contained.
17803         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
17804         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
17805
17806 2011-04-30  Bruno Haible  <bruno@clisp.org>
17807
17808         sys_socket: Ensure 'struct iovec' definition.
17809         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
17810         <sys/socket.h>.
17811         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
17812
17813 2011-04-30  Bruno Haible  <bruno@clisp.org>
17814
17815         sys_uio: Protect definition of 'struct iovec'.
17816         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
17817         it as a C struct.
17818
17819 2011-04-30  Bruno Haible  <bruno@clisp.org>
17820
17821         manywarnings: fix indentation
17822         * m4/manywarnings.m4: Indent by 2 spaces consistently.
17823
17824 2011-04-30  Pádraig Brady <P@draigBrady.com>
17825
17826         manywarnings: add -Wno-missing-field-initializers if needed.
17827         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
17828         option if it's needed to allow initialization with { 0, }
17829
17830 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
17831
17832         announce-gen: cosmetic improvement
17833         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
17834
17835 2011-04-29  Jim Meyering  <meyering@redhat.com>
17836
17837         vc-list-files: indent with spaces, not TABs
17838         * build-aux/vc-list-files: Convert leading TABs to spaces,
17839         to match the style of most other files in gnulib.
17840
17841         announce-gen: indent with spaces, not TABs
17842         * build-aux/announce-gen: Convert all TABs to spaces, to match
17843         the style of most other files in gnulib.
17844
17845 2011-04-29  Eric Blake  <eblake@redhat.com>
17846
17847         quotearg: avoid uninitialized variable use
17848         * lib/quotearg.c (quoting_options_from_style): Initialize
17849         remaining fields, and ensure that custom styles are only used via
17850         quoting_options rather than quoting_style.
17851
17852 2011-04-29  Jim Meyering  <meyering@redhat.com>
17853
17854         maint.mk: remove unused VC-tag variable
17855         * top/maint.mk (VC-tag): Remove unused variable.
17856
17857 2011-04-29  Bruno Haible  <bruno@clisp.org>
17858
17859         netdb: fix gai_strerror replacements
17860         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
17861         * modules/netdb: Substitute it.
17862
17863 2011-04-29  Jim Meyering  <meyering@redhat.com>
17864
17865         test-getcwd.c: avoid new set-but-not-used warning
17866         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
17867         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
17868         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
17869         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
17870
17871         test-hash.c: avoid a new shadowing warning
17872         * tests/test-hash.c (main): Don't shadow "dup".
17873
17874 2011-04-28  Eric Blake  <eblake@redhat.com>
17875
17876         getaddrinfo: fix gai_strerror signature
17877         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
17878         and work around mingw with UNICODE defined.
17879         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
17880         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
17881         * modules/netdb (Makefile.am): Substitute it.
17882         * lib/netdb.in.h (gai_strerror): Declare replacement.
17883         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
17884         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
17885         the fix.
17886
17887         getsockopt: avoid compiler warning
17888         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
17889         Reported by Matthias Bolte.
17890
17891         tests: drop unused link dependency
17892         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
17893         * modules/dirent-safer-tests (Makefile.am): Likewise.
17894         * modules/fdopendir-tests (Makefile.am): Likewise.
17895         * modules/mkfifoat-tests (Makefile.am): Likewise.
17896         * modules/openat-safer-tests (Makefile.am): Likewise.
17897         * modules/openat-tests (Makefile.am): Likewise.
17898         * modules/readlinkat-tests (Makefile.am): Likewise.
17899         * modules/symlinkat-tests (Makefile.am): Likewise.
17900         * modules/linkat-tests (Makefile.am): Likewise.
17901         (Depends-on): Switch to filenamecat-lgpl.
17902         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
17903         LIBINTL.
17904         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
17905         * tests/test-linkat.c (main): Don't require xalloc.
17906
17907         hash, mgetgroups: drop xalloc dependency
17908         * lib/hash.c (includes): Adjust includes.
17909         * lib/mgetgroups.c (includes): Likewise.
17910         (xgetgroups): Move...
17911         * lib/xgetgroups.c: ...to new file.
17912         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
17913         * modules/xgetgroups: New file, split from...
17914         * modules/mgetgroups: ...here.
17915         (Depends-on): Add xalloc-oversized.
17916         * modules/hash (Depends-on): Likewise.
17917         * modules/hash-tests (Depends-on): Drop xalloc.
17918         (test_hash_LDADD): Drop unused library.
17919         * tests/test-hash.c (main): Break xalloc dependency.
17920         (includes): Drop unused include.
17921
17922         xalloc-oversized: new module
17923         * modules/xalloc-oversized: New module.
17924         * modules/xalloc (Depends-on): Add it.
17925         * lib/xalloc.h (xalloc_oversized): Move...
17926         * lib/xalloc-oversized.h: ...into new file.
17927
17928         utimecmp: drop dependency on xmalloc
17929         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
17930         due to memory pressure.
17931         * modules/utimecmp (Depends-on): Drop xalloc.
17932
17933 2011-04-27  Eric Blake  <eblake@redhat.com>
17934
17935         getcwd: fix mingw bugs
17936         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
17937         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
17938         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
17939
17940 2011-04-27  Bruno Haible  <bruno@clisp.org>
17941
17942         mkstemps: Ensure declaration on MacOS X 10.5.
17943         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
17944         * doc/glibc-functions/mkstemps.texi: Document header file problem on
17945         MacOS X.
17946
17947 2011-04-27  Bruno Haible  <bruno@clisp.org>
17948
17949         mkstemp: More documentation.
17950         * doc/posix-functions/mkstemp.texi: Document header file problem on
17951         MacOS X.
17952
17953 2011-04-27  Bruno Haible  <bruno@clisp.org>
17954
17955         mkstemp: Tweak configure message when cross-compiling.
17956         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
17957         result as a guess.
17958
17959 2011-04-27  Bruno Haible  <bruno@clisp.org>
17960
17961         clean-temp: Clarify what it does.
17962         * lib/clean-temp.h: Add more comments.
17963         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
17964         module.
17965         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
17966         * doc/glibc-functions/mkstemps.texi: Likewise.
17967         * doc/glibc-functions/mkostemps.texi: Likewise.
17968
17969 2011-04-27  Eric Blake  <eblake@redhat.com>
17970
17971         fchdir: avoid extra chdir and fix test
17972         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
17973         getcwd-lgpl.
17974         * lib/fchdir.c (get_name): Any absolute name will do; it does not
17975         have to be canonical.
17976         (canonicalize_file_name): Drop unused macro.
17977         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
17978
17979         filenamecat-lgpl: fix licence
17980         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
17981         when it was first created.
17982
17983         linkat, renameat: add missing dependency
17984         * modules/linkat (Depends-on): Require getcwd-lgpl.
17985         * modules/renameat (Depends-on): Likewise.
17986
17987         tests: reduce dependencies
17988         * tests/test-linkat.c (main): Use lighter-weight getcwd.
17989         * tests/test-renameat.c (main): Likewise.
17990         * modules/linkat-tests (Depends-on): Relax dependency.
17991         * modules/renameat-tests (Depends-on): Likewise.
17992         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
17993         dependency explicit.
17994
17995         save-cwd: reduce default dependency
17996         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
17997         * lib/save-cwd.c: Update comments.
17998         * NEWS: Document the semantic change.
17999
18000         getcwd: enhance tests
18001         * tests/test-getcwd-lgpl.c: New file, taken from...
18002         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
18003         repeat long path stress tests from m4 probe.
18004         * modules/getcwd-lgpl-tests: New module.
18005         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
18006         * m4/getcwd-abort-bug.m4: Update comment.
18007         * m4/getcwd-path-max.m4: Likewise.
18008
18009         getcwd-lgpl: new module
18010         * modules/getcwd-lgpl: New module.
18011         * lib/getcwd-lgpl.c: New file.
18012         * doc/posix-functions/getcwd.texi (getcwd): Document it.
18013         * MODULES.html.sh (lacking POSIX:2008): Likewise.
18014         * modules/getcwd (configure.ac): Set C witness.
18015         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
18016
18017         getcwd: tweak comments
18018         * m4/getcwd-abort-bug.m4: Fix comments.
18019         * m4/getcwd-path-max.m4: Likewise.
18020         * m4/getcwd.m4: Likewise.
18021
18022 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
18023         and Eric Blake  <eblake@redhat.com>
18024
18025         mkstemp: replace if system version uses wrong permissions
18026         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
18027         read/write mode bits set in file created by mkstemp.
18028         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
18029
18030 2011-04-27  Eric Blake  <eblake@redhat.com>
18031
18032         passfd: avoid compiler warning
18033         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
18034         Reported by Laine Stump.
18035
18036 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
18037
18038         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
18039         required by the NetBSD (and perhaps other 4.4BSD derived) join.
18040
18041 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
18042         and Eric Blake  <eblake@redhat.com>
18043
18044         mkstemp: mention clean-temp module
18045         * lib/mkstemp.c: Add comment.
18046         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
18047
18048 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
18049
18050         inttypes: also provide default values for 32-bit tests
18051         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
18052         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
18053
18054 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
18055
18056         strtoumax: remove dependency on strtoimax
18057         This is like the strtoull change of yesterday.
18058         * modules/strtoumax (Files): Add lib/strtoimax.c.
18059         (Depends-on): Remove strtoimax and add verify.
18060
18061         inttypes-incomplete: new module
18062         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
18063         all but the PRI* and SCN* parts of gl_INTTYPES_H.
18064         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
18065         of gl_INTTYPES_H.
18066         (gl_INTTYPES_H): Rewrite in terms of these new macros.
18067         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
18068         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
18069         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
18070         * modules/strtoumax, modules/xstrtol (Depends-on):
18071         Depend on inttypes-incomplete, not inttypes.
18072         * modules/inttypes-incomplete: New module, containing the contents
18073         of the old modules/inttypes module, except that the Files: section
18074         omits m4/inttypes-pri.m4, and the configure.ac section invokes
18075         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
18076         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
18077         (Depends-on): Depend only on inttypes-incomplete.
18078         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
18079
18080         inttypes: omit now-redundant strtoimax and strtoumax work
18081         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
18082         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
18083
18084         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
18085         This supports apps that need pointers to strtoimax and strtoumax,
18086         and ports to HP-UX 11.00 64.bit, which has macros that expand to
18087         nonexistent functions.  See
18088         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
18089         et seq.
18090         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
18091         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
18092         a macro.
18093         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18094
18095 2011-04-25  Simon Josefsson  <simon@josefsson.org>
18096
18097         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
18098
18099 2011-04-25  Bruno Haible  <bruno@clisp.org>
18100
18101         strtol, strtoul: Mark modules as obsolete.
18102         * modules/strtol (Status, Notice): New sections.
18103         * modules/strtoul (Status, Notice): New sections.
18104
18105 2011-04-25  Bruno Haible  <bruno@clisp.org>
18106
18107         strtod: Remove check for strtod, unless supporting old platforms.
18108         * modules/strtod-obsolete: New file.
18109         * m4/strtod-obsolete.m4: New file.
18110         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
18111         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
18112         * modules/strtod (Depends-on): Add strtod-obsolete.
18113         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
18114
18115 2011-04-25  Bruno Haible  <bruno@clisp.org>
18116
18117         strcase: Make module obsolete.
18118         * modules/strcase (Status, Notice): New sections.
18119
18120 2011-04-25  Bruno Haible  <bruno@clisp.org>
18121
18122         dup2: Remove check for dup2, unless supporting old obsolete platforms.
18123         * modules/dup2-obsolete: New file.
18124         * m4/dup2-obsolete.m4: New file.
18125         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
18126         gl_FUNC_DUP2_OBSOLETE is not also defined.
18127         * modules/dup2 (Depends-on): Add dup2-obsolete.
18128         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
18129
18130 2011-04-25  Bruno Haible  <bruno@clisp.org>
18131
18132         strnlen: Avoid memchr related link error on old obsolete platforms.
18133         * modules/memchr-obsolete: New file.
18134         * m4/memchr-obsolete.m4: New file.
18135         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
18136         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
18137         * modules/memchr (Depends-on): Add memchr-obsolete.
18138         * modules/strnlen (Depends-on): Likewise.
18139         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
18140
18141 2011-04-25  Jim Meyering  <meyering@redhat.com>
18142
18143         maint.mk: makefile_at_at_check extend and clean up
18144         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
18145         in addition to */Makefile.am.
18146         Exempt legitimate uses of @VAR@ notation, e.g.,
18147         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
18148         Remove obsolete coreutils-specific comment.
18149         Prompted by discussion here:
18150         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
18151
18152 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
18153
18154         strtoul: remove dependency on strtol
18155         This is so that 'configure' need not check for strtol merely because
18156         the application needs strtoul.
18157         * modules/strtoul (Files): Add lib/strtol.c.
18158         (Depends-on): Remove strtol.
18159
18160         strtoull: remove dependency on strtoul
18161         This is like the strtoll change.
18162         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
18163         (Depends-on): Remove strtoul.
18164
18165         strtoll: remove dependency on strtol
18166         This is so that 'configure' need not check for strtol merely because
18167         the application needs strtoll.
18168         * modules/strtoll (Files): Add lib/strtol.c.
18169         (Depends-on): Remove strtol.
18170
18171 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18172
18173         inttypes: Move some configure check to module 'imaxdiv'.
18174         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
18175         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
18176         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
18177
18178 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18179
18180         inttypes: Move some configure check to module 'imaxabs'.
18181         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
18182         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
18183         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
18184
18185 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18186
18187         inttypes: Remove configure tests that are not needed since 2009-12-31.
18188         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
18189         gl_cv_header_working_inttypes_h.
18190
18191 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18192
18193         * modules/strnlen (Depends-on): Remove memchr.
18194         The strnlen implementation doesn't need the memchr module's fixes; see
18195         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
18196
18197         strtol: remove dependency on wchar
18198         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
18199         * modules/strtol (Depends-on): Remove wchar.
18200
18201 2011-04-21  Eric Blake  <eblake@redhat.com>
18202
18203         passfd: fix test regression on Linux
18204         * modules/passfd-tests (configure.ac): Correct socketpair check.
18205
18206         passfd: speed up configure and drop unused code
18207         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
18208         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
18209         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
18210         Instead of probing at configure for unix_scm_rights_bsd44_way,
18211         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
18212         check to a struct member probe.
18213         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
18214         (sendfd, recvfd): Update preprocessor checks.
18215         * modules/passfd (Files): Reflect rename, and drop unused file.
18216         (Depends-on): Drop unused dependency.
18217
18218         passfd: allow compilation on mingw
18219         * modules/sys_socket (Depends-on): Add sys_uio.
18220         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
18221         iovec and a minimal struct msghdr.
18222         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
18223         * tests/test-sys_socket.c (main): Enhance test.
18224         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
18225         guaranteed to provide what we need.
18226         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
18227         * modules/passfd-tests (Depends-on): Add sys_wait.
18228         * tests/test-passfd.c (main): Skip test on mingw, for now.
18229         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
18230         partial 'struct msghdr' implementation.
18231
18232         sys_uio: new module
18233         * modules/sys_uio: New module.
18234         * modules/sys_uio-tests: Likewise.
18235         * lib/sys_uio.in.h: New file.
18236         * m4/sys_uio_h.m4: Likewise.
18237         * tests/test-sys_uio.c: Likewise.
18238         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
18239         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
18240
18241 2011-04-20  Jim Meyering  <meyering@redhat.com>
18242
18243         useless-if-before-free: avoid false-positive
18244         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
18245         disjunct so that it too requires a terminating ";".  Without that,
18246         this script would identify as useless one statement from gcc that
18247         was not:
18248           if (aligned_ptr)
18249             free (((void **) aligned_ptr) [-1]);
18250
18251 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
18252
18253         doc: update users.txt.
18254         * users.txt: Add barcode.
18255
18256 2011-04-19  Bruno Haible  <bruno@clisp.org>
18257
18258         ioctl: Remove link dependency on native Windows.
18259         * lib/fd-hook.h: Renamed from lib/close-hook.h.
18260         (gl_close_fn, gl_ioctl_fn): New types.
18261         (struct fd_hook): Renamed from struct close_hook. Change type of
18262         private_close_fn field. Add private_ioctl_fn field.
18263         (close_hook_fn): Add parameter for primary close method.
18264         (execute_close_hooks, execute_all_close_hooks): Likewise.
18265         (ioctl_hook_fn): New type.
18266         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
18267         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
18268         argument.
18269         (unregister_fd_hook): Renamed from unregister_close_hook.
18270         * lib/fd-hook.c: Renamed from lib/close-hook.c.
18271         Don't include <unistd.h>.
18272         (close): Remove undef.
18273         (anchor): Update.
18274         (execute_close_hooks): Add argument for primary close method.
18275         (execute_all_close_hooks): Likewise.
18276         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
18277         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
18278         argument. Allow each argument to be NULL.
18279         (unregister_fd_hook): Renamed from unregister_close_hook.
18280         * lib/close.c (rpl_close): Pass 'close' function pointer to
18281         execute_all_close_hooks.
18282         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
18283         (primary_ioctl): New function.
18284         (ioctl): Don't call ioctlsocket here. Instead, call
18285         execute_all_ioctl_hooks.
18286         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
18287         close method.
18288         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
18289         (fd_sockets_hook): Renamed from close_sockets_hook.
18290         (gl_sockets_startup, gl_sockets_cleanup): Update.
18291         * modules/fd-hook: Renamed from modules/close-hook. Update.
18292         * modules/close (Depends-on): Add fd-hook, remove close-hook.
18293         * modules/sockets (Depends-on): Likewise.
18294         * modules/ioctl (Depends-on): Add fd-hook.
18295         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
18296         GNULIB_SOCKET.
18297
18298 2011-04-19  Bruno Haible  <bruno@clisp.org>
18299
18300         Move the support of O_NONBLOCK in open() to the 'open' module.
18301         * modules/nonblocking (Depends-on): Remove 'open'.
18302         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
18303         gl_cv_have_open_O_NONBLOCK.
18304         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
18305         O_NONBLOCK support.
18306         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
18307
18308 2011-04-17  Bruno Haible  <bruno@clisp.org>
18309
18310         pipe2: Simplify code.
18311         * lib/pipe2.c (pipe2): Reduce code duplication.
18312
18313 2011-04-17  Bruno Haible  <bruno@clisp.org>
18314
18315         nonblocking: Add comment.
18316         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
18317
18318 2011-04-17  Bruno Haible  <bruno@clisp.org>
18319
18320         nonblocking: Add tests for sockets.
18321         * tests/test-nonblocking-socket.sh: New file.
18322         * tests/test-nonblocking-socket-main.c: New file.
18323         * tests/test-nonblocking-socket-child.c: New file.
18324         * tests/test-nonblocking-socket.h: New file.
18325         * tests/socket-server.h: New file.
18326         * tests/socket-client.h: New file.
18327         * modules/nonblocking-socket-tests: New file.
18328         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
18329
18330 2011-04-17  Bruno Haible  <bruno@clisp.org>
18331
18332         nonblocking: Add tests for pipes.
18333         * tests/test-nonblocking-pipe.sh: New file.
18334         * tests/test-nonblocking-pipe-main.c: New file.
18335         * tests/test-nonblocking-pipe-child.c: New file.
18336         * tests/test-nonblocking-pipe.h: New file.
18337         * tests/test-nonblocking-writer.h: New file.
18338         * tests/test-nonblocking-reader.h: New file.
18339         * tests/test-nonblocking-misc.h: New file.
18340         * modules/nonblocking-pipe-tests: New file.
18341         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
18342
18343 2011-04-16  Bruno Haible  <bruno@clisp.org>
18344
18345         gettext: Clarify the needed programmer actions.
18346         * modules/gettext (Notice): New field.
18347         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
18348
18349 2011-04-16  Bruno Haible  <bruno@clisp.org>
18350
18351         strchrnul: Tweak last commit.
18352         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
18353         bug.
18354         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
18355         as in _GL_FUNCDECL_SYS.
18356         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
18357         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
18358
18359 2011-04-15  Eric Blake  <eblake@redhat.com>
18360
18361         strchrnul: work around cygwin bug
18362         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
18363         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
18364         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
18365         * modules/string (Makefile.am): Substitute it.
18366         * lib/string.in.h (strchrnul): Use it.
18367
18368 2011-04-15  Bruno Haible  <bruno@clisp.org>
18369
18370         Don't require lib/stdio-write.c when only module 'stdio' is used.
18371         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
18372         invocation.
18373         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
18374
18375 2011-04-14  Bruno Haible  <bruno@clisp.org>
18376
18377         Support non-blocking pipe I/O in read() on native Windows.
18378         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
18379         (read): New declaration.
18380         * lib/read.c: New file.
18381         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
18382         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
18383         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
18384         vscanf): New declarations.
18385         * lib/stdio-read.c: New file.
18386         * m4/read.m4: New file.
18387         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
18388         REPLACE_READ.
18389         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
18390         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
18391         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
18392         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
18393         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
18394         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
18395         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
18396         * modules/read: New file.
18397         * modules/nonblocking (Files): Add lib/stdio-read.c.
18398         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
18399         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
18400         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
18401         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
18402         * modules/pread (Depends-on): Add read.
18403         * modules/safe-read (Depends-on): Likewise.
18404         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
18405         gets, scanf, vfscanf, vscanf): Verify signatures.
18406         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
18407         problem with non-blocking pipes.
18408         * doc/posix-functions/fgetc.texi: Likewise.
18409         * doc/posix-functions/fgets.texi: Likewise.
18410         * doc/posix-functions/fread.texi: Likewise.
18411         * doc/posix-functions/fscanf.texi: Likewise.
18412         * doc/posix-functions/getc.texi: Likewise.
18413         * doc/posix-functions/getchar.texi: Likewise.
18414         * doc/posix-functions/gets.texi: Likewise.
18415         * doc/posix-functions/scanf.texi: Likewise.
18416         * doc/posix-functions/vfscanf.texi: Likewise.
18417         * doc/posix-functions/vscanf.texi: Likewise.
18418
18419 2011-04-14  Bruno Haible  <bruno@clisp.org>
18420
18421         Support non-blocking pipe I/O in write() on native Windows.
18422         * lib/write.c (rpl_write): Split a write request that failed merely
18423         because the byte count was larger than the pipe buffer's size.
18424         * doc/posix-functions/write.texi: Mention the problem with large byte
18425         counts.
18426
18427 2011-04-14  Bruno Haible  <bruno@clisp.org>
18428
18429         wchar: Ensure that wchar_t gets defined on uClibc.
18430         * lib/wchar.in.h: On uClibc, include <stddef.h>.
18431         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
18432
18433 2011-04-13  Bruno Haible  <bruno@clisp.org>
18434
18435         safe-write, full-read: Avoid unnecessary compilation units.
18436         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
18437         (Depends-on): Remove safe-read. Add ssize_t.
18438         * modules/full-read (Files): Add lib/full-write.c.
18439         (Depends-on): Add full-write.
18440
18441 2011-04-13  Bruno Haible  <bruno@clisp.org>
18442
18443         Support non-blocking pipe I/O and SIGPIPE in pwrite().
18444         * modules/pwrite (Depends-on): Add 'write'.
18445
18446 2011-04-13  Bruno Haible  <bruno@clisp.org>
18447
18448         Support non-blocking pipe I/O in write() on native Windows.
18449         * lib/unistd.in.h (write): Enable replacement also if
18450         GNULIB_UNISTD_H_NONBLOCKING is 1.
18451         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
18452         (rpl_write): When failing to write on a non-blocking pipe, change
18453         errno from ENOSPC to EAGAIN.
18454         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
18455         putchar, puts, vfprintf, vprintf): Enable replacement also if
18456         GNULIB_STDIO_H_NONBLOCKING is 1.
18457         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
18458         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
18459         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
18460         CALL_WITH_SIGPIPE_EMULATION.
18461         (CALL_WITH_SIGPIPE_EMULATION): Use them.
18462         * m4/nonblocking.m4: New file.
18463         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
18464         for non-blocking I/O support.
18465         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18466         GNULIB_UNISTD_H_NONBLOCKING.
18467         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
18468         required for non-blocking I/O support.
18469         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
18470         * modules/nonblocking (Files): Add m4/nonblocking.m4,
18471         lib/stdio-write.c, m4/asm-underscore.m4.
18472         (Depends-on): Add stdio, unistd.
18473         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
18474         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
18475         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
18476         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
18477         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
18478         problem with non-blocking pipes.
18479         * doc/posix-functions/fputc.texi: Likewise.
18480         * doc/posix-functions/fputs.texi: Likewise.
18481         * doc/posix-functions/fwrite.texi: Likewise.
18482         * doc/posix-functions/printf.texi: Likewise.
18483         * doc/posix-functions/putc.texi: Likewise.
18484         * doc/posix-functions/putchar.texi: Likewise.
18485         * doc/posix-functions/puts.texi: Likewise.
18486         * doc/posix-functions/vfprintf.texi: Likewise.
18487         * doc/posix-functions/vprintf.texi: Likewise.
18488         * doc/posix-functions/write.texi: Likewise.
18489
18490 2011-04-10  Jim Meyering  <meyering@redhat.com>
18491
18492         maint.mk: prohibit doubled words
18493         Detect them also when they're separated by a newline.
18494         There are 3 ways to customize it:
18495           - disable the test on a per file basis, as usual with rules using
18496             $(VC_LIST_EXCEPT)
18497           - replace the default doubled-word-selecting regexp (affects all files)
18498           - ignore a particular file-vs-doubled-word match
18499         I nearly used that last one to ignore the "is is" match in
18500         coreutils' NEWS file, since the text was "ls -is is ..."
18501         To do that, I would have added this line to cfg.mk:
18502           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
18503         but it would have ignored any "is is" match in NEWS.
18504         Low probability, but still...
18505         Instead, I changed the text, slightly:
18506           -  ls -is is now consistent with ls -lis in ignoring values returned
18507           +  "ls -is" is now consistent with ls -lis in ignoring values returned
18508         * top/maint.mk (prohibit_double_word_RE_): Provide default.
18509         (prohibit_doubled_word_): Define.
18510         (sc_prohibit_doubled_word): New rule.
18511         (sc_prohibit_the_the): Remove.  Subsumed by the above.
18512
18513 2011-04-10  Jim Meyering  <meyering@redhat.com>
18514
18515         maint: fix doubled-word typo in comment
18516         * m4/gethostname.m4: s/is is/it is/
18517         * m4/getdomainname.m4: Likewise.
18518
18519 2011-04-10  Jim Meyering  <meyering@redhat.com>
18520
18521         maint: remove doubled word: s/it it/it/
18522         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
18523
18524 2011-04-10  Jim Meyering  <meyering@redhat.com>
18525
18526         maint.mk: remove useless semicolon and backslash
18527         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
18528         semicolon and backslash.
18529
18530 2011-04-10  Bruno Haible  <bruno@clisp.org>
18531
18532         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
18533         * modules/stdint-tests (Depends-on): Add wchar.
18534
18535 2011-04-10  Jim Meyering  <meyering@redhat.com>
18536
18537         maint: remove doubled words in comments, e.g., s/a a/a/
18538         * lib/strptime.c (day_of_the_week): s/the the/the/
18539         * tests/test-chown.h (test_chown): s/a a/a/
18540
18541         test-chown.h: correct a cast
18542         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
18543         when the destination is a stat.st_gid.
18544
18545 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
18546
18547         getaddrinfo: Fix test for sa_len member.
18548         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
18549         include <sys/types.h> before <sys/socket.h>.
18550
18551 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
18552
18553         maint: change "can not" to "cannot"
18554         * doc/posix-functions/iconv.texi (iconv): This one crossed line
18555         boundaries.
18556
18557 2011-04-09  Jim Meyering  <meyering@redhat.com>
18558
18559         maint: change "a a" to "a"
18560         * tests/test-lchown.h (test_lchown): s/a a/a/
18561
18562         maint.mk: prohibit \<the the\>
18563         * top/maint.mk (sc_prohibit_the_the): New rule.
18564
18565         maint: fix "the the" in comment
18566         * lib/count-one-bits.h: s/the the/the/
18567
18568         maint: change "can not" to "cannot"
18569         But do not change the occurrences in maintain.texi or in
18570         build-aux/po/Makefile.in.in, which I presume comes from gettext.
18571         * doc/gnulib-tool.texi: s/can not/cannot/
18572         * doc/posix-functions/accept.texi (accept): Likewise.
18573         * doc/posix-functions/socket.texi (socket): Likewise.
18574         * lib/mbrtowc.c: Likewise.
18575
18576         maint.mk: prohibit use of "can not"
18577         * top/maint.mk (sc_prohibit_can_not): New rule.
18578         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
18579
18580 2011-04-09  Bruno Haible  <bruno@clisp.org>
18581
18582         careadlinkat: Guard against misuse of careadlinkatcwd.
18583         * lib/careadlinkat.c: Include <stdlib.h>.
18584         (careadlinkatcwd): Check that the fd argument is as expected.
18585
18586 2011-04-09  Bruno Haible  <bruno@clisp.org>
18587
18588         careadlinkat: Use common coding style.
18589         * lib/careadlinkat.c: Move gnulib includes after system includes.
18590
18591 2011-04-09  Bruno Haible  <bruno@clisp.org>
18592
18593         careadlinkat: Clarify specification.
18594         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
18595         (careadlinkatcwd): Add comment.
18596         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
18597
18598 2011-04-09  Bruno Haible  <bruno@clisp.org>
18599
18600         areadlinkat: Avoid link error on many platforms.
18601         * modules/areadlinkat (Depends-on): Add areadlink.
18602
18603 2011-04-09  Bruno Haible  <bruno@clisp.org>
18604
18605         allocator, careadlinkat: Fix double-inclusion guard.
18606         * lib/allocator.h: Fix double-inclusion guard.
18607         * lib/careadlinkat.h: Likewise.
18608
18609 2011-04-09  Bruno Haible  <bruno@clisp.org>
18610
18611         relocatable-prog-wrapper: Update after module 'areadlink' changed.
18612         * lib/relocwrapper.c: Update dependencies hierarchy.
18613         * build-aux/install-reloc: Update list of files to be compiled.
18614         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
18615         lib/allocator.[hc].
18616
18617 2011-04-08  Eric Blake  <eblake@redhat.com>
18618
18619         strftime: silence gnulib-tool warning
18620         * modules/strftime-tests (Depends-on): Drop automatic dependency.
18621
18622 2011-04-08  Bruno Haible  <bruno@clisp.org>
18623
18624         verify: Fix syntax error with GCC 4.6 in C++ mode.
18625         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
18626         (HAVE_STATIC_ASSERT): New macro.
18627         (verify_true, verify): Use 'static_assert' if it is supported and
18628         '_Static_assert' is not supported.
18629
18630 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
18631
18632         allocator: New module.
18633         * modules/allocator, lib/allocator.c: New files.
18634         * lib/allocator.h (stdlib_allocator): New decl.
18635         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
18636         Remove.  Do not include <stdlib.h>.
18637         (careadlinkat): Use stdlib_allocator instead of rolling our own.
18638         * modules/careadlinkat (Files): Remove lib/allocator.h.
18639         (Depends-on): Add allocator.
18640
18641         stdlib: let modules use system malloc, realloc
18642         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
18643         if !_GL_USE_STDLIB_ALLOC.
18644         (malloc, realloc): Limit this change to a smaller scope.
18645
18646         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
18647         (malloc, realloc): Don't #undef; no longer needed.
18648         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18649         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18650         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18651         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18652         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18653         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18654         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18655         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18656
18657         careadlinkat: rename members to avoid problem
18658         * lib/allocator.h (struct allocator): Rename members from
18659         malloc/realloc to allocate/reallocate, to avoid problems if malloc
18660         and realloc are #define'd.  Reported by Eric Blake in
18661         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
18662         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
18663
18664 2011-04-08  Eric Blake  <eblake@redhat.com>
18665
18666         nonblocking: reduce dependency
18667         * tests/test-nonblocking.c: Only test sockets when in use.
18668         * modules/nonblocking-tests (Depends-on): Drop socket.
18669         (Makefile.am): Link even if sockets are not present.
18670         * modules/pipe2-tests (Makefile.am): Likewise.
18671         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
18672
18673         pipe2: fix O_NONBLOCK support on mingw
18674         * modules/pipe2 (Depends-on): Add nonblocking.
18675         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
18676         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
18677         * tests/test-nonblocking.c (main): Likewise.
18678         * modules/pipe2-tests (Makefile.am): Avoid link failure.
18679
18680         fcntl-h: fix O_ACCMODE on cygwin
18681         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
18682         * lib/fcntl.in.h (O_ACCMODE): Fix it.
18683
18684         pipe-filter: drop O_NONBLOCK workarounds
18685         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
18686         * modules/pipe-filter-ii (Depends-on): Likewise.
18687         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
18688
18689         nonblocking: provide O_NONBLOCK for mingw
18690         * modules/nonblocking (Depends-on): Add open.
18691         (configure.ac): Set new witness macro.
18692         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
18693         * modules/fcntl-h (Makefile.am): Substitute it.
18694         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
18695         nonblocking module is in use.
18696         * lib/nonblocking.c: Adjust portability test.
18697         * lib/open.c (open): Don't let native open see gnulib flag.
18698         * tests/test-fcntl-h.c (main): Enhance test.
18699         * tests/test-open.h (test_open): Likewise.
18700         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
18701
18702         careadlinkat: fix compilation error on mingw
18703         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
18704         within struct allocator.
18705
18706 2011-04-06  Eric Blake  <eblake@redhat.com>
18707
18708         binary-io: relicense under LGPLv2+
18709         * modules/binary-io (License): Relax to LGPLv2+.
18710         Requested for libvirt, and required by pipe2.
18711
18712 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
18713
18714         verify: use _Static_assert if available
18715         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
18716         (verify_true, verify): Use it if available.  This generates better
18717         diagnostics with GCC 4.6.0 and later.
18718
18719 2011-04-05  Bruno Haible  <bruno@clisp.org>
18720
18721         Remove leftover generated .h files after config.status changed.
18722
18723         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
18724         GL_GENERATE_ALLOCA_H.
18725         * modules/alloca-opt (Makefile.am): Remove alloca.h if
18726         GL_GENERATE_ALLOCA_H evaluates to false.
18727
18728         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
18729         GL_GENERATE_ARGZ_H.
18730         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
18731         evaluates to false.
18732
18733         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
18734         GL_GENERATE_BYTESWAP_H.
18735         * modules/byteswap (Makefile.am): Remove byteswap.h if
18736         GL_GENERATE_BYTESWAP_H evaluates to false.
18737
18738         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
18739         GL_GENERATE_ERRNO_H.
18740         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
18741         evaluates to false.
18742
18743         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
18744         GL_GENERATE_FLOAT_H.
18745         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
18746         evaluates to false.
18747
18748         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
18749         GL_GENERATE_FNMATCH_H.
18750         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
18751         GL_GENERATE_FNMATCH_H evaluates to false.
18752
18753         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
18754         GL_GENERATE_GLOB_H.
18755         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
18756         evaluates to false.
18757
18758         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
18759         automake conditional GL_GENERATE_ICONV_H.
18760         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
18761         evaluates to false.
18762
18763         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
18764         GL_GENERATE_NETINET_IN_H.
18765         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
18766         GL_GENERATE_NETINET_IN_H evaluates to false.
18767
18768         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
18769         conditional GL_GENERATE_PTHREAD_H.
18770         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
18771         * modules/pthread (Makefile.am): Remove pthread.h if
18772         GL_GENERATE_PTHREAD_H evaluates to false.
18773
18774         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
18775         GL_GENERATE_SCHED_H.
18776         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
18777         evaluates to false.
18778
18779         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
18780         conditional GL_GENERATE_SELINUX_CONTEXT_H.
18781         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
18782         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
18783
18784         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
18785         GL_GENERATE_STDARG_H.
18786         * modules/stdarg (Makefile.am): Remove stdarg.h if
18787         GL_GENERATE_STDARG_H evaluates to false.
18788
18789         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
18790         GL_GENERATE_STDBOOL_H.
18791         * modules/stdbool (Makefile.am): Remove stdbool.h if
18792         GL_GENERATE_STDBOOL_H evaluates to false.
18793
18794         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
18795         conditional GL_GENERATE_STDDEF_H.
18796         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
18797         * modules/stddef (Makefile.am): Remove stddef.h if
18798         GL_GENERATE_STDDEF_H evaluates to false.
18799
18800         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
18801         GL_GENERATE_STDINT_H.
18802         * modules/stdint (Makefile.am): Remove stdint.h if
18803         GL_GENERATE_STDINT_H evaluates to false.
18804
18805         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
18806         GL_GENERATE_SYSEXITS_H.
18807         * modules/sysexits (Makefile.am): Remove sysexits.h if
18808         GL_GENERATE_SYSEXITS_H evaluates to false.
18809
18810         Reported by Karl Berry and Ralf Wildenhues.
18811
18812 2011-04-05  Bruno Haible  <bruno@clisp.org>
18813
18814         Ensure to rebuild generated .h files when config.status has changed.
18815         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
18816         config.status.
18817         * modules/ctype (Makefile.am): Likewise.
18818         * modules/dirent (Makefile.am): Likewise.
18819         * modules/errno (Makefile.am): Likewise.
18820         * modules/fcntl-h (Makefile.am): Likewise.
18821         * modules/float (Makefile.am): Likewise.
18822         * modules/getopt-posix (Makefile.am): Likewise.
18823         * modules/glob (Makefile.am): Likewise.
18824         * modules/iconv-h (Makefile.am): Likewise.
18825         * modules/inttypes (Makefile.am): Likewise.
18826         * modules/langinfo (Makefile.am): Likewise.
18827         * modules/locale (Makefile.am): Likewise.
18828         * modules/math (Makefile.am): Likewise.
18829         * modules/netdb (Makefile.am): Likewise.
18830         * modules/netinet_in (Makefile.am): Likewise.
18831         * modules/poll-h (Makefile.am): Likewise.
18832         * modules/pthread (Makefile.am): Likewise.
18833         * modules/pty (Makefile.am): Likewise.
18834         * modules/sched (Makefile.am): Likewise.
18835         * modules/search (Makefile.am): Likewise.
18836         * modules/selinux-h (Makefile.am): Likewise.
18837         * modules/signal (Makefile.am): Likewise.
18838         * modules/spawn (Makefile.am): Likewise.
18839         * modules/stdarg (Makefile.am): Likewise.
18840         * modules/stdbool (Makefile.am): Likewise.
18841         * modules/stddef (Makefile.am): Likewise.
18842         * modules/stdint (Makefile.am): Likewise.
18843         * modules/stdio (Makefile.am): Likewise.
18844         * modules/stdlib (Makefile.am): Likewise.
18845         * modules/string (Makefile.am): Likewise.
18846         * modules/strings (Makefile.am): Likewise.
18847         * modules/sys_file (Makefile.am): Likewise.
18848         * modules/sys_ioctl (Makefile.am): Likewise.
18849         * modules/sys_select (Makefile.am): Likewise.
18850         * modules/sys_socket (Makefile.am): Likewise.
18851         * modules/sys_stat (Makefile.am): Likewise.
18852         * modules/sys_time (Makefile.am): Likewise.
18853         * modules/sys_times (Makefile.am): Likewise.
18854         * modules/sys_utsname (Makefile.am): Likewise.
18855         * modules/sys_wait (Makefile.am): Likewise.
18856         * modules/sysexits (Makefile.am): Likewise.
18857         * modules/termios (Makefile.am): Likewise.
18858         * modules/time (Makefile.am): Likewise.
18859         * modules/unistd (Makefile.am): Likewise.
18860         * modules/wchar (Makefile.am): Likewise.
18861         * modules/wctype-h (Makefile.am): Likewise.
18862         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
18863
18864 2011-04-05  Bruno Haible  <bruno@clisp.org>
18865
18866         pipe2: Relicense under LGPLv2+.
18867         * modules/pipe2 (License): Change to LGPLv2+.
18868         Requested by Eric Blake, for libvirt.
18869
18870 2011-04-05  Bruce Korb  <bkorb@gnu.org>
18871
18872         bootstrap: compute gnulib_extra_files after updating build_aux
18873         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
18874         change build_aux or also supply gnulib_extra_files.  Handle correctly.
18875
18876 2011-04-05  Eric Blake  <eblake@redhat.com>
18877
18878         bootstrap: preserve git whitelist item sorting
18879         * build-aux/bootstrap (sort_patterns): New function.
18880         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
18881
18882 2011-04-05  Simon Josefsson  <simon@josefsson.org>
18883
18884         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
18885         sc_space_tab check.
18886
18887 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
18888
18889         areadlink, areadlinkat: rewrite in terms of careadlinkat
18890         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
18891         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
18892         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
18893         (malloc, realloc): Remove #undefs.
18894         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
18895         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
18896         readlink, ssize_t, stdint, unistd.
18897         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
18898         areadlink, stdint.
18899
18900         careadlinkat: new module
18901         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
18902         * modules/careadlinkat: New files, written by me with
18903         a review and feedback from Ben Pfaff in
18904         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
18905
18906 2011-04-01  Bruno Haible  <bruno@clisp.org>
18907
18908         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
18909         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
18910         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
18911         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
18912         Reported by Bruce Korb <bruce.korb@gmail.com>.
18913
18914 2011-04-01  Bruno Haible  <bruno@clisp.org>
18915
18916         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
18917         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
18918         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
18919         * modules/wcpcpy (Depends-on): Add extensions.
18920         * modules/wcpncpy (Depends-on): Likewise.
18921         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
18922         systems.
18923         * doc/posix-functions/wcpncpy.texi: Likewise.
18924         * doc/posix-functions/wcwidth.texi: Likewise.
18925
18926 2011-03-31  Eric Blake  <eblake@redhat.com>
18927
18928         nonblocking: fix mingw test failures
18929         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
18930         non-blocking flag on regular file.
18931         (get_nonblocking_flag): Set errno on invalid fd.
18932         * tests/test-nonblocking.c (main): Avoid test failure on
18933         directories if fchdir is not active.
18934         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
18935
18936 2011-03-31  Bruno Haible  <bruno@clisp.org>
18937
18938         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
18939         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
18940         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
18941         Reported by Simon Josefsson <simon@josefsson.org>.
18942
18943 2011-03-31  Bruno Haible  <bruno@clisp.org>
18944         and Eric Blake  <eblake@redhat.com>
18945
18946         nonblocking: new module
18947         * modules/nonblocking: New module.
18948         * modules/nonblocking-tests: Likewise.
18949         * lib/nonblocking.h: New file.
18950         * lib/nonblocking.c: Likewise.
18951         * tests/test-nonblocking.c: New test.
18952         * lib/ioctl.c (ioctl) [mingw]: Update comment.
18953
18954 2011-03-30  Bruno Haible  <bruno@clisp.org>
18955
18956         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
18957         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
18958         instead of 'printf' format for GCC >= 4.4.
18959         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
18960         (fprintf, printf, vfprintf, vprintf): Declare with
18961         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
18962         the system's vfprintf() function.
18963         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
18964
18965 2011-03-30  Eric Blake  <eblake@redhat.com>
18966
18967         passfd: fix scoping bug
18968         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
18969         before sendmsg/recvmsg.
18970
18971         passfd: standardize coding conventions
18972         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
18973         can be learned at compile time.
18974         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
18975         ifdefs.
18976         (sendfd, recvfd): Follow gnulib code conventions.
18977
18978         passfd: fix incorrect sendmsg arguments
18979         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
18980         incorrect msg_controllen value.
18981         * modules/passfd-tests (Depends-on): Check for alarm.
18982         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
18983         Reported by Bastien ROUCARIES.
18984
18985 2011-03-30  Bruno Haible  <bruno@clisp.org>
18986
18987         c-strcasestr: Relicense under LGPLv2+.
18988         * modules/c-strcasestr (License): Change to LGPLv2+.
18989         Requested by Eric Blake, for libvirt.
18990
18991 2011-03-30  Simon Josefsson  <simon@josefsson.org>
18992
18993         * users.txt: Add libidn2.  Fix libtasn1 link.
18994
18995 2011-03-30  Jim Meyering  <meyering@redhat.com>
18996
18997         tests: readlink* ("",... fails with EINVAL on newer kernels
18998         readlink and readlinkat have typically failed with ENOENT for
18999         the invalid, empty file name,  "".  However, with the advent
19000         of linux-2.6.39, they fail with EINVAL.
19001         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
19002         when operating on the empty file name.
19003         * tests/test-readlink.h (test_readlink): Likewise.
19004
19005 2011-03-29  Bruno Haible  <bruno@clisp.org>
19006
19007         Relicense some modules under LGPLv2+, for libidn2.
19008         * modules/array-mergesort (License): Change to LGPLv2+.
19009         * modules/c-strcaseeq (License): Likewise.
19010         * modules/striconveh (License): Likewise.
19011         * modules/striconveha (License): Likewise.
19012         * modules/uniconv/base (License): Likewise.
19013         * modules/uniconv/u8-conv-from-enc (License): Likewise.
19014         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
19015         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
19016         * modules/unictype/base (License): Likewise.
19017         * modules/unictype/bidiclass-of (License): Likewise.
19018         * modules/unictype/category-M (License): Likewise.
19019         * modules/unictype/category-none (License): Likewise.
19020         * modules/unictype/category-of (License): Likewise.
19021         * modules/unictype/category-test (License): Likewise.
19022         * modules/unictype/category-test-withtable (License): Likewise.
19023         * modules/unictype/combining-class (License): Likewise.
19024         * modules/unictype/joiningtype-of (License): Likewise.
19025         * modules/unictype/scripts (License): Likewise.
19026         * modules/uninorm/base (License): Likewise.
19027         * modules/uninorm/canonical-decomposition (License): Likewise.
19028         * modules/uninorm/composition (License): Likewise.
19029         * modules/uninorm/decompose-internal (License): Likewise.
19030         * modules/uninorm/decomposition-table (License): Likewise.
19031         * modules/uninorm/nfc (License): Likewise.
19032         * modules/uninorm/nfd (License): Likewise.
19033         * modules/uninorm/u32-normalize (License): Likewise.
19034         * modules/unistr/base (License): Likewise.
19035         * modules/unistr/u32-cpy (License): Likewise.
19036         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
19037         * modules/unistr/u32-to-u8 (License): Likewise.
19038         * modules/unistr/u32-uctomb (License): Likewise.
19039         * modules/unistr/u8-check (License): Likewise.
19040         * modules/unistr/u8-mblen (License): Likewise.
19041         * modules/unistr/u8-mbtouc (License): Likewise.
19042         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
19043         * modules/unistr/u8-mbtoucr (License): Likewise.
19044         * modules/unistr/u8-prev (License): Likewise.
19045         * modules/unistr/u8-strlen (License): Likewise.
19046         * modules/unistr/u8-to-u32 (License): Likewise.
19047         * modules/unistr/u8-uctomb (License): Likewise.
19048         * modules/unitypes (License): Likewise.
19049         Requested by Simon Josefsson.
19050
19051 2011-03-29  Simon Josefsson  <simon@josefsson.org>
19052
19053         lib-symbol-visibility: Add a notice.
19054         * modules/lib-symbol-visibility (Notice): New field.
19055
19056 2011-03-29  Bruno Haible  <bruno@clisp.org>
19057
19058         getaddrinfo: Doc fix.
19059         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
19060         section "fixed in Gnulib".
19061
19062 2011-03-28  Simon Josefsson  <simon@josefsson.org>
19063
19064         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
19065         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
19066
19067 2011-03-26  Bruno Haible  <bruno@clisp.org>
19068
19069         unictype/property-byname: Reduce the number of load-time relocations.
19070         * lib/unictype/pr_byname.c: Include <stdlib.h>.
19071         (UC_PROPERTY_INDEX_*): New enumeration values.
19072         (uc_property_byname): Convert an index from the lookup table to an
19073         uc_property_t.
19074         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
19075         values.
19076
19077 2011-03-26  Bruno Haible  <bruno@clisp.org>
19078
19079         unictype/property-byname: Allow omitted word separators and aliases.
19080         * lib/unictype/pr_byname.gperf: Add property names without word
19081         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
19082         for 'space'.
19083
19084 2011-03-26  Bruno Haible  <bruno@clisp.org>
19085
19086         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
19087         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
19088         also hyphens to space.
19089         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
19090         without spaces.
19091         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
19092
19093 2011-03-26  Bruno Haible  <bruno@clisp.org>
19094
19095         unictype/joiningtype-byname: Recognize long names as well.
19096         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
19097         a long name.
19098         * lib/unictype/joiningtype_byname.c: Include <string.h>,
19099         unictype/joiningtype_byname.h.
19100         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
19101         * lib/unictype/joiningtype_byname.gperf: New file.
19102         * modules/unictype/joiningtype-byname (Files): Add
19103         lib/unictype/joiningtype_byname.gperf.
19104         (Depends-on): Add gperf.
19105         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
19106         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
19107         long names.
19108
19109         Tests for module 'unictype/joiningtype-longname'.
19110         * modules/unictype/joiningtype-longname-tests: New file.
19111         * tests/unictype/test-joiningtype_longname.c: New file.
19112
19113         New module 'unictype/joiningtype-longname'.
19114         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
19115         * lib/unictype/joiningtype_longname.c: New file.
19116         * modules/unictype/joiningtype-longname: New file.
19117         * modules/unictype/joiningtype-all (Depends-on): Add
19118         unictype/joiningtype-longname.
19119
19120 2011-03-26  Bruno Haible  <bruno@clisp.org>
19121
19122         unictype/bidiclass-byname: Recognize long names as well.
19123         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
19124         name.
19125         * lib/unictype/bidi_byname.c: Include <string.h>,
19126         unictype/bidi_byname.h.
19127         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
19128         * lib/unictype/bidi_byname.gperf: New file.
19129         * modules/unictype/bidiclass-byname (Files): Add
19130         lib/unictype/bidi_byname.gperf.
19131         (Depends-on): Add gperf.
19132         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
19133         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
19134         long names.
19135
19136         Tests for module 'unictype/bidiclass-longname'.
19137         * modules/unictype/bidiclass-longname-tests: New file.
19138         * tests/unictype/test-bidi_longname.c: New file.
19139
19140         New module 'unictype/bidiclass-longname'.
19141         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
19142         * lib/unictype/bidi_longname.c: New file.
19143         * modules/unictype/bidiclass-longname: New file.
19144         * modules/unictype/bidiclass-all (Depends-on): Add
19145         unictype/bidiclass-longname.
19146
19147 2011-03-26  Bruno Haible  <bruno@clisp.org>
19148
19149         unictype/bidi*: Rename modules.
19150         * modules/unictype/bidiclass-all: Renamed from
19151         modules/unictype/bidicategory-all.
19152         * modules/unictype/bidiclass-name: Renamed from
19153         modules/unictype/bidiclass-name.
19154         (Description): Update.
19155         * modules/unictype/bidiclass-name-tests: Renamed from
19156         modules/unictype/bidicategory-name-tests.
19157         * modules/unictype/bidiclass-byname: Renamed from
19158         modules/unictype/bidicategory-byname.
19159         (Description): Update.
19160         * modules/unictype/bidiclass-byname-tests: Renamed from
19161         modules/unictype/bidicategory-byname-tests.
19162         * modules/unictype/bidiclass-of: Renamed from
19163         modules/unictype/bidicategory-of.
19164         (Description): Update.
19165         * modules/unictype/bidiclass-of-tests: Renamed from
19166         modules/unictype/bidicategory-of-tests.
19167         * modules/unictype/bidiclass-test: Renamed from
19168         modules/unictype/bidicategory-test.
19169         (Description): Update.
19170         * modules/unictype/bidiclass-test-tests: Renamed from
19171         modules/unictype/bidicategory-test-tests.
19172         * modules/unictype/bidicategory-all: New file, a simple redirection.
19173         * modules/unictype/bidicategory-name: Likewise.
19174         * modules/unictype/bidicategory-byname: Likewise.
19175         * modules/unictype/bidicategory-of: Likewise.
19176         * modules/unictype/bidicategory-test: Likewise.
19177         * modules/unictype/property-bidi-* (Dependencies): Update.
19178         * lib/unictype/bidi_*.c: Update comment.
19179
19180 2011-03-26  Bruno Haible  <bruno@clisp.org>
19181
19182         unictype/bidi*: Rename functions, part 2.
19183         * modules/unictype/bidicategory-name (configure.ac): Update required
19184         libunistring version.
19185         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
19186
19187 2011-03-25  Bruno Haible  <bruno@clisp.org>
19188
19189         New module 'unictype/combining-class-all'.
19190         * modules/unictype/combining-class-all: New file.
19191
19192         Tests for module 'unictype/combining-class-byname'.
19193         * modules/unictype/combining-class-byname-tests: New file.
19194         * tests/unictype/test-combiningclass_byname.c: New file.
19195
19196         New module 'unictype/combining-class-byname'.
19197         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
19198         * lib/unictype/combiningclass_byname.c: New file.
19199         * lib/unictype/combiningclass_byname.gperf: New file.
19200         * modules/unictype/combining-class-byname: New file.
19201
19202         Tests for module 'unictype/combining-class-longname'.
19203         * modules/unictype/combining-class-longname-tests: New file.
19204         * tests/unictype/test-combiningclass_longname.c: New file.
19205
19206         New module 'unictype/combining-class-longname'.
19207         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
19208         * lib/unictype/combiningclass_longname.c: New file.
19209         * modules/unictype/combining-class-longname: New file.
19210
19211         Tests for module 'unictype/combining-class-name'.
19212         * modules/unictype/combining-class-name-tests: New file.
19213         * tests/unictype/test-combiningclass_name.c: New file.
19214
19215         New module 'unictype/combining-class-name'.
19216         * lib/unictype.in.h (uc_combining_class_name): New declaration.
19217         * lib/unictype/combiningclass_name.c: New file.
19218         * modules/unictype/combining-class-name: New file.
19219
19220 2011-03-25  Bruno Haible  <bruno@clisp.org>
19221
19222         unictype/combining-class: Rename source files.
19223         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
19224         of unictype/combining.h.
19225         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
19226         Update.
19227         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
19228         * modules/unictype/combining-class (Description): Fix.
19229         (Files, Makefile.am): Update.
19230         * tests/unictype/test-combiningclass.c: Renamed from
19231         tests/unictype/test-combining.c.
19232         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
19233
19234 2011-03-25  Bruno Haible  <bruno@clisp.org>
19235
19236         unictype: Update list of canonical combining classes.
19237         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
19238
19239 2011-03-25  Bruno Haible  <bruno@clisp.org>
19240
19241         unictype/category-byname: Recognize long names as well.
19242         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
19243         a long name.
19244         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
19245         unictype/categ_byname.h.
19246         (UC_CATEGORY_INDEX_*): New enumeration values.
19247         (uc_general_category_byname): Use uc_general_category_lookup and
19248         convert from index to value.
19249         * lib/unictype/categ_byname.gperf: New file.
19250         * modules/unictype/category-byname (Files): Add
19251         lib/unictype/categ_byname.gperf.
19252         (Depends-on): Add gperf.
19253         (Makefile.am): Add rule for generating unictype/categ_byname.h.
19254         * tests/unictype/test-categ_byname.c (main): Test the recognition of
19255         long names.
19256
19257         Tests for module 'unictype/category-longname'.
19258         * modules/unictype/category-longname-tests: New file.
19259         * tests/unictype/test-categ_longname.c: New file.
19260
19261         New module 'unictype/category-longname'.
19262         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
19263         * lib/unictype/categ_longname.c: New file.
19264         * modules/unictype/category-longname: New file.
19265         * modules/unictype/category-all (Depends-on): Add it.
19266
19267 2011-03-25  Bruno Haible  <bruno@clisp.org>
19268
19269         Tests for module 'unictype/category-LC'.
19270         * modules/unictype/category-LC-tests: New file.
19271         * tests/unictype/test-categ_LC.c: New file, automatically generated.
19272
19273         New module 'unictype/category-LC'.
19274         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
19275         (UC_CATEGORY_LC): New declaration.
19276         (UC_CASED_LETTER): New macro.
19277         * lib/gen-uni-tables.c (is_category_LC): New function.
19278         (output_categories): Also handle category LC.
19279         (UC_CATEGORY_MASK_LC): New enumeration value.
19280         (general_category_byname): Also handle category LC.
19281         * lib/unictype/categ_LC.c: New file.
19282         * lib/unictype/categ_LC.h: New file, automatically generated.
19283         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
19284         category LC.
19285         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
19286         * modules/unictype/category-LC: New file.
19287         * modules/unictype/category-byname (Depends-on): Add
19288         unictype/category-LC.
19289         * modules/unictype/category-all (Depends-on): Likewise.
19290
19291 2011-03-25  Eric Blake  <eblake@redhat.com>
19292
19293         xmalloc: revert yesterday's regression
19294         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
19295         realloc's underlying behavior (allowing allocation of zero-size
19296         objects, especially if malloc-gnu is also in use).
19297
19298 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
19299
19300         maint.mk: add missing version to VC-tag
19301         * top/maint.mk: git tag was missing actual tag name; add it.
19302
19303         valgrind: do leak checking, and exit with code 1 on error (not 0)
19304         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
19305         to VALGRIND.
19306
19307 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
19308
19309         posix-modules: say what it does.
19310         * posix-modules: Add a line to the --help output saying what it does.
19311
19312 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
19313
19314         xmalloc: Do not leak if underlying realloc is C99 compatible.
19315         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
19316         This avoids a leak on C99-based systems.  See
19317         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
19318
19319 2011-03-24  Eric Blake  <eblake@redhat.com>
19320
19321         realloc: document portability problem
19322         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
19323         passing 0 size to realloc.
19324
19325 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
19326
19327         doc: update users.txt
19328         * users.txt: Add cvsps, tmpwatch
19329
19330 2011-03-23  Matt Rice  <ratmice@gmail.com>
19331
19332         doc: update users.txt
19333         * users.txt: Add gdb.
19334
19335 2011-03-23  Jim Meyering  <meyering@redhat.com>
19336
19337         doc: update users.txt
19338         Looking through matches up to the following URL (there are still
19339         several more pages), I found several projects that use gnulib:
19340         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
19341         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
19342         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
19343
19344 2011-03-22  Bruno Haible  <bruno@clisp.org>
19345
19346         unictype/bidi*: Rename functions.
19347         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
19348         uc_bidi_class, uc_is_bidi_class): New declarations.
19349         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
19350         uc_bidi_category_byname.
19351         (uc_bidi_category_byname): New function.
19352         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
19353         u_bidi_category_name.
19354         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
19355         (uc_bidi_category_name): New function.
19356         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
19357         uc_bidi_category.
19358         (uc_bidi_category): New function.
19359         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
19360         uc_is_bidi_category. Invoke uc_bidi_class.
19361         (uc_is_bidi_category): New function.
19362         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
19363         instead of uc_bidi_category_byname.
19364         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
19365         instead of uc_bidi_category_name.
19366         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
19367         uc_bidi_category.
19368         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
19369         instead of uc_is_bidi_category.
19370
19371 2011-03-21  Bruno Haible  <bruno@clisp.org>
19372
19373         New module 'unictype/joininggroup-all'.
19374         * modules/unictype/joininggroup-all: New file.
19375
19376         Tests for module 'unictype/joininggroup-of'.
19377         * modules/unictype/joininggroup-of-tests: New file.
19378         * tests/unictype/test-joininggroup_of.c: New file.
19379         * tests/unictype/test-joininggroup_of.h: New file, automatically
19380         generated by gen-uni-tables.
19381
19382         New module 'unictype/joininggroup-of'.
19383         * modules/unictype/joininggroup-of: New file.
19384         * lib/unictype/joininggroup_of.c: New file.
19385         * lib/unictype/joininggroup_of.h: New file, automatically generated by
19386         gen-uni-tables.
19387
19388         Tests for module 'unictype/joininggroup-byname'.
19389         * modules/unictype/joininggroup-byname-tests: New file.
19390         * tests/unictype/test-joininggroup_byname.c: New file.
19391
19392         New module 'unictype/joininggroup-byname'.
19393         * modules/unictype/joininggroup-byname: New file.
19394         * lib/unictype/joininggroup_byname.c: New file.
19395         * lib/unictype/joininggroup_byname.gperf: New file.
19396
19397         Tests for module 'unictype/joininggroup-name'.
19398         * modules/unictype/joininggroup-name-tests: New file.
19399         * tests/unictype/test-joininggroup_name.c: New file.
19400
19401         New module 'unictype/joininggroup-name'.
19402         * modules/unictype/joininggroup-name: New file.
19403         * lib/unictype/joininggroup_name.c: New file.
19404         * lib/unictype/joininggroup_name.h: New file.
19405
19406         New module 'unictype/joiningtype-all'.
19407         * modules/unictype/joiningtype-all: New file.
19408
19409         Tests for module 'unictype/joiningtype-of'.
19410         * modules/unictype/joiningtype-of-tests: New file.
19411         * tests/unictype/test-joiningtype_of.c: New file.
19412         * tests/unictype/test-joiningtype_of.h: New file, automatically
19413         generated by gen-uni-tables.
19414
19415         New module 'unictype/joiningtype-of'.
19416         * modules/unictype/joiningtype-of: New file.
19417         * lib/unictype/joiningtype_of.c: New file.
19418         * lib/unictype/joiningtype_of.h: New file, automatically generated by
19419         gen-uni-tables.
19420
19421         Tests for module 'unictype/joiningtype-byname'.
19422         * modules/unictype/joiningtype-byname-tests: New file.
19423         * tests/unictype/test-joiningtype_byname.c: New file.
19424
19425         New module 'unictype/joiningtype-byname'.
19426         * modules/unictype/joiningtype-byname: New file.
19427         * lib/unictype/joiningtype_byname.c: New file.
19428
19429         Tests for module 'unictype/joiningtype-name'.
19430         * modules/unictype/joiningtype-name-tests: New file.
19431         * tests/unictype/test-joiningtype_name.c: New file.
19432
19433         New module 'unictype/joiningtype-name'.
19434         * modules/unictype/joiningtype-name: New file.
19435         * lib/unictype/joiningtype_name.c: New file.
19436
19437         unictype: Add support for Arabic shaping properties.
19438         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
19439         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
19440         declarations.
19441         (UC_JOINING_GROUP_*): New enumeration values.
19442         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
19443         declarations.
19444         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
19445         (unicode_joining_type): New variable.
19446         (UC_JOINING_GROUP_*): New enumeration values.
19447         (unicode_joining_group): New variable.
19448         (fill_arabicshaping, joining_type_as_c_identifier,
19449         output_joining_type_test, output_joining_type,
19450         joining_group_as_c_identifier, output_joining_group_test,
19451         output_joining_group): New functions.
19452         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
19453         fill_arabicshaping and output_joining_type_test, output_joining_type,
19454         output_joining_group_test, output_joining_group.
19455         Reported by Simon Josefsson.
19456
19457 2011-03-21  Jim Meyering  <meyering@redhat.com>
19458
19459         strftime: fix a bug in yesterday's change
19460         * lib/strftime.c (add): Accommodate width's initial value of -1.
19461         Otherwise, nstrftime would copy uninitialized data into
19462         the result buffer.
19463
19464 2011-03-21  Jim Meyering  <meyering@redhat.com>
19465
19466         tests: add strftime-tests module
19467         * tests/test-strftime.c: New file.
19468         * modules/strftime-tests: New module.
19469
19470 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19471
19472         strftime: don't assume a byte count fits in 'int'
19473         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
19474         found this problem by static analysis, using gcc -Wstrict-overflow
19475         (GCC 4.5.2, x86-64).  This reported an optimization that depended
19476         on an integer overflow having undefined behavior, but it turns out
19477         that the argument is a size, which might not fit in 'int' anyway,
19478
19479 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19480
19481         stdio: don't require ignore_value around fwrite
19482
19483         This patch works around libc bug 11959
19484         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
19485         Without this patch, applications must often write
19486         ignore_value (fwrite (...)) even though the ignore_value is
19487         not helpful here.  It's common to write many objects, using
19488         fwrite/printf/etc., and then use ferror to detect output error.
19489
19490         I considered making this patch optional, but decided against it,
19491         because libc is obviously being inconsistent here: there is no
19492         reason libc should insist that user code must inspect fwrite
19493         return's value without also insisting that it inspect printf's,
19494         putchar's, etc.  If user code wants to have a strict style where
19495         all these functions' values are checked (so that ferror need not
19496         be checked), we could add support for that style in a new gnulib
19497         module, but in the meantime it's better to be consistent and to
19498         support common usage.
19499
19500         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
19501         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
19502         that we are compiling in checking mode, and if not C++, and
19503         if not already wrapping fwrite for some other reason.
19504         (fwrite): #define to rpl_fwrite if the latter is defined.
19505
19506 2011-03-20  Bruno Haible  <bruno@clisp.org>
19507
19508         verror: Fix compilation error introduced on 2011-02-13.
19509         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
19510         instead of __attribute__.
19511         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19512
19513 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19514             Bruno Haible  <bruno@clisp.org>
19515
19516         socklen: do not depend on sys_socket
19517         While trying to modify Emacs to use gnulib's socklen module,
19518         I discovered a circular dependency: socklen depends on sys_socket
19519         and vice versa.  Emacs can use socklen, but it does not need
19520         sys_socket because it has its own substitute for sys/socket.h.
19521         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
19522         gl_TYPE_SOCKLEN_T.
19523         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
19524         gl_PREREQ_SYS_H_SOCKET.
19525         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
19526         gl_PREREQ_SYS_H_SOCKET.
19527         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
19528         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
19529         * modules/socklen (Depends-on): Do not depend on sys_socket.
19530         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
19531
19532 2011-03-20  Jim Meyering  <meyering@redhat.com>
19533
19534         maint.mk: sort file names *after* new transformation
19535         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
19536         prefix would have led to an unwarranted failure in GNU parted.
19537         Sort after that transformation.
19538
19539 2011-03-19  Jim Meyering  <meyering@redhat.com>
19540
19541         maint.mk: fix po-file syntax-check rule
19542         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
19543         Patch by Bruno Haible.
19544
19545 2011-03-19  Bruno Haible  <bruno@clisp.org>
19546
19547         socklen: Update comment.
19548         * m4/socklen.m4: Update comment about platforms.
19549
19550 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19551             Bruno Haible  <bruno@clisp.org>
19552
19553         inet_ntop, inet_pton: Simplify.
19554         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
19555         documented to provide socklen_t and we already depend on sys_socket.
19556         * modules/inet_pton (Depends-on): Likewise.
19557         * lib/arpa_inet.in.h: Adjust comment.
19558
19559 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19560             Bruno Haible  <bruno@clisp.org>
19561
19562         netdb: Simplify.
19563         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
19564         documented to provide socklen_t and we already depend on sys_socket.
19565         * lib/netdb.in.h: Adjust comment.
19566
19567 2011-03-19  Bruno Haible  <bruno@clisp.org>
19568
19569         sys_socket, netdb: Document problem with socklen_t.
19570         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
19571         platforms.
19572         * doc/posix-headers/netdb.texi: Likewise.
19573
19574 2011-03-18  Eric Blake  <eblake@redhat.com>
19575
19576         maint.mk: let po check work in VPATH build
19577         * top/maint.mk (po_file): Allow cfg.mk override.
19578         (sc_po_check): Allow VPATH use.
19579         Reported by Jiri Denemark.
19580
19581 2011-03-16  Jim Meyering  <meyering@redhat.com>
19582
19583         maint.mk: allow fine-grained syntax-check exclusion via Make variables
19584         Before, you would have had to create one .x-sc_ file per rule in order
19585         to exempt offending files.  Now, you may instead use a Make variable --
19586         usually defined in cfg.mk -- whose name identifies the affected rule.
19587         * top/maint.mk (_sc_excl): Define.
19588         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
19589         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
19590
19591 2011-03-13  Bruno Haible  <bruno@clisp.org>
19592
19593         ignore-value tests: Avoid warnings.
19594         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
19595         empty for gcc < 3.4.
19596
19597 2011-03-13  Bruno Haible  <bruno@clisp.org>
19598
19599         passfd: Fix link error on Solaris.
19600         * modules/passfd (Description): Correct.
19601         (Depends-on): Add socketlib.
19602         (Link): New section.
19603         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
19604
19605 2011-03-13  Bruno Haible  <bruno@clisp.org>
19606
19607         passfd: Fix link error on AIX 5.2.
19608         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
19609
19610 2011-03-13  Bruno Haible  <bruno@clisp.org>
19611
19612         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
19613         * lib/sys_socket.in.h: Include <stddef.h>.
19614         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
19615         CMSG_FIRSTHDR. Remove unused variable.
19616
19617 2011-03-13  Bruno Haible  <bruno@clisp.org>
19618
19619         passfd: Fix compilation error on OpenBSD.
19620         * lib/passfd.c: Include <sys/uio.h>.
19621
19622 2011-03-13  Bruno Haible  <bruno@clisp.org>
19623
19624         passfd test: Fix warnings.
19625         * tests/test-passfd.c: Include <sys/wait.h>.
19626         (main): Fix typo.
19627
19628 2011-03-13  Bruno Haible  <bruno@clisp.org>
19629
19630         passfd module, part 4, tweaks.
19631         * tests/test-passfd.c: Reorder includes.
19632         (main): Fix perror and printf calls.
19633
19634 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19635
19636         passfd module, part 4.
19637         * modules/passfd-tests: New file.
19638         * tests/test-passfd.c: New file.
19639
19640 2011-03-13  Jim Meyering  <meyering@redhat.com>
19641
19642         Makefile: rely on GNU make; derive syntax-check rule names
19643         Rather than requiring that each sc_ rule be listed as a dependent
19644         of "check", use features of GNU make to derive the list.
19645         * Makefile (syntax-check-rules): Define.
19646         (check): Depend on the new variable, not the hard-coded list.
19647
19648 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
19649             Bruno Haible  <bruno@clisp.org>
19650
19651         passfd module, part 3.
19652         * lib/passfd.h (recvfd): Add a flags argument.
19653         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
19654         (recvfd): Add a flags argument.
19655         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
19656         exists.
19657         * modules/passfd (Depends-on): Add cloexec.
19658         Suggested by Eric Blake.
19659
19660 2011-03-13  Bruno Haible  <bruno@clisp.org>
19661
19662         passfd module, part 2, tweaks.
19663         * modules/passfd (Files): Reorder.
19664         (Depends-on): Remove errno.
19665         (Include): Remove <sys/socket.h>, <sys/un.h>.
19666         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
19667         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
19668         specification header. Include <sys/socket.h> always. Don't include
19669         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
19670         (sendfd): Clarify that it sets errno when it fails.
19671         (recvfd): Fix specification.
19672
19673 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19674
19675         passfd module, part 2.
19676         * modules/passfd: New file.
19677         * lib/passfd.h: New file.
19678         * lib/passfd.c: New file.
19679
19680 2011-03-12  Bruno Haible  <bruno@clisp.org>
19681
19682         wcswidth, mbswidth: Avoid integer overflow.
19683         * lib/wcswidth.c: Include <limits.h>.
19684         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
19685         * lib/mbswidth.c: Include <limits.h>.
19686         (mbsnwidth): Avoid 'int' overflow.
19687         Reported by Jim Meyering.
19688
19689 2011-03-12  Bruno Haible  <bruno@clisp.org>
19690
19691         futimens, utimensat: Avoid endless recursion on Solaris 10.
19692         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
19693         Solaris.
19694         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
19695         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
19696
19697 2011-03-11  Jim Meyering  <meyering@redhat.com>
19698
19699         maint.mk: relax a regexp to accommodate other formatting styles
19700         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
19701         between "ngettext" and the following "(".
19702
19703 2011-03-11  Pádraig Brady <P@draigBrady.com>
19704
19705         maint.mk: suppress a false positive warning
19706         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
19707         diagnostics are marked with ngettext.
19708
19709 2011-03-10  Eric Blake  <eblake@redhat.com>
19710
19711         wchar: add explicit dependencies, for Tru64
19712         * modules/mbmemcasecoll (Depends-on): Add wchar.
19713         * modules/mbtowc (Depends-on): Likewise.
19714         * modules/vasnprintf (Depends-on): Likewise.
19715         * modules/unistdio/u-printf-args (Depends-on): Likewise.
19716         * modules/wctomb (Depends-on): Likewise.
19717         Reported by Peter O'Gorman.
19718
19719 2011-03-08  Bruno Haible  <bruno@clisp.org>
19720
19721         passfd module, part 1, tweaks.
19722         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
19723         Improve indentation. Improve AC_MSG_CHECKING messages.
19724         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
19725         gl_SOCKET_FAMILIES.
19726
19727 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19728
19729         passfd module, part 1.
19730         * m4/afunix.m4: New file.
19731         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
19732         sockets.
19733
19734 2011-03-08  Bruno Haible  <bruno@clisp.org>
19735
19736         regex-quote: New API.
19737         * lib/regex-quote.h: Include <stdbool.h>.
19738         (struct regex_quote_spec): New type.
19739         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19740         New declarations.
19741         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19742         'const struct regex_quote_spec *' argument.
19743         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
19744         (pcre_special): New constant.
19745         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19746         New functions.
19747         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19748         'const struct regex_quote_spec *' argument.
19749         * modules/regex-quote (Depends-on): Add stdbool.
19750         * tests/test-regex-quote.c (check): Update for new API. Add test for
19751         anchored results.
19752         * NEWS: Mention the API change.
19753         Reported by Reuben Thomas and Eric Blake.
19754
19755 2011-03-06  Bruno Haible  <bruno@clisp.org>
19756
19757         regex-quote: Fix creation of POSIX extended regular expressions.
19758         * lib/regex-quote.c (ere_special): Add grouping and alternation
19759         operators.
19760
19761 2011-03-05  Bruno Haible  <bruno@clisp.org>
19762
19763         doc: Improve doc regarding autopoint vs. gnulib.
19764         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
19765         disable autopoint while running autoreconf.
19766         Suggested by Ralf Wildenhues.
19767
19768 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19769
19770         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
19771         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
19772
19773 2011-03-03  Bruce Korb  <bkorb@gnu.org>
19774
19775         parse-duration: remove xalloc.h dependency
19776         * lib/parse-duration.c (parse_period): handle NULL return from
19777         strdup instead of calling xstrdup().
19778         * modules/parse-duration: remove "xalloc" dependency
19779
19780 2011-03-03  Matthew Booth  <mbooth@redhat.com>
19781
19782         bootstrap: honor m4_base when running aclocal
19783         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
19784
19785 2011-03-02  Jim Meyering  <meyering@redhat.com>
19786
19787         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
19788         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
19789         on request from Matt Booth.
19790
19791 2011-03-01  Eric Blake  <eblake@redhat.com>
19792
19793         test-link: work on Hurd
19794         * tests/test-link.h (test_link): Hurd rejects linking directories
19795         with EISDIR instead of the POSIX-mandated EPERM.
19796
19797 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
19798
19799         stdio: simplify by moving files to printf-posix, sigpipe
19800         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
19801         since this symbol is needed only if printf is replaced.
19802         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
19803         Require gl_ASM_SYMBOL_PREFIX.
19804         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
19805         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
19806         (Depends-on): Add 'raise'.
19807         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
19808         * modules/stdio (Files): Remove lib/stdio-write.c,
19809         m4/asm-underscore.m4.
19810         (Depends-on): Remove 'raise'.
19811
19812         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
19813         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
19814         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
19815         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
19816
19817 2011-02-28  Bruno Haible  <bruno@clisp.org>
19818
19819         localcharset: Assume ANSI C behaviour of free().
19820         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
19821         calling free().
19822         Suggested by Simon Josefsson <simon@josefsson.org>.
19823
19824 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
19825             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
19826             Bruno Haible  <bruno@clisp.org>  (tiny change)
19827
19828         On Cygwin, use /proc file system instead of win32 API.
19829         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
19830         Win32 file names.
19831         (DllMain): Simplify by removing Cygwin specific code.
19832         (find_shared_library_fullname): Use Linux specific implementation also
19833         for Cygwin.
19834         (get_shared_library_fullname): Update accordingly.
19835         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
19836         Win32 file names.
19837         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
19838         Cygwin specific code.
19839
19840 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
19841             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
19842
19843         Fix OpenMP flag detection for various Fortran compilers.
19844         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
19845         OpenMP-conditional compilation construct, to force compile
19846         failure with missing OpenMP flag.
19847         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
19848
19849 2011-02-25  Eric Blake  <eblake@redhat.com>
19850
19851         strstr: expand test coverage
19852         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
19853         compilation.
19854         * tests/test-memmem.c (main): Duplicate tests.
19855         * tests/test-strcasestr.c (main): Likewise.
19856         * tests/test-c-strcasestr.c (main): Likewise.
19857
19858 2011-02-25  Jim Meyering  <meyering@redhat.com>
19859
19860         maint.mk: detect missing-NL-at-EOF, too
19861         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
19862         it also detects when a file lacks a newline at EOF.
19863         (require_exactly_one_NL_at_EOF_): Renamed from
19864         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
19865         since people may well have .x-sc_... file names tied to the
19866         existing name.  Suggested by Eric Blake.
19867
19868 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
19869
19870         dirname: move m4/dos.m4 functionality into lib/dosname.h
19871
19872         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
19873         extracts symbols from it, puts them into config.h; but it's much
19874         easier to use the symbols directly.  filename.h already does this,
19875         but it disagrees with dos.m4 in some respects.  This patch
19876         introduces a different include file dosname.h that packages up
19877         dos.m4, and then later we can work on merging filename.h and
19878         dosname.h.  Applications that need only the easy-to-configure
19879         symbols should consider including dosname.h rather than dirname.h.
19880         * NEWS: Mention incompatible changes.
19881         * m4/dos.m4: Remove.
19882         * lib/dosname.h, modules/dosname: New files.
19883         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
19884         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
19885         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
19886         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
19887         Include dosname.h, not dirname.h.
19888         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
19889         Include dosname.h, for definitions of symbols like ISSLASH
19890         that used to be in config.h.
19891         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
19892         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
19893         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19894         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
19895         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
19896         * modules/rmdir (Files): Likewise.
19897         * modules/stat (Files): Likewise.
19898         * modules/unlink (Files): Likewise.
19899         * modules/dirname-lgpl (Depends-on): Add dosname.
19900         * modules/lstat (Depends-on): Likewise.
19901         * modules/openat (Depends-on): Likewise.
19902         * modules/rmdir (Depends-on): Likewise.
19903         * modules/savewd (Depends-on): Likewise.
19904         * modules/stat (Depends-on): Likewise.
19905         * modules/unlink (Depends-on): Likewise.
19906         * modules/openat (Depends-on): Remove dirname-lgpl.
19907         * modules/savewd (Depends-on): Likewise.
19908         * tests/test-dirname.c: Do not use removed symbols like
19909         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
19910         the remaining symbols, e.g., ISSLASH ('\\').
19911
19912 2011-02-25  Eric Blake  <eblake@redhat.com>
19913
19914         strstr: revert patches that introduced bug and pessimization
19915         * lib/str-two-way.h: Add another reference.
19916         (two_way_short_needle, two_way_long_needle): Revert changes from
19917         2011-02-24; they pessimize search speed.
19918         (critical_factorization): Partially revert changes from
19919         2010-06-22; they violate the requirement that the left half of the
19920         needle be smaller than the period of the needle.
19921
19922 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
19923
19924         filenamecat: remove unnecessary dependency on dirname-lgpl
19925         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
19926         is no direct dependency, just an indirect one via filenamecat-lgpl.
19927
19928         remove: remove unnecessary use of m4/dos.m4
19929         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
19930         * modules/remove (FILES): Remove m4/dos.m4.
19931
19932         * lib/openat-proc.c: Don't include dirname.h; not needed.
19933
19934         backupfile: remove unnecessary use of m4/dos.m4
19935         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
19936         of its symbols are used by the backupfile code.  backupfile.c does
19937         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
19938         for the rare case of programs that want all their backup file
19939         names to live within 8+3 limits, and dos.m4 doesn't address that.
19940         * modules/backupfile (Files): Remove m4/dos.m4.
19941
19942 2011-02-24  Jim Meyering  <meyering@redhat.com>
19943
19944         strstr: fix a bug whereby strstr would mistakenly return NULL
19945         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
19946         in period calculation.
19947         (two_way_long_needle): Likewise.
19948         The original problem was reported by Mike Stump in
19949         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
19950         Ralf Wildenhues provided the short needle and haystack.
19951         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
19952         Add a more involved test to trigger the bug in two_way_long_needle.
19953
19954 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19955
19956         gnulib-tool: remove use of bold display in help screen
19957         * gnulib-tool (func_usage): Do not use bold display anymore in the
19958         help screen.  That was just meant to be a temporary emphasis for a
19959         backward-incompatible change.
19960
19961 2011-02-23  Bruno Haible  <bruno@clisp.org>
19962
19963         Fix misindentation of preprocessor directives.
19964         * lib/argp-namefrob.h: Reindent preprocessor directives.
19965         * lib/getopt_int.h (struct _getopt_data): Likewise.
19966         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
19967         * lib/vasnprintf.c (decode_long_double): Likewise.
19968         * tests/test-argmatch.c: Insert blank lines, for clarity.
19969         * tests/test-exclude.c: Likewise.
19970
19971 2011-02-22  Bruno Haible  <bruno@clisp.org>
19972
19973         ioctl: Fix for MacOS X in 64-bit mode.
19974         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
19975         value.
19976         Suggested by Eric Blake.
19977         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
19978
19979 2011-02-22  Jim Meyering  <meyering@redhat.com>
19980
19981         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
19982         * Makefile (sc_cpp_indent_check): Don't limit the check to files
19983         in lib/.
19984
19985 2011-02-22  Eric Blake  <eblake@redhat.com>
19986
19987         maint: avoid any CDPATH issue
19988         * Makefile (sc_cpp_indent_check): Anchor cd argument.
19989
19990         maint: adjust cpp indentation for my modules, as well
19991         * Makefile (sc_cpp_indent_check): Add my name.
19992         * lib/fbufmode.c: Filter through cppi.
19993         * lib/fpurge.c: Likewise.
19994         * lib/freadable.c: Likewise.
19995         * lib/freading.c: Likewise.
19996         * lib/fwritable.c: Likewise.
19997         * lib/fwriting.c: Likewise.
19998         * lib/sigaction.c: Likewise.
19999
20000 2011-02-22  Jim Meyering  <meyering@redhat.com>
20001
20002         maint: adjust cpp indentation to reflect nesting depth
20003         I.e., in a block of code that begins with an unnested "#if",
20004         put one space between the "#" in column 1 and following token.
20005         For example,
20006         -#include <sys/vfs.h>
20007         +# include <sys/vfs.h>
20008         Do this only in .c files that are part of a module I maintain.
20009         * lib/linkat.c: Filter through cppi.
20010         * lib/nanosleep.c: Likewise.
20011         * lib/openat.c: Likewise.
20012         * lib/openat-die.c: Likewise.
20013         * lib/dup3.c: Likewise.
20014         * lib/fchownat.c: Likewise.
20015         * lib/flock.c: Likewise.
20016         * lib/fsync.c: Likewise.
20017         * lib/fts.c: Likewise.
20018         * lib/getpass.c: Likewise.
20019         * lib/gettimeofday.c: Likewise.
20020         * lib/userspec.c: Likewise.
20021         * Makefile (sc_cpp_indent_check): New rule, to check this.
20022
20023 2011-02-22  Bruno Haible  <bruno@clisp.org>
20024
20025         New module 'wctomb'.
20026         * lib/stdlib.in.h (wctomb): New declaration.
20027         * lib/wctomb.c: New file.
20028         * lib/wctomb-impl.h: New file.
20029         * m4/wctomb.m4: New file.
20030         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
20031         REPLACE_WCTOMB.
20032         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
20033         REPLACE_WCTOMB.
20034         * modules/wctomb: New file.
20035         * tests/test-stdlib-c++.cc: Test signature of wctomb.
20036         * doc/posix-functions/wctomb.texi: Mention the new module.
20037         * modules/wctob (Depends-on): Add wctomb.
20038
20039 2011-02-22  Bruno Haible  <bruno@clisp.org>
20040
20041         New module 'mbtowc'.
20042         * lib/stdlib.in.h (mbtowc): New declaration.
20043         * lib/mbtowc.c: New file.
20044         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
20045         * m4/mbtowc.m4: New file.
20046         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
20047         REPLACE_MBTOWC.
20048         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
20049         REPLACE_MBTOWC.
20050         * modules/mbtowc: New file.
20051         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
20052         * doc/posix-functions/mbtowc.texi: Mention the new module.
20053         * modules/btowc (Depends-on): Add mbtowc.
20054
20055 2011-02-22  Bruno Haible  <bruno@clisp.org>
20056
20057         wcrtomb: Add more tests for native Windows platforms.
20058         * tests/test-wcrtomb-w32-1.sh: New file.
20059         * tests/test-wcrtomb-w32-2.sh: New file.
20060         * tests/test-wcrtomb-w32-3.sh: New file.
20061         * tests/test-wcrtomb-w32-4.sh: New file.
20062         * tests/test-wcrtomb-w32-5.sh: New file.
20063         * tests/test-wcrtomb-w32.c: New file.
20064         * modules/wcrtomb-tests (Files): Add them.
20065         (Makefile.am): Arrange to run these tests.
20066         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
20067         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
20068
20069 2011-02-20  Bruno Haible  <bruno@clisp.org>
20070
20071         wcrtomb: Enhance test.
20072         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
20073
20074 2011-02-20  Bruno Haible  <bruno@clisp.org>
20075
20076         mbrtowc: Tiny optimization.
20077         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
20078
20079 2011-02-20  Jim Meyering  <meyering@redhat.com>
20080
20081         test-exclude.c: remove unmatched #endif
20082         * tests/test-exclude.c: Remove stray #endif, left over from
20083         the change of a week ago.
20084
20085 2011-02-19  Jim Meyering  <meyering@redhat.com>
20086
20087         git-version-gen: skip "-dirty" check when appropriate
20088         * build-aux/git-version-gen: Don't run any git commands when the
20089         version string comes from .tarball-version.  Prior to this, we
20090         would run git update-index --refresh even from a just-unpacked
20091         tarball directory, and that could affect a .git/ directory in a
20092         parent of the build directory.  Reported by Mike Frysinger.
20093
20094 2011-02-19  Bruno Haible  <bruno@clisp.org>
20095
20096         unictype/property-byname: Reduce the size of the 'data' segment.
20097         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
20098
20099 2011-02-19  Bruno Haible  <bruno@clisp.org>
20100
20101         unictype/scripts: Reduce the size of the 'data' segment.
20102         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
20103         '%pic'.
20104         * lib/unictype/scripts_byname.gperf: Regenerated.
20105
20106 2011-02-19  Bruno Haible  <bruno@clisp.org>
20107
20108         stdint: Update documentation.
20109         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
20110
20111 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
20112
20113         stdint: omit redundant check for wchar.h
20114         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
20115         always tests whether wchar.h exists, so remove the now-redundant test.
20116
20117 2011-02-18  Bruno Haible  <bruno@clisp.org>
20118
20119         stdint: Cut dependency to module 'wchar'.
20120         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
20121         include the necessary prerequisites.
20122         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
20123         * modules/stdint (Depends-on): Remove wchar.
20124         (Makefile.am): Substitute HAVE_WCHAR_H.
20125         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
20126
20127 2011-02-18  Eric Blake  <eblake@redhat.com>
20128
20129         longlong: skip, rather than fail, on cross-compilation
20130         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
20131         when cross-compiling; regression from 2011-02-16.
20132
20133 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
20134
20135         * NEWS: Mention 2011-02-08 change to stdlib.
20136
20137 2011-02-17  Bruno Haible  <bruno@clisp.org>
20138
20139         getloadavg: Add comments about platforms.
20140         * m4/getloadavg.m4: Add comment.
20141         * lib/getloadavg.c: Likewise.
20142
20143 2011-02-17  Bruno Haible  <bruno@clisp.org>
20144
20145         getloadavg: Fix link error on Solaris 2.6.
20146         * modules/getloadavg (Link): New section.
20147         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
20148         linking test-getloadavg.
20149         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
20150         getloadavg.
20151
20152 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
20153
20154         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
20155         It was 'int', but this doesn't match the IRIX 6.5 manual.
20156         Suggested by Bruno Haible in
20157         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
20158
20159 2011-02-17  Bruno Haible  <bruno@clisp.org>
20160
20161         havelib: Fix comments.
20162         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
20163         change.
20164
20165 2011-02-17  Bruno Haible  <bruno@clisp.org>
20166
20167         havelib: Update config.rpath.
20168         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
20169
20170 2011-02-17  Bruno Haible  <bruno@clisp.org>
20171
20172         getloadavg test: Add some plausibility checks.
20173         * tests/test-getloadavg.c (check_avg): Print a warning when the value
20174         is improbable.
20175
20176 2011-02-16  Eric Blake  <eblake@redhat.com>
20177
20178         maintainer-makefile: make syntax-check a no-op from tarballs
20179         * top/maint.mk (no-vc-detected): New rule.
20180         (local-checks-available): Use it to avoid hanging if someone tries
20181         'make syntax-check' from a tarball.  Also append to any non-syntax
20182         checks already defined in cfg.mk.
20183
20184 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
20185
20186         longlong: tune, particularly for common case of c99
20187
20188         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
20189         or running anything if c99, or if unsigned long long int does not
20190         work.  In either case, we know the answer without further tests.
20191         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
20192         it at most once, and use its results for both long long int and
20193         unsigned long long int.  This is more likely to be efficient in
20194         the common case where the program wants to check for both long
20195         long int and unsigned long long int.
20196         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
20197         since the answer is already known.
20198
20199 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
20200
20201         getloadavg: set errno
20202         * lib/getloadavg.c: Set errno when returning -1.  If no other
20203         error number looks appropriate, set it to ENOSYS if the getloadavg
20204         looks like it can't possibly ever work, ENOTSUP otherwise.
20205         Suggested by Bruno Haible in
20206         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
20207
20208         getloadavg: trim unused parts and speed up 'configure'
20209         * NEWS: Document this.
20210         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
20211         always compiled if getloadavg is absent.
20212         Move test code to ...
20213         * tests/test-getloadavg.c: New file, containing previous
20214         contents of test from lib/getloadavg.c.  It also contains
20215         suggestions by Bruno Haible in
20216         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
20217         * modules/getloadavg-tests: New file.
20218         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
20219         Do tests in the same order as they're needed for getloadavg.c.
20220         Omit setgid-related tests that generate symbols KMEM_GROUP,
20221         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
20222         Do only the tests that are needed to see whether the system has
20223         getloadavg, moving the other tests into ...
20224         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
20225         NLIST_NAME_UNION; nobody should be using it.  Do not define
20226         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
20227         relevant, as the user of this module shouldn't care how getloadavg
20228         is implemented.
20229
20230         getloadavg: omit unused var
20231         * lib/getloadavg.c (getloadavg): Omit unused local variable.
20232
20233 2011-02-15  Jim Meyering  <meyering@redhat.com>
20234
20235         doc: update users.txt
20236         * users.txt: Update iwhd's URL.
20237
20238 2011-02-13  Bruno Haible  <bruno@clisp.org>
20239
20240         Consistent macro naming for macros that use GCC __attribute__.
20241         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
20242         _ATTRIBUTE_NONNULL_.
20243         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
20244         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
20245         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
20246         ATTRIBUTE_DEPRECATED.
20247         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
20248         ATTRIBUTE_NORETURN.
20249         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20250         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20251         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20252         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20253         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
20254         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
20255         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
20256         ATTRIBUTE_SENTINEL.
20257         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
20258         ATTRIBUTE_RETURN_CHECK.
20259         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
20260         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
20261         ATTRIBUTE_NORETURN.
20262         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
20263         Reported by Paul Eggert.
20264
20265 2011-02-13  Bruno Haible  <bruno@clisp.org>
20266
20267         Don't interfere with a program's definition of __attribute__.
20268         * lib/argp.h (__attribute__): Remove definition.
20269         (_GL_ATTRIBUTE_FORMAT): New macro.
20270         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
20271         * lib/argp-fmtstream.h (__attribute__): Remove definition.
20272         (_GL_ATTRIBUTE_FORMAT): New macro.
20273         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
20274         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
20275         GCC 3 or newer.
20276         * lib/error.h (__attribute__): Remove definition.
20277         (_GL_ATTRIBUTE_FORMAT): New macro.
20278         (error, error_at_line): Use it.
20279         * lib/hash.h (__attribute__): Remove definition.
20280         (ATTRIBUTE_WUR): Update definition. Define always.
20281         * lib/openat.h (__attribute__): Remove definition.
20282         (ATTRIBUTE_NORETURN): Update definition. Define always.
20283         * lib/sigpipe-die.h (__attribute__): Remove definition.
20284         (ATTRIBUTE_NORETURN): Update definition. Define always.
20285         * lib/vasnprintf.h (__attribute__): Remove definition.
20286         (_GL_ATTRIBUTE_FORMAT): New macro.
20287         (asnprintf, vasnprintf): Use it.
20288         * lib/xalloc.h (__attribute__): Remove definition.
20289         (ATTRIBUTE_NORETURN): Update definition. Define always.
20290         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
20291         * lib/xmemdup0.h (__attribute__): Remove definition.
20292         (ATTRIBUTE_NORETURN): Update definition. Define always.
20293         * lib/xprintf.h (__attribute__): Remove definition.
20294         (_GL_ATTRIBUTE_FORMAT): New macro.
20295         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
20296         * lib/xstrtol.h (__attribute__): Remove definition.
20297         (ATTRIBUTE_NORETURN): Update definition. Define always.
20298         * lib/xvasprintf.h (__attribute__): Remove definition.
20299         (_GL_ATTRIBUTE_FORMAT): New macro.
20300         (xasprintf, xvasprintf): Use it.
20301         * tests/test-argmatch.c (__attribute__): Remove definition.
20302         (ATTRIBUTE_NORETURN): Update definition. Define always.
20303         * tests/test-exclude.c (__attribute__): Remove definition.
20304         (ATTRIBUTE_NORETURN): Update definition. Define always.
20305         Reported by Paul Eggert.
20306
20307 2011-02-13  Bruno Haible  <bruno@clisp.org>
20308
20309         mbrtowc: Add more tests for native Windows platforms.
20310         * tests/test-mbrtowc-w32-1.sh: New file.
20311         * tests/test-mbrtowc-w32-2.sh: New file.
20312         * tests/test-mbrtowc-w32-3.sh: New file.
20313         * tests/test-mbrtowc-w32-4.sh: New file.
20314         * tests/test-mbrtowc-w32-5.sh: New file.
20315         * tests/test-mbrtowc-w32.c: New file.
20316         * modules/mbrtowc-tests (Files): Add them.
20317         (Makefile.am): Arrange to run these tests.
20318         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
20319         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
20320
20321 2011-02-13  Bruno Haible  <bruno@clisp.org>
20322
20323         mbrtowc: Work around native Windows bug.
20324         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
20325         guess when no suitable locale for testing was found.
20326         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
20327
20328 2011-02-13  Bruno Haible  <bruno@clisp.org>
20329
20330         mbsinit: Work around mingw bug.
20331         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
20332         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
20333         Windows.
20334         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
20335
20336 2011-02-13  Bruno Haible  <bruno@clisp.org>
20337
20338         mbsinit: Don't crash for a NULL argument.
20339         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
20340         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
20341
20342 2011-02-13  Bruno Haible  <bruno@clisp.org>
20343
20344         Don't interfere with a program's definition of __attribute__.
20345         * lib/stdio.in.h (__attribute__): Remove definition.
20346         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
20347         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
20348         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
20349         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
20350         * lib/string.in.h (__attribute__): Remove definition.
20351         Reported by Paul Eggert.
20352
20353 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
20354
20355         stdlib: don't get in the way of non-GCC __attribute__
20356         See thread starting at
20357         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
20358         Revert previous stdlib change, installing the following instead:
20359         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
20360         to get in the way of a non-GCC compiler that supports __attribute__.
20361         (_GL_ATTRIBUTE_RETURN): New macro.
20362         (_Exit): Use it instead of __attribute__.
20363
20364 2011-02-12  Bruno Haible  <bruno@clisp.org>
20365
20366         quotearg test: Avoid test failure on mingw.
20367         * tests/test-quotearg.sh: Convert the locale identifier from native
20368         Windows syntax to Unix syntax.
20369
20370 2011-02-12  Bruno Haible  <bruno@clisp.org>
20371
20372         setlocale: Prefer gnulib's override over libintl's override.
20373         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
20374         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
20375         GNULIB_defined_setlocale is set.
20376
20377 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
20378
20379         stdlib: support non-GCC __attribute__
20380
20381         Fix a serious and tricky problem encountered when attempting to
20382         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
20383         5.5, but it crashed due to memory corruption on Solaris 10 with
20384         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
20385         bits that are otherwise zero.  This tagging is optional inside
20386         Emacs but is preferred and is used when __attribute__ ((__aligned
20387         (8))) works, as it does with both recent-enough GCC and with Sun C
20388         5.11.  However, Sun C 5.11 is not GCC and does not #define
20389         __GNUC__ and __GNUC_MINOR__.
20390
20391         When I added the getloadavg module to Emacs, it brought in
20392         stdlib.in.h, which contained this fragment:
20393
20394            #ifndef __attribute__
20395            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
20396            #  define __attribute__(Spec)   /* empty */
20397            # endif
20398            #endif
20399
20400         When files that include <stdlib.h> were compiled with Sun C 5.11,
20401         the above code disabled __attribute__ ((__aligned (8))), which
20402         caused variables to not be properly aligned, which eventually led
20403         to the pointer corruption mentioned above.  (This was a bit hard
20404         to diagnose, unfortunately.)
20405
20406         Several "#define __attribute__(X) /* empty */" code snippets need
20407         to be eradicated from Gnulib to work with non-GCC compilers that
20408         support __attribute__.  The Autoconf way to do this is to test for
20409         each kind of attribute that we want support for, and selectively
20410         enable that in source code.
20411
20412         Fix this problem just for stdlib.h, by adding a test for the
20413         __noreturn__ attribute, and change stdlib.in.h to use that test
20414         when needed.  This technique can be easily generalized to the
20415         other *.in.h files and attributes, and a similar technique can be
20416         used for *.h and *.c files.  This patch is enough to solve the
20417         problem for Emacs + getloadavg, and I thought I'd publish it for
20418         feedback before undertaking further, similar fixes in other
20419         modules.
20420
20421         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
20422         because it's not needed for stdlib.h.  It merely substitutes the
20423         value directly into stdlib.h.  We may well need to #define it, or
20424         similar symbols, for other modules, but it's nice to also have an
20425         option to not #define it for applications like Emacs that do not
20426         need it.
20427
20428         * lib/stdlib.in.h (__attribute__): Do not #define.
20429         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
20430         be defined only if the _Exit module is also used.
20431         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
20432         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
20433         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
20434         platforms.
20435         * modules/_Exit (Files): Add m4/attribute.m4.
20436         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
20437         * m4/attribute.m4: New file.
20438
20439 2011-02-12  Bruno Haible  <bruno@clisp.org>
20440
20441         wcsrtombs: Work around bug on native Windows.
20442         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
20443         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
20444         instead of len.
20445         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
20446
20447 2011-02-12  Bruno Haible  <bruno@clisp.org>
20448
20449         mbsrtowcs: Work around bug on native Windows.
20450         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
20451         against mingw bug.
20452         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
20453
20454 2011-02-12  Bruno Haible  <bruno@clisp.org>
20455
20456         Avoid setlocale bugs in tests.
20457         * modules/btowc (Dependencies): Add setlocale.
20458         * modules/c-strcase (Dependencies): Likewise.
20459         * modules/mbmemcasecmp (Dependencies): Likewise.
20460         * modules/mbmemcasecoll (Dependencies): Likewise.
20461         * modules/mbrtowc (Dependencies): Likewise.
20462         * modules/mbscasecmp (Dependencies): Likewise.
20463         * modules/mbscasestr (Dependencies): Likewise.
20464         * modules/mbschr (Dependencies): Likewise.
20465         * modules/mbscspn (Dependencies): Likewise.
20466         * modules/mbsinit (Dependencies): Likewise.
20467         * modules/mbsncasecmp (Dependencies): Likewise.
20468         * modules/mbsnrtowcs (Dependencies): Likewise.
20469         * modules/mbspbrk (Dependencies): Likewise.
20470         * modules/mbspcasecmp (Dependencies): Likewise.
20471         * modules/mbsrchr (Dependencies): Likewise.
20472         * modules/mbsrtowcs (Dependencies): Likewise.
20473         * modules/mbsspn (Dependencies): Likewise.
20474         * modules/mbsstr (Dependencies): Likewise.
20475         * modules/nl_langinfo (Dependencies): Likewise.
20476         * modules/quotearg (Dependencies): Likewise.
20477         * modules/unicase/locale-language (Dependencies): Likewise.
20478         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
20479         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
20480         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
20481         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
20482         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
20483         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
20484         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
20485         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
20486         * modules/vasnprintf-posix (Dependencies): Likewise.
20487         * modules/wcrtomb (Dependencies): Likewise.
20488         * modules/wcsnrtombs (Dependencies): Likewise.
20489         * modules/wcsrtombs (Dependencies): Likewise.
20490
20491 2011-02-12  Bruno Haible  <bruno@clisp.org>
20492
20493         setlocale: Workaround native Windows bug.
20494         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
20495         succeeds but sets LC_CTYPE to "C", report a failure.
20496         * tests/test-setlocale2.sh: New file.
20497         * tests/test-setlocale2.c: New file.
20498         * modules/setlocale-tests (Files): Add the new files.
20499         (Makefile.am): Enable test-setlocale2.sh test.
20500         * doc/posix-functions/setlocale.texi: Mention workaround.
20501
20502 2011-02-11  Bruno Haible  <bruno@clisp.org>
20503
20504         Tests for module 'setlocale'.
20505         * modules/setlocale-tests: New file.
20506         * tests/test-setlocale1.sh: New file.
20507         * tests/test-setlocale1.c: New file.
20508
20509         New module 'setlocale'.
20510         * lib/locale.in.h (setlocale): New declaration.
20511         * lib/setlocale.c: New file, based on
20512         gettext/gettext-runtime/intl/setlocale.c.
20513         * m4/setlocale.m4: New file.
20514         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
20515         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
20516         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
20517         REPLACE_SETLOCALE.
20518         * modules/setlocale: New file.
20519         * tests/test-locale-c++.cc: Test the declaration of setlocale.
20520         * doc/posix-functions/setlocale.texi: Mention the new module.
20521
20522 2011-02-11  Bruno Haible  <bruno@clisp.org>
20523
20524         Prepare for locale dependent tests on mingw.
20525         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
20526         because it has the wrong locale encoding.
20527         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
20528         French_France.1252 instead of "fr".
20529         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
20530         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
20531         because it has the wrong locale encoding.
20532         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
20533         native Windows, try Turkish_Turkey.65001.
20534         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
20535         Chinese_China.54936.
20536
20537         Prepare for locale dependent tests on mingw.
20538         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
20539         differently.
20540         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
20541         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
20542         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20543         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20544
20545 2011-02-11  Eric Blake  <eblake@redhat.com>
20546
20547         strptime: avoid compiler warnings
20548         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
20549         compiler warnings about dead code.
20550         Reported by Daniel P. Berrange.
20551
20552 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
20553
20554         doc: update users.txt
20555         * users.txt: Add rcs.
20556
20557 2011-02-10  John W. Eaton  <jwe@gnu.org>
20558
20559         doc: update users.txt
20560         * users.txt: Add octave.
20561
20562 2011-02-10  Jim Meyering  <meyering@redhat.com>
20563
20564         doc: update users.txt
20565         * users.txt: Add iwhd.
20566
20567 2011-02-09  Bruno Haible  <bruno@clisp.org>
20568
20569         gnulib-tool: Make copyright notice adjustment more robust.
20570         * gnulib-tool (func_import): In sed_transform_main_lib_file,
20571         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
20572         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
20573         License".
20574         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
20575
20576 2011-02-06  Bruno Haible  <bruno@clisp.org>
20577
20578         New module 'towctrans'.
20579         * modules/towctrans: New file.
20580         * lib/wctype.in.h (towctrans): New declaration.
20581         * lib/towctrans.c: New file.
20582         * lib/towctrans-impl.h: New file.
20583         * m4/towctrans.m4: New file.
20584         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
20585         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
20586         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
20587         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
20588         * doc/posix-functions/towctrans.texi: Mention the new module.
20589
20590 2011-02-06  Bruno Haible  <bruno@clisp.org>
20591
20592         New module 'wctrans'.
20593         * modules/wctrans: New file.
20594         * lib/wctype.in.h (wctrans): New declaration.
20595         * lib/wctrans.c: New file.
20596         * lib/wctrans-impl.h: New file.
20597         * m4/wctrans.m4: New file.
20598         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
20599         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
20600         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
20601         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
20602         * doc/posix-functions/wctrans.texi: Mention the new module.
20603
20604 2011-02-06  Bruno Haible  <bruno@clisp.org>
20605
20606         New module 'iswctype'.
20607         * modules/iswctype: New file.
20608         * lib/wctype.in.h (iswctype): New declaration.
20609         * lib/iswctype.c: New file.
20610         * lib/iswctype-impl.h: New file.
20611         * m4/iswctype.m4: New file.
20612         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
20613         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
20614         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
20615         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
20616         * doc/posix-functions/iswctype.texi: Mention the new module and the
20617         HP-UX 11.00 problem.
20618
20619 2011-02-06  Bruno Haible  <bruno@clisp.org>
20620
20621         New module 'wctype'.
20622         * modules/wctype: Change to represent the wctype() substitute.
20623         * lib/wctype.in.h (wctype): New declaration.
20624         * lib/wctype.c: New file.
20625         * lib/wctype-impl.h: New file.
20626         * m4/wctype.m4: New file.
20627         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
20628         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
20629         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
20630         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
20631         * doc/posix-functions/wctype.texi: Mention the new module and the
20632         HP-UX 11.00 problem.
20633
20634 2011-02-06  Bruno Haible  <bruno@clisp.org>
20635
20636         wctype-h: Ensure wctype_t and wctrans_t are defined.
20637         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
20638         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20639         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20640         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
20641         HAVE_WCTRANS_T.
20642         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
20643
20644 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
20645
20646         flock: fix license typo
20647
20648         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
20649         omitted.
20650
20651 2011-02-08  Bruno Haible  <bruno@clisp.org>
20652
20653         Split large sed scripts, for HP-UX sed.
20654         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
20655         to avoid HP-UX limit of 99 commands, in the near future.
20656         * modules/stdlib (Makefile.am): Likewise.
20657         * modules/unistd (Makefile.am): Likewise.
20658         * modules/wchar (Makefile.am): Likewise.
20659         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20660         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
20661         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
20662
20663 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20664             Bruno Haible  <bruno@clisp.org>
20665
20666         stdlib: improve random_r modularization
20667         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
20668         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
20669         you also need the random_r module to get this material right.
20670         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
20671         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
20672         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
20673
20674 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20675
20676         stdlib: don't depend on stdint
20677         * lib/stdlib.in.h: Don't include <stdint.h> merely because
20678         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
20679         be independent of whether stdint.h is needed.
20680         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
20681         here, instead of ...
20682         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
20683         struct random_data should be using the random_r module, not just
20684         the stdlib module (which wouldn't make sense: what package needs
20685         just struct random_data without also needing random_r?).
20686         * modules/stdlib (Depends-on): Remove stdint.
20687
20688         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
20689         See the thread rooted at
20690         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
20691         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
20692         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
20693         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
20694         __VMS)); previously it was always included (via fcntl--.h).
20695         (getloadavg): Do not use c_strtod.  Instead, approximate it by
20696         hand; this is good enough for load averages.  Also, do not use
20697         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
20698         flags directly if available and don't bother otherwise.  (Packages
20699         that need the extra reliability should use the modules that define
20700         these flags on older platforms that lack them.)
20701         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
20702         fcntl-safer.
20703
20704 2011-02-08  Jim Meyering  <meyering@redhat.com>
20705
20706         di-set.h, ino-map.h: add multiple-inclusion guard
20707         Technically, the guard is required only for ino-map.h, due to its
20708         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
20709         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
20710         * lib/ino-map.h: Likewise.
20711
20712 2011-02-06  Bruno Haible  <bruno@clisp.org>
20713
20714         iswblank: Ensure declaration on glibc systems.
20715         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
20716         * modules/iswblank (Dependencies): Add 'extensions'.
20717         * doc/posix-functions/iswblank.texi: Document the glibc problem.
20718
20719 2011-02-06  Bruno Haible  <bruno@clisp.org>
20720
20721         New module 'iswblank'.
20722         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
20723         * modules/iswblank: New file.
20724         * modules/wctype-h (Files): Remove lib/iswblank.c.
20725         (Makefile.am): Substitute GNULIB_ISWBLANK.
20726         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
20727         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
20728         (gl_WCTYPE_H_DEFAULTS): New macro.
20729         (gl_WCTYPE_H): Require it. Remove iswblank related code.
20730         * modules/iswblank-tests: New file.
20731         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
20732         * tests/test-wctype-h.c (main): Remove iswblank tests.
20733         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
20734         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
20735         of 'wctype-h'.
20736         * NEWS: Mention the change.
20737         * modules/mbchar (Depends-on): Add iswblank.
20738
20739 2011-02-08  Bruno Haible  <bruno@clisp.org>
20740
20741         di-set tests: Refactor.
20742         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
20743         unnecessary includes.
20744         (ASSERT): Remove macro.
20745         (main): Make C90 compliant by avoiding variable declaration after
20746         statement.
20747         * modules/di-set-tests (Files): Add tests/macros.h.
20748
20749 2011-02-08  Bruno Haible  <bruno@clisp.org>
20750
20751         ino-map tests: Refactor.
20752         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
20753         unnecessary includes.
20754         (ASSERT): Remove macro.
20755         (main): Make C90 compliant by avoiding variable declaration after
20756         statement.
20757         * modules/ino-map-tests (Files): Add tests/macros.h.
20758
20759 2011-02-08  Jim Meyering  <meyering@redhat.com>
20760
20761         di-set: add "const" to a cast
20762         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
20763         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
20764
20765 2011-02-06  Bruno Haible  <bruno@clisp.org>
20766
20767         Rename module 'wctype' to 'wctype-h'.
20768         * modules/wctype-h: Renamed from modules/wctype.
20769         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
20770         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
20771         (Files, Depends-on, Makefile.am): Update.
20772         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
20773         (Files, Makefile.am): Update.
20774         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
20775         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
20776         * doc/posix-headers/wctype.texi: Update.
20777         * doc/posix-functions/iswalnum.texi: Update.
20778         * doc/posix-functions/iswalpha.texi: Update.
20779         * doc/posix-functions/iswblank.texi: Update.
20780         * doc/posix-functions/iswcntrl.texi: Update.
20781         * doc/posix-functions/iswdigit.texi: Update.
20782         * doc/posix-functions/iswgraph.texi: Update.
20783         * doc/posix-functions/iswlower.texi: Update.
20784         * doc/posix-functions/iswprint.texi: Update.
20785         * doc/posix-functions/iswpunct.texi: Update.
20786         * doc/posix-functions/iswspace.texi: Update.
20787         * doc/posix-functions/iswupper.texi: Update.
20788         * doc/posix-functions/iswxdigit.texi: Update.
20789         * doc/posix-functions/towlower.texi: Update.
20790         * doc/posix-functions/towupper.texi: Update.
20791         * NEWS: Mention the change.
20792         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
20793         * modules/mbchar (Dependencies): Likewise.
20794         * modules/mbswidth (Dependencies): Likewise.
20795         * modules/quotearg (Dependencies): Likewise.
20796         * modules/regex (Dependencies): Likewise.
20797         * modules/wcscasecmp (Dependencies): Likewise.
20798         * modules/wcsncasecmp (Dependencies): Likewise.
20799         * modules/wcwidth (Dependencies): Likewise.
20800
20801 2011-02-06  Bruno Haible  <bruno@clisp.org>
20802
20803         New module 'wcswidth'.
20804         * modules/wcswidth: New file.
20805         * lib/wchar.in.h (wcswidth): New declaration.
20806         * lib/wcswidth.c: New file.
20807         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
20808         * m4/wcswidth.m4: New file.
20809         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
20810         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
20811         REPLACE_WCSWIDTH.
20812         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
20813         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
20814         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
20815         * doc/posix-functions/wcswidth.texi: Mention the new module.
20816
20817 2011-02-06  Bruno Haible  <bruno@clisp.org>
20818
20819         New module 'wcstok'.
20820         * modules/wcstok: New file.
20821         * lib/wchar.in.h (wcstok): New declaration.
20822         * lib/wcstok.c: New file.
20823         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
20824         * m4/wcstok.m4: New file.
20825         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
20826         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
20827         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
20828         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
20829         * doc/posix-functions/wcstok.texi: Mention the new module.
20830
20831 2011-02-06  Bruno Haible  <bruno@clisp.org>
20832
20833         New module 'wcsstr'.
20834         * modules/wcsstr: New file.
20835         * lib/wchar.in.h (wcsstr): New declaration.
20836         * lib/wcsstr.c: New file.
20837         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
20838         * m4/wcsstr.m4: New file.
20839         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
20840         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
20841         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
20842         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
20843         * doc/posix-functions/wcsstr.texi: Mention the new module.
20844
20845 2011-02-06  Bruno Haible  <bruno@clisp.org>
20846
20847         New module 'wcspbrk'.
20848         * modules/wcspbrk: New file.
20849         * lib/wchar.in.h (wcspbrk): New declaration.
20850         * lib/wcspbrk.c: New file.
20851         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
20852         * m4/wcspbrk.m4: New file.
20853         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
20854         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
20855         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
20856         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
20857         * doc/posix-functions/wcspbrk.texi: Mention the new module.
20858
20859 2011-02-06  Bruno Haible  <bruno@clisp.org>
20860
20861         New module 'wcsspn'.
20862         * modules/wcsspn: New file.
20863         * lib/wchar.in.h (wcsspn): New declaration.
20864         * lib/wcsspn.c: New file.
20865         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
20866         * m4/wcsspn.m4: New file.
20867         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
20868         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
20869         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
20870         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
20871         * doc/posix-functions/wcsspn.texi: Mention the new module.
20872
20873 2011-02-06  Bruno Haible  <bruno@clisp.org>
20874
20875         New module 'wcscspn'.
20876         * modules/wcscspn: New file.
20877         * lib/wchar.in.h (wcscspn): New declaration.
20878         * lib/wcscspn.c: New file.
20879         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
20880         * m4/wcscspn.m4: New file.
20881         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
20882         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
20883         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
20884         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
20885         * doc/posix-functions/wcscspn.texi: Mention the new module.
20886
20887 2011-02-06  Bruno Haible  <bruno@clisp.org>
20888
20889         New module 'wcsrchr'.
20890         * modules/wcsrchr: New file.
20891         * lib/wchar.in.h (wcsrchr): New declaration.
20892         * lib/wcsrchr.c: New file.
20893         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
20894         * m4/wcsrchr.m4: New file.
20895         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
20896         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
20897         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
20898         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
20899         * doc/posix-functions/wcsrchr.texi: Mention the new module.
20900
20901 2011-02-06  Bruno Haible  <bruno@clisp.org>
20902
20903         New module 'wcschr'.
20904         * modules/wcschr: New file.
20905         * lib/wchar.in.h (wcschr): New declaration.
20906         * lib/wcschr.c: New file.
20907         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
20908         * m4/wcschr.m4: New file.
20909         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
20910         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
20911         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
20912         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
20913         * doc/posix-functions/wcschr.texi: Mention the new module.
20914
20915 2011-02-06  Bruno Haible  <bruno@clisp.org>
20916
20917         New module 'wcsdup'.
20918         * modules/wcsdup: New file.
20919         * lib/wchar.in.h (wcsdup): New declaration.
20920         * lib/wcsdup.c: New file.
20921         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
20922         * m4/wcsdup.m4: New file.
20923         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
20924         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
20925         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
20926         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
20927         * doc/posix-functions/wcsdup.texi: Mention the new module.
20928
20929 2011-02-06  Bruno Haible  <bruno@clisp.org>
20930
20931         New module 'wcsxfrm'.
20932         * modules/wcsxfrm: New file.
20933         * lib/wchar.in.h (wcsxfrm): New declaration.
20934         * lib/wcsxfrm.c: New file.
20935         * lib/wcsxfrm-impl.h: New file.
20936         * m4/wcsxfrm.m4: New file.
20937         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
20938         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
20939         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
20940         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
20941         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
20942
20943 2011-02-06  Bruno Haible  <bruno@clisp.org>
20944
20945         New module 'wcscoll'.
20946         * modules/wcscoll: New file.
20947         * lib/wchar.in.h (wcscoll): New declaration.
20948         * lib/wcscoll.c: New file.
20949         * lib/wcscoll-impl.h: New file.
20950         * m4/wcscoll.m4: New file.
20951         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
20952         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
20953         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
20954         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
20955         * doc/posix-functions/wcscoll.texi: Mention the new module.
20956
20957 2011-02-06  Bruno Haible  <bruno@clisp.org>
20958
20959         New module 'wcsncasecmp'.
20960         * modules/wcsncasecmp: New file.
20961         * lib/wchar.in.h (wcsncasecmp): New declaration.
20962         * lib/wcsncasecmp.c: New file.
20963         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
20964         * m4/wcsncasecmp.m4: New file.
20965         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
20966         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
20967         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
20968         HAVE_WCSNCASECMP.
20969         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
20970         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
20971
20972 2011-02-06  Bruno Haible  <bruno@clisp.org>
20973
20974         New module 'wcscasecmp'.
20975         * modules/wcscasecmp: New file.
20976         * lib/wchar.in.h (wcscasecmp): New declaration.
20977         * lib/wcscasecmp.c: New file.
20978         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
20979         * m4/wcscasecmp.m4: New file.
20980         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
20981         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
20982         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
20983         HAVE_WCSCASECMP.
20984         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
20985         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
20986
20987 2011-02-05  Bruno Haible  <bruno@clisp.org>
20988
20989         New module 'wcsncmp'.
20990         * modules/wcsncmp: New file.
20991         * lib/wchar.in.h (wcsncmp): New declaration.
20992         * lib/wcsncmp.c: New file.
20993         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
20994         * m4/wcsncmp.m4: New file.
20995         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
20996         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
20997         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
20998         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
20999         * doc/posix-functions/wcsncmp.texi: Mention the new module.
21000
21001 2011-02-05  Bruno Haible  <bruno@clisp.org>
21002
21003         New module 'wcscmp'.
21004         * modules/wcscmp: New file.
21005         * lib/wchar.in.h (wcscmp): New declaration.
21006         * lib/wcscmp.c: New file.
21007         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
21008         * m4/wcscmp.m4: New file.
21009         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
21010         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
21011         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
21012         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
21013         * doc/posix-functions/wcscmp.texi: Mention the new module.
21014
21015 2011-02-05  Bruno Haible  <bruno@clisp.org>
21016
21017         New module 'wcsncat'.
21018         * modules/wcsncat: New file.
21019         * lib/wchar.in.h (wcsncat): New declaration.
21020         * lib/wcsncat.c: New file.
21021         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
21022         * m4/wcsncat.m4: New file.
21023         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
21024         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
21025         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
21026         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
21027         * doc/posix-functions/wcsncat.texi: Mention the new module.
21028
21029 2011-02-05  Bruno Haible  <bruno@clisp.org>
21030
21031         New module 'wcscat'.
21032         * modules/wcscat: New file.
21033         * lib/wchar.in.h (wcscat): New declaration.
21034         * lib/wcscat.c: New file.
21035         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
21036         * m4/wcscat.m4: New file.
21037         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
21038         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
21039         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
21040         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
21041         * doc/posix-functions/wcscat.texi: Mention the new module.
21042
21043 2011-02-05  Bruno Haible  <bruno@clisp.org>
21044
21045         New module 'wcpncpy'.
21046         * modules/wcpncpy: New file.
21047         * lib/wchar.in.h (wcpncpy): New declaration.
21048         * lib/wcpncpy.c: New file.
21049         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
21050         * m4/wcpncpy.m4: New file.
21051         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
21052         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
21053         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
21054         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
21055         * doc/posix-functions/wcpncpy.texi: Mention the new module.
21056
21057 2011-02-05  Bruno Haible  <bruno@clisp.org>
21058
21059         New module 'wcsncpy'.
21060         * modules/wcsncpy: New file.
21061         * lib/wchar.in.h (wcsncpy): New declaration.
21062         * lib/wcsncpy.c: New file.
21063         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
21064         * m4/wcsncpy.m4: New file.
21065         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
21066         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
21067         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
21068         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
21069         * doc/posix-functions/wcsncpy.texi: Mention the new module.
21070
21071 2011-02-05  Bruno Haible  <bruno@clisp.org>
21072
21073         New module 'wcpcpy'.
21074         * modules/wcpcpy: New file.
21075         * lib/wchar.in.h (wcpcpy): New declaration.
21076         * lib/wcpcpy.c: New file.
21077         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
21078         * m4/wcpcpy.m4: New file.
21079         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
21080         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
21081         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
21082         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
21083         * doc/posix-functions/wcpcpy.texi: Mention the new module.
21084
21085 2011-02-05  Bruno Haible  <bruno@clisp.org>
21086
21087         New module 'wcscpy'.
21088         * modules/wcscpy: New file.
21089         * lib/wchar.in.h (wcscpy): New declaration.
21090         * lib/wcscpy.c: New file.
21091         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
21092         * m4/wcscpy.m4: New file.
21093         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
21094         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
21095         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
21096         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
21097         * doc/posix-functions/wcscpy.texi: Mention the new module.
21098
21099 2011-02-05  Bruno Haible  <bruno@clisp.org>
21100
21101         New module 'wcsnlen'.
21102         * modules/wcsnlen: New file.
21103         * lib/wchar.in.h (wcsnlen): New declaration.
21104         * lib/wcsnlen.c: New file.
21105         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
21106         * m4/wcsnlen.m4: New file.
21107         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
21108         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
21109         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
21110         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
21111         * doc/posix-functions/wcsnlen.texi: Mention the new module.
21112
21113 2011-02-05  Bruno Haible  <bruno@clisp.org>
21114
21115         New module 'wcslen'.
21116         * modules/wcslen: New file.
21117         * lib/wchar.in.h (wcslen): New declaration.
21118         * lib/wcslen.c: New file.
21119         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
21120         * m4/wcslen.m4: New file.
21121         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
21122         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
21123         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
21124         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
21125         * doc/posix-functions/wcslen.texi: Mention the new module.
21126
21127 2011-02-05  Bruno Haible  <bruno@clisp.org>
21128
21129         New module 'wmemset'.
21130         * modules/wmemset: New file.
21131         * lib/wchar.in.h (wmemset): New declaration.
21132         * lib/wmemset.c: New file.
21133         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
21134         * m4/wmemset.m4: New file.
21135         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
21136         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
21137         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
21138         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
21139         * doc/posix-functions/wmemset.texi: Mention the new module.
21140
21141 2011-02-05  Bruno Haible  <bruno@clisp.org>
21142
21143         New module 'wmemmove'.
21144         * modules/wmemmove: New file.
21145         * lib/wchar.in.h (wmemmove): New declaration.
21146         * lib/wmemmove.c: New file.
21147         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
21148         * m4/wmemmove.m4: New file.
21149         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
21150         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
21151         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
21152         HAVE_WMEMMOVE.
21153         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
21154         * doc/posix-functions/wmemmove.texi: Mention the new module.
21155
21156 2011-02-05  Bruno Haible  <bruno@clisp.org>
21157
21158         New module 'wmemcpy'.
21159         * modules/wmemcpy: New file.
21160         * lib/wchar.in.h (wmemcpy): New declaration.
21161         * lib/wmemcpy.c: New file.
21162         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
21163         * m4/wmemcpy.m4: New file.
21164         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
21165         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
21166         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
21167         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
21168         * doc/posix-functions/wmemcpy.texi: Mention the new module.
21169
21170 2011-02-05  Bruno Haible  <bruno@clisp.org>
21171
21172         New module 'wmemcmp'.
21173         * modules/wmemcmp: New file.
21174         * lib/wchar.in.h (wmemcmp): New declaration.
21175         * lib/wmemcmp.c: New file.
21176         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
21177         * m4/wmemcmp.m4: New file.
21178         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
21179         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
21180         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
21181         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
21182         * doc/posix-functions/wmemcmp.texi: Mention the new module.
21183
21184 2011-02-07  Jim Meyering  <meyering@redhat.com>
21185
21186         di-set, ino-map: new modules, from coreutils
21187         * lib/di-set.c: New file.
21188         * lib/di-set.h: Likewise.
21189         * lib/ino-map.c: Likewise.
21190         * lib/ino-map.h: Likewise.
21191         * modules/di-set: Likewise.
21192         * modules/di-set-tests: Likewise.
21193         * modules/ino-map: Likewise.
21194         * modules/ino-map-tests: Likewise.
21195         * tests/test-di-set.c: Likewise.
21196         * tests/test-ino-map.c: Likewise.
21197
21198 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
21199
21200         getloadavg: merge minor changes from Emacs
21201
21202         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
21203         (getloadavg): Use memset, not bzero.
21204
21205         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
21206         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
21207         clash (bug#86).
21208
21209 2010-11-14  Bruno Haible  <bruno@clisp.org>
21210
21211         Allow multiple gnulib generated replacements to coexist.
21212         * lib/getopt.in.h (struct option): Avoid identical redefinition.
21213         * lib/inttypes.in.h (imaxdiv_t): Likewise.
21214         * lib/langinfo.in.h (nl_item): Likewise.
21215         * lib/math.in.h (_NaN, NAN): Likewise.
21216         * lib/netdb.in.h (struct addrinfo): Likewise.
21217         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
21218         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
21219         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
21220         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
21221         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
21222         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
21223         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
21224         pthread_mutexattr_init, pthread_mutexattr_settype,
21225         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
21226         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
21227         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
21228         pthread_spin_trylock, pthread_spin_unlock): Likewise.
21229         * lib/sched.in.h (struct sched_param): Likewise.
21230         * lib/se-selinux.in.h (security_class_t, security_context_t,
21231         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
21232         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
21233         lsetfilecon, fsetfilecon, security_check_context,
21234         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
21235         Likewise.
21236         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
21237         Likewise.
21238         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
21239         _gl_function_taking_int_returning_void_t, union sigval,
21240         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
21241         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
21242         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
21243         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
21244         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
21245         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
21246         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
21247         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
21248         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
21249         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
21250         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
21251         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
21252         socklen_t, rpl_fd_isset): Likewise.
21253         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
21254         * lib/sys_time.in.h (struct timeval): Likewise.
21255         * lib/sys_times.in.h (struct tms): Likewise.
21256         * lib/sys_utsname.in.h (struct utsname):
21257         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
21258         * lib/unistd.in.h (getpagesize): Likewise.
21259         * lib/wchar.in.h (mbstate_t): Likewise.
21260         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
21261         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
21262         towlower, towupper): Likewise.
21263         Reported by Sam Steingold <sds@gnu.org>.
21264
21265 2011-02-05  Eric Blake  <eblake@redhat.com>
21266
21267         unsetenv: work around Haiku issues
21268         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
21269         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
21270
21271 2010-12-30  Bruce Korb  <bkorb@gnu.org>
21272
21273         libposix: avoid calling error() within libposix
21274         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
21275         is defined.
21276
21277 2011-02-05  Eric Blake  <eblake@redhat.com>
21278
21279         strerror_r-posix: port to cygwin
21280         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
21281         implementation.
21282         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
21283         * tests/test-strerror_r.c (main): Fix test.
21284         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
21285         issue.
21286
21287 2011-02-05  Bruno Haible  <bruno@clisp.org>
21288
21289         New module 'wmemchr'.
21290         * modules/wmemchr: New file.
21291         * lib/wchar.in.h (wmemchr): New declaration.
21292         * lib/wmemchr.c: New file.
21293         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
21294         * m4/wmemchr.m4: New file.
21295         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
21296         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
21297         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
21298         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
21299         * doc/posix-functions/wmemchr.texi: Mention the new module.
21300
21301 2011-02-04  Eric Blake  <eblake@redhat.com>
21302
21303         fdopendir: detect FreeBSD bug
21304         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
21305         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
21306
21307 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
21308
21309         stdbool: do not define HAVE_STDBOOL_H
21310         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
21311         AC_HEADER_STDBOOL.  All uses changed.  Do not define
21312         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
21313         imported from the latest Autoconf git.  It was motivated by Emacs,
21314         which uses gnulib but does not need HAVE_STDBOOL_H.
21315
21316 2011-02-04  Bruno Haible  <bruno@clisp.org>
21317
21318         wcsnrtombs: Prepare for new module wwcsnrtombs.
21319         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
21320         * lib/wcsnrtombs.c: Include it.
21321         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
21322
21323         wcsrtombs: Prepare for new module wwcsrtombs.
21324         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
21325         * lib/wcsrtombs.c: Include it.
21326         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
21327
21328         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
21329         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
21330         * lib/mbsnrtowcs.c: Include it.
21331         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
21332
21333         mbsrtowcs: Prepare for new module mbsrtowwcs.
21334         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
21335         * lib/mbsrtowcs.c: Include it.
21336         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
21337
21338 2011-02-04  Bruno Haible  <bruno@clisp.org>
21339
21340         vasnprintf: Reduce use of malloc for small format strings.
21341         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
21342         (arguments): Add room for the first 7 arguments.
21343         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
21344         (char_directives, u8_directives, u16_directives, u32_directives): Add
21345         room for the first 7 directives.
21346         * lib/printf-parse.c: Include <string.h>.
21347         (PRINTF_PARSE): Change memory handling code so that it uses the first
21348         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
21349         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
21350         Reported by Pádraig Brady <P@draigbrady.com>.
21351
21352 2011-01-31  Eric Blake  <eblake@redhat.com>
21353
21354         dup2: work around Haiku bug
21355         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
21356         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
21357         * doc/posix-functions/dup2.texi (dup2): Document the bug.
21358         * tests/test-dup2.c (main): Enhance test.
21359
21360 2011-01-31  Simon Josefsson  <simon@josefsson.org>
21361
21362         doc: off_t is not available in eglibc 2.11.2 stdio.h.
21363         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
21364         declared by eglibc 2.11.2.
21365         * lib/stdio.in.h: Likewise.
21366
21367 2011-01-31  Eric Blake  <eblake@redhat.com>
21368
21369         ignore-value: add missing test dependency
21370         * tests/test-ignore-value.c: Revert previous change; stdio.h
21371         provides off_t.
21372         * modules/ignore-value-tests (Depends-on): Add missing dependency.
21373
21374 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
21375
21376         mktime: clarify long_int width checking
21377         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
21378         the top level, to make it clearer that the assumption about
21379         long_int width is being checked.  See
21380         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
21381
21382 2011-01-30  Simon Josefsson  <simon@josefsson.org>
21383
21384         ignore-value: Fix self-test.
21385         * tests/test-ignore-value.c: Include sys/types.h for off_t.
21386
21387 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
21388
21389         TYPE_MAXIMUM: avoid theoretically undefined behavior
21390         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
21391         negative number, which the C Standard says has undefined behavior.
21392         In practice this is not a problem, but might as well do it by the book.
21393         Reported by Rich Felker and Eric Blake; see
21394         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
21395         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
21396         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
21397         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21398         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
21399         * m4/stdint.m4 (gl_STDINT_H): Likewise.
21400         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
21401
21402         mktime: #undef mktime before #defining it
21403         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
21404
21405         mktime: systematically normalize tm_isdst comparisons
21406         * lib/mktime.c (isdst_differ): New function.
21407         (__mktime_internal): Use it systematically for all isdst comparisons.
21408         This completes the fix for libc BZ #6723, and removes the need for
21409         normalizing tm_isdst.  See
21410         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
21411         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
21412
21413         mktime: fix some integer overflow issues and sidestep the rest
21414
21415         This was prompted by a bug report by Benjamin Lindner for MinGW
21416         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
21417         His bug is due to signed integer overflow (0 - INT_MIN), and I
21418         I scanned through mktime.c looking for other integer overflow
21419         problems, fixing all the bugs I found.
21420
21421         Although the C Standard says the resulting code is still not safe
21422         in the presence of integer overflow, in practice it should be good
21423         enough for all real-world two's-complement implementations, except
21424         for debugging environments that deliberately trap on integer
21425         overflow (e.g., gcc -ftrapv).
21426
21427         * lib/mktime.c (WRAPV): New macro.
21428         (SHR): Also check that long_int and time_t shift right in the
21429         usual way, before using the fast-but-unportable method.
21430         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
21431         used.  The code already assumed two's complement, so there's
21432         no need to test for alternatives.  All uses removed.
21433         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
21434         the C standard.  Problem reported by Rich Felker in
21435         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
21436         (twos_complement_arithmetic): Also check long_int and time_t.
21437         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
21438         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
21439         (__mktime_internal): Avoid integer overflow with unary subtraction
21440         in two instances where -1 - X is an adequate replacement for -X,
21441         since the calculations are approximate.
21442
21443 2011-01-29  Eric Blake  <eblake@redhat.com>
21444
21445         mktime: avoid infinite loop
21446         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
21447         type; behavior is still undefined but portable to all known targets.
21448         Reported by Rich Felker.
21449
21450 2011-01-29  Simon Josefsson  <simon@josefsson.org>
21451
21452         rename, unlink, same-inode: Relicense.
21453         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
21454         * modules/unlink (License): Likewise.
21455         * modules/same-inode (License): Likewise.
21456
21457 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
21458
21459         mktime: avoid problems on NetBSD 5 / i386
21460         * lib/mktime.c (long_int): New type.  This works around a problem
21461         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
21462         but time_t is 64 bits, and where I expect the existing code is
21463         wrong in some cases.
21464         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
21465         (ydhms_diff): Bring back the compile-time check for wide-enough
21466         year and yday.
21467
21468         mktime: fix misspelling in comment
21469         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
21470         This merges all recent glibc changes of importance.
21471
21472 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21473
21474         move-if-change: cope with concurrent mv of identical file.
21475         * build-aux/move-if-change (CMPPROG): Accept environment
21476         variable as an override for `cmp'.
21477         (usage): Document CMPPROG.
21478         Adjust comparison to drop stdout.  Cope with failure of mv if
21479         the target file exists and is identical to the source, for
21480         parallel builds.
21481         Report from H.J. Lu against binutils in PR binutils/12283.
21482
21483 2011-01-28  Bruce Korb  <bkorb@gnu.org>
21484
21485         * users.txt: Mention sharutils.
21486
21487 2011-01-28  Simon Josefsson  <simon@josefsson.org>
21488
21489         * users.txt: Mention OATH Toolkit.
21490
21491 2011-01-27  Bruno Haible  <bruno@clisp.org>
21492
21493         Prepare for supporting FreeBSD 10.
21494         * build-aux/config.libpath: Remove handling of freebsd1*.
21495
21496 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
21497
21498         Prepare for supporting FreeBSD 10.
21499         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
21500         match FreeBSD 10.0.
21501
21502 2011-01-27  Bruno Haible  <bruno@clisp.org>
21503
21504         vma-iter, get-rusage-as: Add OpenBSD support.
21505         * modules/vma-iter (configure.ac): Test for mquery.
21506         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
21507         * lib/vma-iter.c: Include <sys/mman.h>.
21508         (vma_iterate): Add an implementation based on mquery().
21509         * lib/resource-ext.h (get_rusage_as): Update comments.
21510         * lib/get-rusage-as.c: Likewise.
21511         * lib/get-rusage-data.c: Likewise.
21512
21513 2011-01-26  Karl Berry  <karl@gnu.org>
21514
21515         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
21516         variables to make it easier to override the makeinfo program used.
21517
21518 2011-01-26  Eric Blake  <eblake@redhat.com>
21519
21520         fcntl: work around Haiku F_DUPFD bugs
21521         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
21522         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
21523         cloexec bit on duplication.
21524         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
21525
21526 2011-01-26  Bruno Haible  <bruno@clisp.org>
21527
21528         Enable memory leak tests on AIX.
21529         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
21530         * tests/test-fprintf-posix3.c (main): Likewise.
21531
21532 2011-01-26  Bruno Haible  <bruno@clisp.org>
21533
21534         Tests for module 'get-rusage-data'.
21535         * modules/get-rusage-data-tests: New file.
21536         * tests/test-get-rusage-data.c: New file.
21537
21538         New module 'get-rusage-data'.
21539         * lib/resource-ext.h (get_rusage_data): New declaration.
21540         * lib/get-rusage-data.c: New file.
21541         * modules/get-rusage-data: New file.
21542
21543 2011-01-25  Bruno Haible  <bruno@clisp.org>
21544
21545         get-rusage-as: Allow for easier testing.
21546         * lib/resource-ext.h (get_rusage_as): Add comment.
21547         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
21548         (main): New function for interactive testing.
21549
21550 2011-01-25  Bruno Haible  <bruno@clisp.org>
21551
21552         vma-iter: Treat Haiku like BeOS.
21553         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
21554         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
21555
21556 2011-01-25  Eric Blake  <eblake@redhat.com>
21557
21558         c-stack: fix regression on cygwin when libsigsegv is present
21559         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
21560
21561 2011-01-24  Bruno Haible  <bruno@clisp.org>
21562
21563         vma-iter: Avoid empty intervals.
21564         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
21565         on an empty interval.
21566
21567 2011-01-24  Jim Meyering  <meyering@redhat.com>
21568
21569         u64: remove unnecessary #include
21570         * lib/u64.h: Don't include <stddef.h>.  It was not used.
21571
21572 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
21573
21574         Allow the user to avoid the HAVE_RAW_DECL_* macros.
21575         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
21576
21577 2011-01-23  Bruno Haible  <bruno@clisp.org>
21578
21579         New module 'vma-iter'.
21580         * lib/vma-iter.h: New file.
21581         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
21582         * modules/vma-iter: New file.
21583         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
21584         for get_rusage_as_via_iterator.
21585         (vma_iterate_callback): New function.
21586         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
21587         * modules/get-rusage-as (Depends-on): Add vma-iter.
21588
21589 2011-01-23  Bruno Haible  <bruno@clisp.org>
21590
21591         uninorm: Tweak includes.
21592         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
21593         Reported by Jim Meyering.
21594
21595 2011-01-23  Bruno Haible  <bruno@clisp.org>
21596
21597         get-rusage-as: Improve on NetBSD.
21598         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
21599         /proc, like on FreeBSD.
21600
21601 2011-01-23  Jim Meyering  <meyering@redhat.com>
21602
21603         xreadlink.h: remove unnecessary #include
21604         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
21605
21606         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
21607         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
21608
21609 2011-01-23  Bruno Haible  <bruno@clisp.org>
21610
21611         get-rusage-as: Fix bug.
21612         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
21613         original limit when aborting the first loop.
21614
21615 2011-01-23  Bruno Haible  <bruno@clisp.org>
21616
21617         wctype: Ensure valid C syntax.
21618         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
21619         unconditionally, instead of gl_NEXT_HEADERS conditionally.
21620
21621 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
21622
21623         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
21624         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
21625         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
21626         as they are needed only for configure's test case.
21627         This removes two unnecessary symbols from config.h.
21628
21629         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
21630         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
21631         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
21632         AC_CHECK_HEADERS_ONCE on a header that we also invoke
21633         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
21634         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
21635         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
21636         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
21637         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
21638         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21639         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
21640         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21641         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21642         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
21643         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
21644         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21645         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21646         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21647
21648 2011-01-21  Eric Blake  <eblake@redhat.com>
21649
21650         maintainer-makefile: work with older git for submodule check
21651         * top/maint.mk (public-submodule-commit): Rewrite to avoid
21652         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
21653         Reported by Matthias Bolte.
21654
21655         bootstrap: minor portability fixes
21656         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
21657         (usage): Omit leading capital and trailing . on help phrases, per
21658         GNU Coding Standards.
21659         (check_versions, top level): Prefix messages with script name.
21660
21661 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
21662
21663         bootstrap: support --no-git option
21664         * build-aux/bootstrap: Add --no-git option, to be used when
21665         --gnulib-srcdir points to the exact desired checkout.
21666
21667 2011-01-21  Eric Blake  <eblake@redhat.com>
21668
21669         strerror_r-posix: work with glibc 2.13
21670         * lib/strerror_r.c (strerror_r): Fix return type.
21671
21672 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21673             Bruno Haible  <bruno@clisp.org>
21674
21675         uN_strstr: New unit tests.
21676         * modules/unistr/u8-strstr-tests: New file.
21677         * modules/unistr/u16-strstr-tests: New file.
21678         * modules/unistr/u32-strstr-tests: New file.
21679         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
21680         * tests/unistr/test-u8-strstr.c: New file.
21681         * tests/unistr/test-u16-strstr.c: New file.
21682         * tests/unistr/test-u32-strstr.c: New file.
21683
21684 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21685             Bruno Haible  <bruno@clisp.org>
21686
21687         Make uN_strstr functions O(n) worst-case.
21688         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
21689         16-bit and 32-bit unit cases, use the unibyte algorithm from
21690         lib/mbsstr.c.
21691         * lib/unistr/u8-strstr.c: Include <string.h>.
21692         (UNIT_IS_UINT8_T): New macro.
21693         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
21694         (U_STRLEN, U_STRNLEN): New macros.
21695         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
21696         (U_STRLEN, U_STRNLEN): New macros.
21697         * modules/unistr/u8-strstr (Depends-on): Add strstr.
21698         (configure.ac): Update required libunistring version.
21699         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
21700         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
21701         malloca.
21702         (configure.ac): Update required libunistring version.
21703         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
21704         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
21705         malloca.
21706         (configure.ac): Update required libunistring version.
21707
21708 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21709             Bruno Haible  <bruno@clisp.org>
21710
21711         Prepare for faster uN_strstr functions.
21712         * lib/str-kmp.h: Support definable UNITs.
21713         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
21714         needle_len argument.
21715         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
21716         * lib/mbscasestr.c (mbscasestr): Likewise.
21717
21718 2011-01-21  Pádraig Brady <P@draigBrady.com>
21719
21720         malloca-tests: make faster by unsetting MALLOC_PERTURB_
21721         * tests/test-malloca.c (main): Unset the environment variable
21722         to greatly speed up the test.
21723         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
21724         * modules/malloca-tests: Depend on unsetenv.
21725
21726 2011-01-21  Pádraig Brady <P@draigBrady.com>
21727
21728         ignore-value: remove stdint dependency
21729         * lib/ignore-value.h: Remove <stdint.h>
21730         * modules/ignore-value: Remove stdint dependency.
21731
21732 2011-01-21  Jim Meyering  <meyering@redhat.com>
21733
21734         maint.mk: adjust variable name to be consistent with other gl_ vars
21735         * top/maint.mk (gl_public_submodule_commit): Rename the variable
21736         to be lower case.
21737
21738 2011-01-20  Jim Meyering  <meyering@redhat.com>
21739
21740         maint.mk: make "check" depend on public-submodule-commit by default
21741         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
21742
21743 2011-01-20  Bruno Haible  <bruno@clisp.org>
21744
21745         mbfile, mbiter: Complete change from 2008-12-21.
21746         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
21747         * m4/mbiter.m4 (gl_MBITER): Likewise.
21748
21749 2011-01-20  Jim Meyering  <meyering@redhat.com>
21750
21751         init.sh: insert space between each function name and "()"
21752         * tests/init.sh: Make it a little easier to see that a function's
21753         name is "warn_", and not "warn" when looking at the first part of
21754         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
21755
21756 2011-01-20  Jim Meyering  <meyering@redhat.com>
21757
21758         mountlist: clean up code formatting
21759         * lib/mountlist.c (read_file_system_list): Split a long line,
21760         correct bracing style, use NULL in place of "(struct statfs *)0",
21761         don't parenthesize return value, add spaces around "=" and after
21762         ";-in-for-stmt".
21763
21764 2011-01-14  Markus Duft <mduft@gentoo.org>
21765
21766         mountlist: add support for Interix
21767         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
21768         Apply statvfs to all entries of /dev/fs.
21769         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
21770         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
21771
21772 2011-01-20  Jim Meyering  <meyering@redhat.com>
21773
21774         maint.mk: improve the public-submodule-commit rule
21775         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
21776         to suppress printing of its commands... unless V=1.
21777         Add git submodule's --quiet option to suppress printing of e.g.,
21778         "Entering gnulib" output.
21779         "cd" into $(srcdir) before running git submodule.
21780
21781 2011-01-20  Bruno Haible  <bruno@clisp.org>
21782
21783         include_next: Fix bug introduced on 2011-01-18.
21784         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
21785         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
21786         ac_cv_header_... variable if the second argument is not 'check'.
21787         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
21788         gl_NEXT_HEADERS_INTERNAL.
21789
21790 2011-01-20  Bruno Haible  <bruno@clisp.org>
21791
21792         Allow the user to avoid the GNULIB_TEST_* macros.
21793         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
21794         Suggested by Paul Eggert.
21795
21796 2011-01-14  Jim Meyering  <meyering@redhat.com>
21797
21798         bootstrap: avoid failure when there is no .gitmodules file
21799         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
21800         has been assigned to, even when its value is the empty string.
21801         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
21802         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
21803         Reported by John W. Eaton <jwe@gnu.org>.
21804
21805 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
21806
21807         assume <ctype.h>, ..., <time.h> exist
21808         For years gnulib has been assuming the existence of the headers
21809         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
21810         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
21811         them, since they don't appear to be needed.
21812         * README (Portability guidelines): Document this.
21813         * lib/flock.c: Assume <fcntl.h> exists.
21814         * lib/regex_internal.h: Assume <locale.h> exists.
21815         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
21816         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
21817         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
21818         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
21819         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
21820         * m4/regex.m4 (gl_REGEX): Likewise.
21821         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
21822         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
21823         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
21824         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
21825         * tests/test-argp.c: Likewise.
21826         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
21827
21828         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
21829         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
21830         AA_APPLE_UNIVERSAL_BUILD.  See
21831         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
21832         * NEWS: Document this.
21833
21834 2011-01-19  Eric Blake  <eblake@redhat.com>
21835
21836         c-stack: assume stack overflow if SA_SIGINFO unsupported
21837         * lib/c-stack.c (SIGACTION_WORKS): Rename...
21838         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
21839         sigaction will work.
21840         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
21841         behavior match Linux.
21842         * tests/test-c-stack.c (main): Prefer NULL for pointers.
21843
21844         stdbool-tests: accommodate Haiku
21845         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
21846
21847         binary-io: fix O_TEXT on Haiku
21848         * modules/binary-io (Depends-on): Add fcntl-h.
21849         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
21850         than blindly undefining O_TEXT.
21851         Reported by Scott McCreary.
21852
21853 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21854
21855         include_next: do not check for standard headers like stddef.h
21856
21857         I found this problem when modifying Emacs to use gnulib.
21858         I noticed that it added HAVE_STDDEF_H to config.h, even though
21859         gnulib always assumes <stddef.h> exists as per README and this
21860         symbol is unnecessary.
21861         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
21862         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
21863         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
21864         faster for headers like stddef.h that are known to exist.
21865         (gl_CHECK_NEXT_HEADERS): Use it.
21866         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
21867         rather than gl_CHECK_NEXT_HEADERS.
21868         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
21869         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
21870
21871 2011-01-18  Eric Blake  <eblake@redhat.com>
21872
21873         ansi-c++-opt: skip C++ dependency style if C++ is unused
21874         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
21875         tests when we know C++ compilation is not desired.
21876         Reported by Scott McCreary.
21877
21878 2011-01-18  Bruno Haible  <bruno@clisp.org>
21879
21880         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
21881         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
21882         (main): Perform test also when getrlimit and setrlimit don't exist or
21883         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
21884         limiting the address space size using setrlimit, compare the address
21885         space size before and after the the test.
21886         * tests/test-dprintf-posix2.c: Likewise.
21887         * tests/test-fprintf-posix3.sh: Update skip messages.
21888         * tests/test-dprintf-posix2.sh: Likewise.
21889         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
21890         * modules/dprintf-posix-tests (Depends-on): Likewise.
21891         Reported by Bruce Korb <bkorb@gnu.org> and
21892         Gary V. Vaughan <gary@gnu.org>.
21893
21894 2011-01-18  Bruno Haible  <bruno@clisp.org>
21895
21896         get-rusage-as: Improvement for Cygwin.
21897         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
21898         areas that are merely reserved.
21899
21900 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21901
21902         strftime: remove dependencies on multibyte modules
21903
21904         strftime depended on mbrlen, mbsinit, and wchar, but these modules
21905         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
21906         only if __osf__ is defined, and I suspect OSF doesn't need these
21907         other modules.  If my guess is wrong, we'll need to come up with a
21908         variant of strftime that doesn't need the multibyte modules.
21909
21910         I discovered this problem when attempting modify Emacs to use the
21911         strftime module.  With the previous gnulib, this caused Emacs to
21912         need 31 new files, ranging from lib/config.charset to
21913         m4/wint_t.m4.  This was overkill and I expect would be offputting
21914         to the Emacs maintainers.  After this change, only 6 new files are
21915         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
21916         stdbool.m4, and tm_gmtoff.m4.
21917
21918         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
21919         Suggested by Bruno Haible in
21920         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
21921         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
21922         and do not check for wchar.h.
21923         * modules/strftime (Files): Remove m4/mbstate_t.m4.
21924         (Depends-on): Remove mbrlen, mbsinit, wchar.
21925
21926 2011-01-18  Bruno Haible  <bruno@clisp.org>
21927
21928         Tests for module 'get-rusage-as'.
21929         * modules/get-rusage-as-tests: New file.
21930         * tests/test-get-rusage-as.c: New file.
21931
21932         New module 'get-rusage-as'.
21933         * modules/get-rusage-as: New file.
21934         * lib/resource-ext.h: New file.
21935         * lib/get-rusage-as.c: New file.
21936
21937 2011-01-17  Eric Blake  <eblake@redhat.com>
21938
21939         sigaction: relax license from LGPLv3+ to LGPLv2+
21940         * modules/sigaction (License): Relax to LGPLv2+.
21941
21942 2011-01-14  Bruno Haible  <bruno@clisp.org>
21943
21944         filemode: Make function declarations usable in C++ mode.
21945         * lib/filemode.h: Enclose function declarations in extern "C" block.
21946         Reported by John W. Eaton <jwe@gnu.org>.
21947
21948 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
21949
21950         save-cwd: no longer include "xgetcwd.h"
21951         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
21952         This avoids a compilation failure in projects that use save-cwd
21953         without also using the xgetcwd module.
21954
21955 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
21956
21957         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
21958         This is so that a program like Emacs, which needs only dtoastr,
21959         does not have to bother with distributing and compiling ftoastr
21960         and ldtoastr.
21961         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
21962         * modules/dtoastr, modules/ldtoastr: New files.
21963         * modules/ftoastr: Now works just for 'float'.
21964         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
21965         (Makefile.am): Remove ftoastr.h (not needed and no effect),
21966         dtoastr.c, ldtoastr.c.
21967
21968 2011-01-11  Jim Meyering  <meyering@redhat.com>
21969
21970         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
21971         There is no need to work around the lack of the fchdir function,
21972         since gnulib can now provide a replacement when required.
21973         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
21974         * modules/save-cwd (Depends-on): Add fchdir.
21975
21976 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
21977
21978         openat, save-cwd: avoid xmalloc
21979
21980         This removes a direct (but undocumented) dependency of openat on
21981         xalloc, along with an indirect dependency via save-cwd.  It also
21982         removes a dependency of save-cwd on xgetcwd, and thereby
21983         indirectly on xalloc.  This change causes the openat substitute
21984         to fall back on save_cwd when memory is tight, and for save_cwd to
21985         fail instead of dying when memory is tight, but that's good enough.
21986         Problem and initial idea for fix reported by Bastien Roucaries in
21987         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
21988
21989         * lib/openat-proc.c: Include stdlib.h (for malloc), not
21990         xalloc.h (for xmalloc).
21991         (openat_proc_name): Use malloc, not xmalloc.
21992         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
21993         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
21994
21995         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
21996         This avoids heap allocation for file names whose lengths are in
21997         the range 512..1023, with the upper bound increasing to at most
21998         4031 depending on the platform's PATH_MAX.  (We do not want
21999         pathmax.h here as it might supply a non-constant PATH_MAX.)
22000         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
22001         Perhaps they should be moved to malloca.h?
22002         (OPENAT_BUFFER_SIZE): Use them.
22003
22004 2011-01-10  Bruno Haible  <bruno@clisp.org>
22005
22006         doc: Update users.txt.
22007         * users.txt: Add recutils.
22008
22009 2011-01-09  Karl Berry  <karl@gnu.org>
22010
22011         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
22012
22013         * doc/configmake.texi: New file.
22014         * doc/gnulib.texi: Include it.
22015         * modules/configmake: Move documentation from here.
22016
22017 2011-01-09  Bruno Haible  <bruno@clisp.org>
22018
22019         Update to Unicode 6.0.0.
22020         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
22021         (get_lbp): Update for Unicode 6.0.0.
22022         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
22023         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
22024         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
22025         U+11001, U+11038..U+11046. Remove U+06DE.
22026         (uc_width): Fix bounds of planes.
22027         * tests/uniwidth/test-uc_width2.sh: Same updates as in
22028         lib/uniwidth/width.c.
22029         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
22030         trailing whitespace removed.
22031         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
22032         without comments, but with the original copyright notice.
22033         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
22034         * lib/unicase/ignorable.h: Likewise.
22035         * lib/unicase/tocasefold.h: Likewise.
22036         * lib/unicase/tolower.h: Likewise.
22037         * lib/unicase/totitle.h: Likewise.
22038         * lib/unicase/toupper.h: Likewise.
22039         * lib/unictype/bidi_of.h: Likewise.
22040         * lib/unictype/blocks.h: Likewise.
22041         * lib/unictype/categ_C.h: Likewise.
22042         * lib/unictype/categ_Cn.h: Likewise.
22043         * lib/unictype/categ_L.h: Likewise.
22044         * lib/unictype/categ_Ll.h: Likewise.
22045         * lib/unictype/categ_Lm.h: Likewise.
22046         * lib/unictype/categ_Lo.h: Likewise.
22047         * lib/unictype/categ_Lu.h: Likewise.
22048         * lib/unictype/categ_M.h: Likewise.
22049         * lib/unictype/categ_Mc.h: Likewise.
22050         * lib/unictype/categ_Me.h: Likewise.
22051         * lib/unictype/categ_Mn.h: Likewise.
22052         * lib/unictype/categ_N.h: Likewise.
22053         * lib/unictype/categ_Nd.h: Likewise.
22054         * lib/unictype/categ_No.h: Likewise.
22055         * lib/unictype/categ_P.h: Likewise.
22056         * lib/unictype/categ_Po.h: Likewise.
22057         * lib/unictype/categ_S.h: Likewise.
22058         * lib/unictype/categ_Sc.h: Likewise.
22059         * lib/unictype/categ_Sk.h: Likewise.
22060         * lib/unictype/categ_Sm.h: Likewise.
22061         * lib/unictype/categ_So.h: Likewise.
22062         * lib/unictype/categ_of.h: Likewise.
22063         * lib/unictype/combining.h: Likewise.
22064         * lib/unictype/ctype_alnum.h: Likewise.
22065         * lib/unictype/ctype_alpha.h: Likewise.
22066         * lib/unictype/ctype_graph.h: Likewise.
22067         * lib/unictype/ctype_lower.h: Likewise.
22068         * lib/unictype/ctype_print.h: Likewise.
22069         * lib/unictype/ctype_punct.h: Likewise.
22070         * lib/unictype/ctype_upper.h: Likewise.
22071         * lib/unictype/decdigit.h: Likewise.
22072         * lib/unictype/digit.h: Likewise.
22073         * lib/unictype/numeric.h: Likewise.
22074         * lib/unictype/pr_alphabetic.h: Likewise.
22075         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
22076         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
22077         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
22078         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
22079         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
22080         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
22081         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
22082         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
22083         * lib/unictype/pr_case_ignorable.h: Likewise.
22084         * lib/unictype/pr_cased.h: Likewise.
22085         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
22086         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
22087         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
22088         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
22089         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
22090         * lib/unictype/pr_combining.h: Likewise.
22091         * lib/unictype/pr_composite.h: Likewise.
22092         * lib/unictype/pr_currency_symbol.h: Likewise.
22093         * lib/unictype/pr_decimal_digit.h: Likewise.
22094         * lib/unictype/pr_deprecated.h: Likewise.
22095         * lib/unictype/pr_format_control.h: Likewise.
22096         * lib/unictype/pr_grapheme_base.h: Likewise.
22097         * lib/unictype/pr_grapheme_extend.h: Likewise.
22098         * lib/unictype/pr_grapheme_link.h: Likewise.
22099         * lib/unictype/pr_id_continue.h: Likewise.
22100         * lib/unictype/pr_id_start.h: Likewise.
22101         * lib/unictype/pr_ideographic.h: Likewise.
22102         * lib/unictype/pr_lowercase.h: Likewise.
22103         * lib/unictype/pr_math.h: Likewise.
22104         * lib/unictype/pr_numeric.h: Likewise.
22105         * lib/unictype/pr_other_alphabetic.h: Likewise.
22106         * lib/unictype/pr_other_id_continue.h: Likewise.
22107         * lib/unictype/pr_other_math.h: Likewise.
22108         * lib/unictype/pr_punctuation.h: Likewise.
22109         * lib/unictype/pr_sentence_terminal.h: Likewise.
22110         * lib/unictype/pr_terminal_punctuation.h: Likewise.
22111         * lib/unictype/pr_unassigned_code_value.h: Likewise.
22112         * lib/unictype/pr_unified_ideograph.h: Likewise.
22113         * lib/unictype/pr_uppercase.h: Likewise.
22114         * lib/unictype/pr_xid_continue.h: Likewise.
22115         * lib/unictype/pr_xid_start.h: Likewise.
22116         * lib/unictype/scripts.h: Likewise.
22117         * lib/unictype/scripts_byname.gperf: Likewise.
22118         * lib/unictype/sy_java_ident.h: Likewise.
22119         * lib/unigbrk/gbrkprop.h: Likewise.
22120         * lib/unilbrk/lbrkprop1.h: Likewise.
22121         * lib/unilbrk/lbrkprop2.h: Likewise.
22122         * lib/uninorm/decomposition-table2.h: Likewise.
22123         * lib/uniwbrk/wbrkprop.h: Likewise.
22124         * tests/unicase/test-cased.c: Likewise.
22125         * tests/unicase/test-ignorable.c: Likewise.
22126         * tests/unicase/test-uc_tolower.c: Likewise.
22127         * tests/unicase/test-uc_totitle.c: Likewise.
22128         * tests/unicase/test-uc_toupper.c: Likewise.
22129         * tests/unictype/test-categ_C.c: Likewise.
22130         * tests/unictype/test-categ_Cn.c: Likewise.
22131         * tests/unictype/test-categ_L.c: Likewise.
22132         * tests/unictype/test-categ_Ll.c: Likewise.
22133         * tests/unictype/test-categ_Lm.c: Likewise.
22134         * tests/unictype/test-categ_Lo.c: Likewise.
22135         * tests/unictype/test-categ_Lu.c: Likewise.
22136         * tests/unictype/test-categ_M.c: Likewise.
22137         * tests/unictype/test-categ_Mc.c: Likewise.
22138         * tests/unictype/test-categ_Me.c: Likewise.
22139         * tests/unictype/test-categ_Mn.c: Likewise.
22140         * tests/unictype/test-categ_N.c: Likewise.
22141         * tests/unictype/test-categ_Nd.c: Likewise.
22142         * tests/unictype/test-categ_No.c: Likewise.
22143         * tests/unictype/test-categ_P.c: Likewise.
22144         * tests/unictype/test-categ_Po.c: Likewise.
22145         * tests/unictype/test-categ_S.c: Likewise.
22146         * tests/unictype/test-categ_Sc.c: Likewise.
22147         * tests/unictype/test-categ_Sk.c: Likewise.
22148         * tests/unictype/test-categ_Sm.c: Likewise.
22149         * tests/unictype/test-categ_So.c: Likewise.
22150         * tests/unictype/test-ctype_alnum.c: Likewise.
22151         * tests/unictype/test-ctype_alpha.c: Likewise.
22152         * tests/unictype/test-ctype_graph.c: Likewise.
22153         * tests/unictype/test-ctype_lower.c: Likewise.
22154         * tests/unictype/test-ctype_print.c: Likewise.
22155         * tests/unictype/test-ctype_punct.c: Likewise.
22156         * tests/unictype/test-ctype_upper.c: Likewise.
22157         * tests/unictype/test-decdigit.h: Likewise.
22158         * tests/unictype/test-digit.h: Likewise.
22159         * tests/unictype/test-numeric.h: Likewise.
22160         * tests/unictype/test-pr_alphabetic.c: Likewise.
22161         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
22162         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
22163         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
22164         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
22165         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
22166         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
22167         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
22168         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
22169         * tests/unictype/test-pr_case_ignorable.c: Likewise.
22170         * tests/unictype/test-pr_cased.c: Likewise.
22171         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
22172         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
22173         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
22174         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
22175         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
22176         * tests/unictype/test-pr_combining.c: Likewise.
22177         * tests/unictype/test-pr_composite.c: Likewise.
22178         * tests/unictype/test-pr_currency_symbol.c: Likewise.
22179         * tests/unictype/test-pr_decimal_digit.c: Likewise.
22180         * tests/unictype/test-pr_deprecated.c: Likewise.
22181         * tests/unictype/test-pr_format_control.c: Likewise.
22182         * tests/unictype/test-pr_grapheme_base.c: Likewise.
22183         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
22184         * tests/unictype/test-pr_grapheme_link.c: Likewise.
22185         * tests/unictype/test-pr_id_continue.c: Likewise.
22186         * tests/unictype/test-pr_id_start.c: Likewise.
22187         * tests/unictype/test-pr_ideographic.c: Likewise.
22188         * tests/unictype/test-pr_lowercase.c: Likewise.
22189         * tests/unictype/test-pr_math.c: Likewise.
22190         * tests/unictype/test-pr_numeric.c: Likewise.
22191         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
22192         * tests/unictype/test-pr_other_id_continue.c: Likewise.
22193         * tests/unictype/test-pr_other_math.c: Likewise.
22194         * tests/unictype/test-pr_punctuation.c: Likewise.
22195         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
22196         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
22197         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
22198         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
22199         * tests/unictype/test-pr_uppercase.c: Likewise.
22200         * tests/unictype/test-pr_xid_continue.c: Likewise.
22201         * tests/unictype/test-pr_xid_start.c: Likewise.
22202         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
22203         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
22204         changes.
22205         * lib/unictype/categ_Cc.h: Likewise.
22206         * lib/unictype/categ_Cf.h: Likewise.
22207         * lib/unictype/categ_Co.h: Likewise.
22208         * lib/unictype/categ_Cs.h: Likewise.
22209         * lib/unictype/categ_Lt.h: Likewise.
22210         * lib/unictype/categ_Nl.h: Likewise.
22211         * lib/unictype/categ_Pc.h: Likewise.
22212         * lib/unictype/categ_Pd.h: Likewise.
22213         * lib/unictype/categ_Pe.h: Likewise.
22214         * lib/unictype/categ_Pf.h: Likewise.
22215         * lib/unictype/categ_Pi.h: Likewise.
22216         * lib/unictype/categ_Ps.h: Likewise.
22217         * lib/unictype/categ_Z.h: Likewise.
22218         * lib/unictype/categ_Zl.h: Likewise.
22219         * lib/unictype/categ_Zp.h: Likewise.
22220         * lib/unictype/categ_Zs.h: Likewise.
22221         * lib/unictype/ctype_blank.h: Likewise.
22222         * lib/unictype/ctype_cntrl.h: Likewise.
22223         * lib/unictype/ctype_digit.h: Likewise.
22224         * lib/unictype/ctype_space.h: Likewise.
22225         * lib/unictype/ctype_xdigit.h: Likewise.
22226         * lib/unictype/mirror.h: Likewise.
22227         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
22228         * lib/unictype/pr_bidi_block_separator.h: Likewise.
22229         * lib/unictype/pr_bidi_common_separator.h: Likewise.
22230         * lib/unictype/pr_bidi_control.h: Likewise.
22231         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
22232         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
22233         * lib/unictype/pr_bidi_european_digit.h: Likewise.
22234         * lib/unictype/pr_bidi_pdf.h: Likewise.
22235         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
22236         * lib/unictype/pr_bidi_whitespace.h: Likewise.
22237         * lib/unictype/pr_dash.h: Likewise.
22238         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22239         * lib/unictype/pr_diacritic.h: Likewise.
22240         * lib/unictype/pr_extender.h: Likewise.
22241         * lib/unictype/pr_hex_digit.h: Likewise.
22242         * lib/unictype/pr_hyphen.h: Likewise.
22243         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22244         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22245         * lib/unictype/pr_ignorable_control.h: Likewise.
22246         * lib/unictype/pr_iso_control.h: Likewise.
22247         * lib/unictype/pr_join_control.h: Likewise.
22248         * lib/unictype/pr_left_of_pair.h: Likewise.
22249         * lib/unictype/pr_line_separator.h: Likewise.
22250         * lib/unictype/pr_logical_order_exception.h: Likewise.
22251         * lib/unictype/pr_non_break.h: Likewise.
22252         * lib/unictype/pr_not_a_character.h: Likewise.
22253         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22254         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22255         * lib/unictype/pr_other_id_start.h: Likewise.
22256         * lib/unictype/pr_other_lowercase.h: Likewise.
22257         * lib/unictype/pr_other_uppercase.h: Likewise.
22258         * lib/unictype/pr_paired_punctuation.h: Likewise.
22259         * lib/unictype/pr_paragraph_separator.h: Likewise.
22260         * lib/unictype/pr_pattern_syntax.h: Likewise.
22261         * lib/unictype/pr_pattern_white_space.h: Likewise.
22262         * lib/unictype/pr_private_use.h: Likewise.
22263         * lib/unictype/pr_quotation_mark.h: Likewise.
22264         * lib/unictype/pr_radical.h: Likewise.
22265         * lib/unictype/pr_soft_dotted.h: Likewise.
22266         * lib/unictype/pr_space.h: Likewise.
22267         * lib/unictype/pr_titlecase.h: Likewise.
22268         * lib/unictype/pr_variation_selector.h: Likewise.
22269         * lib/unictype/pr_white_space.h: Likewise.
22270         * lib/unictype/pr_zero_width.h: Likewise.
22271         * lib/unictype/sy_c_ident.h: Likewise.
22272         * lib/unictype/sy_c_whitespace.h: Likewise.
22273         * lib/unictype/sy_java_whitespace.h: Likewise.
22274         * lib/uninorm/composition-table.gperf: Likewise.
22275         * lib/uninorm/decomposition-table1.h: Likewise.
22276         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
22277         LB8.
22278         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22279         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22280         * modules/unictype/*: Bump version number of expected libunistring
22281         version.
22282
22283 2011-01-09  Bruno Haible  <bruno@clisp.org>
22284
22285         Update to Unicode 5.2.0.
22286         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
22287         trailing whitespace removed.
22288
22289 2011-01-09  Bruno Haible  <bruno@clisp.org>
22290
22291         New Unicode character properties, from Unicode 5.2.0.
22292         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
22293         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
22294         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
22295         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
22296         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
22297         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
22298         uc_is_property_cased, uc_is_property_case_ignorable,
22299         uc_is_property_changes_when_lowercased,
22300         uc_is_property_changes_when_uppercased,
22301         uc_is_property_changes_when_titlecased,
22302         uc_is_property_changes_when_casefolded,
22303         uc_is_property_changes_when_casemapped): New declarations.
22304         * lib/unictype/pr_byname.gperf: Add the new properties.
22305         * modules/unictype/property-byname (Depends-on): Depend on the new
22306         properties modules.
22307         * modules/unictype/property-all (Depends-on): Likewise.
22308         * MODULES.html.sh (Unicode string functions): Add
22309         unictype/property-case-ignorable, unictype/property-cased,
22310         unictype/property-changes-when-casefolded,
22311         unictype/property-changes-when-casemapped,
22312         unictype/property-changes-when-lowercased,
22313         unictype/property-changes-when-titlecased,
22314         unictype/property-changes-when-uppercased.
22315
22316         New module 'unictype/property-changes-when-casemapped'.
22317         * modules/unictype/property-changes-when-casemapped: New file.
22318         * lib/unictype/pr_changes_when_casemapped.c: New file.
22319         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
22320         generated by gen-uni-tables.
22321         * modules/unictype/property-changes-when-casemapped-tests: New file.
22322         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
22323         automatically generated by gen-uni-tables.
22324
22325         New module 'unictype/property-changes-when-casefolded'.
22326         * modules/unictype/property-changes-when-casefolded: New file.
22327         * lib/unictype/pr_changes_when_casefolded.c: New file.
22328         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
22329         generated by gen-uni-tables.
22330         * modules/unictype/property-changes-when-casefolded-tests: New file.
22331         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
22332         automatically generated by gen-uni-tables.
22333
22334         New module 'unictype/property-changes-when-titlecased'.
22335         * modules/unictype/property-changes-when-titlecased: New file.
22336         * lib/unictype/pr_changes_when_titlecased.c: New file.
22337         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
22338         generated by gen-uni-tables.
22339         * modules/unictype/property-changes-when-titlecased-tests: New file.
22340         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
22341         automatically generated by gen-uni-tables.
22342
22343         New module 'unictype/property-changes-when-uppercased'.
22344         * modules/unictype/property-changes-when-uppercased: New file.
22345         * lib/unictype/pr_changes_when_uppercased.c: New file.
22346         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
22347         generated by gen-uni-tables.
22348         * modules/unictype/property-changes-when-uppercased-tests: New file.
22349         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
22350         automatically generated by gen-uni-tables.
22351
22352         New module 'unictype/property-changes-when-lowercased'.
22353         * modules/unictype/property-changes-when-lowercased: New file.
22354         * lib/unictype/pr_changes_when_lowercased.c: New file.
22355         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
22356         generated by gen-uni-tables.
22357         * modules/unictype/property-changes-when-lowercased-tests: New file.
22358         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
22359         automatically generated by gen-uni-tables.
22360
22361         New module 'unictype/property-case-ignorable'.
22362         * modules/unictype/property-case-ignorable: New file.
22363         * lib/unictype/pr_case_ignorable.c: New file.
22364         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
22365         by gen-uni-tables.
22366         * modules/unictype/property-case-ignorable-tests: New file.
22367         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
22368         generated by gen-uni-tables.
22369
22370         New module 'unictype/property-cased'.
22371         * modules/unictype/property-cased: New file.
22372         * lib/unictype/pr_cased.c: New file.
22373         * lib/unictype/pr_cased.h: New file, automatically generated by
22374         gen-uni-tables.
22375         * modules/unictype/property-cased-tests: New file.
22376         * tests/unictype/test-pr_cased.c: New file, automatically generated by
22377         gen-uni-tables.
22378
22379 2011-01-09  Bruno Haible  <bruno@clisp.org>
22380
22381         Update to Unicode 5.2.0.
22382         * lib/gen-uni-tables.c (output_predicate, output_category,
22383         output_combclass, output_bidi_category, output_decimal_digit_test,
22384         output_decimal_digit, output_digit_test, output_digit,
22385         output_numeric_test, output_numeric, output_mirror, output_scripts,
22386         output_scripts_byname, output_blocks, output_ident_category): Fix
22387         comment header.
22388         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
22389         get_wbp.
22390         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
22391         items.
22392         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
22393         Changes_When_Lowercased, Changes_When_Uppercased,
22394         Changes_When_Titlecased, Changes_When_Casefolded,
22395         Changes_When_Casemapped.
22396         (is_property_alphabetic, is_property_default_ignorable_code_point):
22397         Update for Unicode 5.2.0.
22398         (is_property_cased, is_property_case_ignorable,
22399         is_property_changes_when_lowercased,
22400         is_property_changes_when_uppercased,
22401         is_property_changes_when_titlecased,
22402         is_property_changes_when_casefolded,
22403         is_property_changes_when_casemapped): New functions.
22404         (output_properties): Output also the properties cased, case_ignorable,
22405         changes_when_lowercased, changes_when_uppercased,
22406         changes_when_titlecased, changes_when_casefolded,
22407         changes_when_casemapped.
22408         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
22409         Unicode TR#11 revision 17 -> 19.
22410         (LBP_CP): New enumeration value.
22411         (LBP_*): Adjust values accordingly.
22412         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
22413         TR#14 revision 22 -> 24.
22414         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
22415         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
22416         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
22417         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
22418         is_WBP_MIDLETTER.
22419         (output_composition_tables): Allow for 24 bits instead of 16 bits in
22420         the code1 and code2 of each composition rule.
22421         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
22422         * lib/unicase/ignorable.h: Likewise.
22423         * lib/unicase/tocasefold.h: Likewise.
22424         * lib/unicase/tolower.h: Likewise.
22425         * lib/unicase/totitle.h: Likewise.
22426         * lib/unicase/toupper.h: Likewise.
22427         * lib/unictype/bidi_of.h: Likewise.
22428         * lib/unictype/blocks.h: Likewise.
22429         * lib/unictype/categ_C.h: Likewise.
22430         * lib/unictype/categ_Cf.h: Likewise.
22431         * lib/unictype/categ_Cn.h: Likewise.
22432         * lib/unictype/categ_L.h: Likewise.
22433         * lib/unictype/categ_Ll.h: Likewise.
22434         * lib/unictype/categ_Lm.h: Likewise.
22435         * lib/unictype/categ_Lo.h: Likewise.
22436         * lib/unictype/categ_Lu.h: Likewise.
22437         * lib/unictype/categ_M.h: Likewise.
22438         * lib/unictype/categ_Mc.h: Likewise.
22439         * lib/unictype/categ_Mn.h: Likewise.
22440         * lib/unictype/categ_N.h: Likewise.
22441         * lib/unictype/categ_Nd.h: Likewise.
22442         * lib/unictype/categ_Nl.h: Likewise.
22443         * lib/unictype/categ_No.h: Likewise.
22444         * lib/unictype/categ_P.h: Likewise.
22445         * lib/unictype/categ_Pd.h: Likewise.
22446         * lib/unictype/categ_Po.h: Likewise.
22447         * lib/unictype/categ_S.h: Likewise.
22448         * lib/unictype/categ_Sc.h: Likewise.
22449         * lib/unictype/categ_So.h: Likewise.
22450         * lib/unictype/categ_of.h: Likewise.
22451         * lib/unictype/combining.h: Likewise.
22452         * lib/unictype/ctype_alnum.h: Likewise.
22453         * lib/unictype/ctype_alpha.h: Likewise.
22454         * lib/unictype/ctype_graph.h: Likewise.
22455         * lib/unictype/ctype_lower.h: Likewise.
22456         * lib/unictype/ctype_print.h: Likewise.
22457         * lib/unictype/ctype_punct.h: Likewise.
22458         * lib/unictype/ctype_upper.h: Likewise.
22459         * lib/unictype/decdigit.h: Likewise.
22460         * lib/unictype/digit.h: Likewise.
22461         * lib/unictype/numeric.h: Likewise.
22462         * lib/unictype/pr_alphabetic.h: Likewise.
22463         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
22464         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
22465         * lib/unictype/pr_bidi_european_digit.h: Likewise.
22466         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
22467         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
22468         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
22469         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
22470         * lib/unictype/pr_combining.h: Likewise.
22471         * lib/unictype/pr_composite.h: Likewise.
22472         * lib/unictype/pr_currency_symbol.h: Likewise.
22473         * lib/unictype/pr_dash.h: Likewise.
22474         * lib/unictype/pr_decimal_digit.h: Likewise.
22475         * lib/unictype/pr_deprecated.h: Likewise.
22476         * lib/unictype/pr_diacritic.h: Likewise.
22477         * lib/unictype/pr_extender.h: Likewise.
22478         * lib/unictype/pr_grapheme_base.h: Likewise.
22479         * lib/unictype/pr_grapheme_extend.h: Likewise.
22480         * lib/unictype/pr_grapheme_link.h: Likewise.
22481         * lib/unictype/pr_id_continue.h: Likewise.
22482         * lib/unictype/pr_id_start.h: Likewise.
22483         * lib/unictype/pr_ideographic.h: Likewise.
22484         * lib/unictype/pr_ignorable_control.h: Likewise.
22485         * lib/unictype/pr_logical_order_exception.h: Likewise.
22486         * lib/unictype/pr_lowercase.h: Likewise.
22487         * lib/unictype/pr_numeric.h: Likewise.
22488         * lib/unictype/pr_other_alphabetic.h: Likewise.
22489         * lib/unictype/pr_punctuation.h: Likewise.
22490         * lib/unictype/pr_sentence_terminal.h: Likewise.
22491         * lib/unictype/pr_terminal_punctuation.h: Likewise.
22492         * lib/unictype/pr_unassigned_code_value.h: Likewise.
22493         * lib/unictype/pr_unified_ideograph.h: Likewise.
22494         * lib/unictype/pr_uppercase.h: Likewise.
22495         * lib/unictype/pr_xid_continue.h: Likewise.
22496         * lib/unictype/pr_xid_start.h: Likewise.
22497         * lib/unictype/pr_zero_width.h: Likewise.
22498         * lib/unictype/scripts.h: Likewise.
22499         * lib/unictype/scripts_byname.gperf: Likewise.
22500         * lib/unictype/sy_java_ident.h: Likewise.
22501         * lib/unigbrk/gbrkprop.h: Likewise.
22502         * lib/unilbrk/lbrkprop1.h: Likewise.
22503         * lib/unilbrk/lbrkprop2.h: Likewise.
22504         * lib/unilbrk/lbrktables.h: Likewise.
22505         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
22506         LBP_CP. Implement rule LB30.
22507         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
22508         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
22509         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
22510         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
22511         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
22512         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
22513         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
22514         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
22515         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
22516         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
22517         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
22518         bits instead of 16 bits in the code1 and code2 of each composition
22519         rule.
22520         (uc_composition): Update for Unicode 5.2.0.
22521         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
22522         * lib/uninorm/decomposition-table2.h: Likewise.
22523         * lib/uniwbrk/wbrkprop.h: Likewise.
22524         * tests/unicase/test-cased.c: Likewise.
22525         * tests/unicase/test-ignorable.c: Likewise.
22526         * tests/unicase/test-uc_tolower.c: Likewise.
22527         * tests/unicase/test-uc_totitle.c: Likewise.
22528         * tests/unicase/test-uc_toupper.c: Likewise.
22529         * tests/unictype/test-categ_C.c: Likewise.
22530         * tests/unictype/test-categ_Cf.c: Likewise.
22531         * tests/unictype/test-categ_Cn.c: Likewise.
22532         * tests/unictype/test-categ_L.c: Likewise.
22533         * tests/unictype/test-categ_Ll.c: Likewise.
22534         * tests/unictype/test-categ_Lm.c: Likewise.
22535         * tests/unictype/test-categ_Lo.c: Likewise.
22536         * tests/unictype/test-categ_Lu.c: Likewise.
22537         * tests/unictype/test-categ_M.c: Likewise.
22538         * tests/unictype/test-categ_Mc.c: Likewise.
22539         * tests/unictype/test-categ_Mn.c: Likewise.
22540         * tests/unictype/test-categ_N.c: Likewise.
22541         * tests/unictype/test-categ_Nd.c: Likewise.
22542         * tests/unictype/test-categ_Nl.c: Likewise.
22543         * tests/unictype/test-categ_No.c: Likewise.
22544         * tests/unictype/test-categ_P.c: Likewise.
22545         * tests/unictype/test-categ_Pd.c: Likewise.
22546         * tests/unictype/test-categ_Po.c: Likewise.
22547         * tests/unictype/test-categ_S.c: Likewise.
22548         * tests/unictype/test-categ_Sc.c: Likewise.
22549         * tests/unictype/test-categ_So.c: Likewise.
22550         * tests/unictype/test-ctype_alnum.c: Likewise.
22551         * tests/unictype/test-ctype_alpha.c: Likewise.
22552         * tests/unictype/test-ctype_graph.c: Likewise.
22553         * tests/unictype/test-ctype_lower.c: Likewise.
22554         * tests/unictype/test-ctype_print.c: Likewise.
22555         * tests/unictype/test-ctype_punct.c: Likewise.
22556         * tests/unictype/test-ctype_upper.c: Likewise.
22557         * tests/unictype/test-decdigit.h: Likewise.
22558         * tests/unictype/test-digit.h: Likewise.
22559         * tests/unictype/test-numeric.h: Likewise.
22560         * tests/unictype/test-pr_alphabetic.c: Likewise.
22561         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
22562         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
22563         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
22564         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
22565         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
22566         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
22567         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
22568         * tests/unictype/test-pr_combining.c: Likewise.
22569         * tests/unictype/test-pr_composite.c: Likewise.
22570         * tests/unictype/test-pr_currency_symbol.c: Likewise.
22571         * tests/unictype/test-pr_dash.c: Likewise.
22572         * tests/unictype/test-pr_decimal_digit.c: Likewise.
22573         * tests/unictype/test-pr_deprecated.c: Likewise.
22574         * tests/unictype/test-pr_diacritic.c: Likewise.
22575         * tests/unictype/test-pr_extender.c: Likewise.
22576         * tests/unictype/test-pr_grapheme_base.c: Likewise.
22577         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
22578         * tests/unictype/test-pr_grapheme_link.c: Likewise.
22579         * tests/unictype/test-pr_id_continue.c: Likewise.
22580         * tests/unictype/test-pr_id_start.c: Likewise.
22581         * tests/unictype/test-pr_ideographic.c: Likewise.
22582         * tests/unictype/test-pr_ignorable_control.c: Likewise.
22583         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
22584         * tests/unictype/test-pr_lowercase.c: Likewise.
22585         * tests/unictype/test-pr_numeric.c: Likewise.
22586         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
22587         * tests/unictype/test-pr_punctuation.c: Likewise.
22588         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
22589         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
22590         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
22591         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
22592         * tests/unictype/test-pr_uppercase.c: Likewise.
22593         * tests/unictype/test-pr_xid_continue.c: Likewise.
22594         * tests/unictype/test-pr_xid_start.c: Likewise.
22595         * tests/unictype/test-pr_zero_width.c: Likewise.
22596         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
22597         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
22598         changed behaviour: line breaking is now disallowed between a letter
22599         or '=' and '('.
22600         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22601         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22602         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
22603         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
22604         * tests/uniwidth/test-uc_width2.sh: Same updates as in
22605         lib/uniwidth/width.c.
22606         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
22607         without comments, but with the original copyright notice.
22608         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
22609         changes.
22610         * lib/unictype/categ_Cc.h: Likewise.
22611         * lib/unictype/categ_Co.h: Likewise.
22612         * lib/unictype/categ_Cs.h: Likewise.
22613         * lib/unictype/categ_Lt.h: Likewise.
22614         * lib/unictype/categ_Me.h: Likewise.
22615         * lib/unictype/categ_Pc.h: Likewise.
22616         * lib/unictype/categ_Pe.h: Likewise.
22617         * lib/unictype/categ_Pf.h: Likewise.
22618         * lib/unictype/categ_Pi.h: Likewise.
22619         * lib/unictype/categ_Ps.h: Likewise.
22620         * lib/unictype/categ_Sk.h: Likewise.
22621         * lib/unictype/categ_Sm.h: Likewise.
22622         * lib/unictype/categ_Z.h: Likewise.
22623         * lib/unictype/categ_Zl.h: Likewise.
22624         * lib/unictype/categ_Zp.h: Likewise.
22625         * lib/unictype/categ_Zs.h: Likewise.
22626         * lib/unictype/ctype_blank.h: Likewise.
22627         * lib/unictype/ctype_cntrl.h: Likewise.
22628         * lib/unictype/ctype_digit.h: Likewise.
22629         * lib/unictype/ctype_space.h: Likewise.
22630         * lib/unictype/ctype_xdigit.h: Likewise.
22631         * lib/unictype/mirror.h: Likewise.
22632         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
22633         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
22634         * lib/unictype/pr_bidi_block_separator.h: Likewise.
22635         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
22636         * lib/unictype/pr_bidi_common_separator.h: Likewise.
22637         * lib/unictype/pr_bidi_control.h: Likewise.
22638         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
22639         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
22640         * lib/unictype/pr_bidi_pdf.h: Likewise.
22641         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
22642         * lib/unictype/pr_bidi_whitespace.h: Likewise.
22643         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22644         * lib/unictype/pr_format_control.h: Likewise.
22645         * lib/unictype/pr_hex_digit.h: Likewise.
22646         * lib/unictype/pr_hyphen.h: Likewise.
22647         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22648         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22649         * lib/unictype/pr_iso_control.h: Likewise.
22650         * lib/unictype/pr_join_control.h: Likewise.
22651         * lib/unictype/pr_left_of_pair.h: Likewise.
22652         * lib/unictype/pr_line_separator.h: Likewise.
22653         * lib/unictype/pr_math.h: Likewise.
22654         * lib/unictype/pr_non_break.h: Likewise.
22655         * lib/unictype/pr_not_a_character.h: Likewise.
22656         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22657         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22658         * lib/unictype/pr_other_id_continue.h: Likewise.
22659         * lib/unictype/pr_other_id_start.h: Likewise.
22660         * lib/unictype/pr_other_lowercase.h: Likewise.
22661         * lib/unictype/pr_other_math.h: Likewise.
22662         * lib/unictype/pr_other_uppercase.h: Likewise.
22663         * lib/unictype/pr_paired_punctuation.h: Likewise.
22664         * lib/unictype/pr_paragraph_separator.h: Likewise.
22665         * lib/unictype/pr_pattern_syntax.h: Likewise.
22666         * lib/unictype/pr_pattern_white_space.h: Likewise.
22667         * lib/unictype/pr_private_use.h: Likewise.
22668         * lib/unictype/pr_quotation_mark.h: Likewise.
22669         * lib/unictype/pr_radical.h: Likewise.
22670         * lib/unictype/pr_soft_dotted.h: Likewise.
22671         * lib/unictype/pr_space.h: Likewise.
22672         * lib/unictype/pr_titlecase.h: Likewise.
22673         * lib/unictype/pr_variation_selector.h: Likewise.
22674         * lib/unictype/pr_white_space.h: Likewise.
22675         * lib/unictype/sy_c_ident.h: Likewise.
22676         * lib/unictype/sy_c_whitespace.h: Likewise.
22677         * lib/unictype/sy_java_whitespace.h: Likewise.
22678         * modules/uni*/*: Bump version number of expected libunistring version.
22679         Reported by Simon Josefsson.
22680
22681 2011-01-09  Karl Heuer  <kwzh@gnu.org>
22682
22683         useless-if-before-free: fix typo in --help and make the internal,
22684         automatic version date update process work once again.
22685         --help output contained a NUL character instead of the
22686         backslash-zero that was intended.  Also, the "must lie within
22687         the first 8 lines" line is on line 9, and hence not getting
22688         automatically updated.
22689         * build-aux/useless-if-before-free: Fix the former by adding a
22690         backslash, and the latter by condensing the three lines of what-it-does
22691         to a single line, leaving one line of slack for the future.
22692
22693 2011-01-09  Bruno Haible  <bruno@clisp.org>
22694
22695         uniwidth/width: Fix width of U+1D173..U+1D17A.
22696         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
22697         symbolic_width, output_width_property_test): New functions.
22698         (main): Invoke output_nonspacing_property, output_width_property_test.
22699         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
22700         U+1D173..U+1D17A.
22701         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
22702         1.
22703         * modules/uniwidth/*: Bump version number of expected libunistring
22704         version.
22705         * modules/unilbrk/*: Likewise.
22706
22707 2011-01-08  Bruno Haible  <bruno@clisp.org>
22708
22709         uninorm tests: Preserve copyright of Unicode data file.
22710         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
22711         Mention modifications.
22712
22713 2011-01-08  Bruno Haible  <bruno@clisp.org>
22714
22715         gen-uni-tables: Prepare for Unicode 5.2.0.
22716         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
22717         (debug_output_lbp, output_lbp): Update.
22718
22719 2011-01-08  Bruno Haible  <bruno@clisp.org>
22720
22721         unilbrk: Clarify gen-uni-tables.c code.
22722         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
22723         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
22724         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
22725
22726 2011-01-07  Bruno Haible  <bruno@clisp.org>
22727
22728         strtod: Restore errno when successfully parsing Infinity or NaN.
22729         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
22730         restore the original errno.
22731
22732 2011-01-07  Bruno Haible  <bruno@clisp.org>
22733
22734         remove test: Avoid failure on HP-UX 11.
22735         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
22736
22737 2011-01-07  Bruno Haible  <bruno@clisp.org>
22738
22739         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
22740         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
22741         error code.
22742
22743 2011-01-07  Pádraig Brady <P@draigBrady.com>
22744
22745         ignore-value: fixup comments, and add Eric Blake
22746         as an author since he rewrote the macros.
22747         * lib/ignore-value.h (ignore_value):  State that
22748         we now support aggregates.  Also specify exactly
22749         when the GCC warn_unused_result feature was added.
22750
22751 2011-01-06  Eric Blake  <eblake@redhat.com>
22752
22753         ignore-value: support aggregate types
22754         * lib/ignore-value.h (ignore_value): Provide separate gcc
22755         definition.
22756         * modules/ignore-value-tests: New test module.
22757         * tests/test-ignore-value.c: New test.
22758
22759         maint.mk: improve sc_prohibit_strcmp regex
22760         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
22761         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
22762         definition of STRNEQ.
22763
22764         signal: work around Haiku issue with SIGBUS
22765         * lib/siglist.h: Add comment.
22766         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
22767         strsignal's favoring of SIGSEGV.
22768         * tests/test-signal.c (main): Avoid test failure.
22769         * doc/posix-headers/signal.texi (signal.h): Document the issue.
22770         Reported by Scott McCreary.
22771
22772         maint.mk: add pre-release check to ensure submodule commits are public
22773         * top/maint.mk (public-submodule-commit): New rule.
22774         (submodule-checks): New variable.
22775         (alpha beta stable): Depend on the variable.
22776
22777 2011-01-05  Pádraig Brady <P@draigBrady.com>
22778         and Jim Meyering  <meyering@redhat.com>
22779
22780         ignore-value: make ignore_value more generic; deprecate ignore_ptr
22781         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
22782         (ATTRIBUTE_DEPRECATED): Define.
22783         (_ignore_case): New function.
22784         (ignore_value): New macro, to replace the old function.
22785         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
22786         * modules/ignore-value (Depends-on): Add stdint.
22787
22788 2011-01-04  Eric Blake  <eblake@redhat.com>
22789
22790         doc: regenerate INSTALL
22791         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
22792         @firstparagraphindent support, now that autoconf dropped it.
22793         (INSTALL_PRELUDE): Reinstate old macro.
22794         * doc/install.texi: Resync from autoconf.
22795         * doc/INSTALL: Reflect recent autoconf update.
22796         * doc/INSTALL.ISO: Likewise.
22797         * doc/INSTALL.UTF-8: Likewise.
22798         Reported by Karl Berry.
22799
22800 2011-01-04  Bruce Korb  <address@hidden>
22801
22802         git-version-gen: avoid a sub-shell
22803         * build-aux/git-version-gen: Redirect stderr in `...` via
22804         "exec 2>...", rather than via an added sub-shell.
22805
22806 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
22807
22808         git-version-gen: use (...) rather than sh -c '...'
22809         * build-aux/git-version-gen: Rather than hard-coding a shell's name
22810         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
22811
22812 2011-01-03  Jim Meyering  <meyering@redhat.com>
22813
22814         git-version-gen: convert leading TABs to spaces
22815         * build-aux/git-version-gen: Expand leading TABs.
22816
22817         git-version-gen: handle failed "git rev-list"
22818         * build-aux/git-version-gen: Rather than leaking a "fatal" error
22819         from git and proceeding as if it had succeeded but printed no SHA1
22820         checksums, suppress the diagnostic and handle the failure.
22821         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
22822
22823         git-version-gen: include command name in one more diagnostic
22824         * build-aux/git-version-gen: When the required .tarball-version file
22825         was missing or unreadable, you might see the diagnostic from "cat",
22826         but no trace of the name of the invoking script.  Now, you still see
22827         the diagnostic from cat, but also get one from "git-version-gen: ".
22828         Inspired by a patch from Bruce Korb.
22829
22830         update-copyright: adjust test to match changed code
22831         * tests/test-update-copyright.sh: Change test's expected output
22832         to match new actual output.
22833
22834 2011-01-02  Bruno Haible  <bruno@clisp.org>
22835
22836         getlogin_r: Avoid test failure on HP-UX 11.
22837         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
22838         ERANGE when the second argument is zero.
22839         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
22840         portability problem.
22841
22842 2011-01-02  Bruce Korb  <bkorb@gnu.org>
22843
22844         * build-aux/update-copyright: doc Simon's changes
22845
22846 2011-01-02  Simon Josefsson  <simon@josefsson.org>
22847
22848         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
22849         environment variable.
22850
22851 2011-01-02  Bruno Haible  <bruno@clisp.org>
22852
22853         unigbrk: Avoid gcc warnings.
22854         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
22855         unused variable.
22856         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
22857         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
22858         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
22859         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
22860         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
22861         Change type of first argument to 'const char *'.
22862         (main): Remove unused variable.
22863         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
22864         type of first argument to 'const char *'.
22865         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
22866         Likewise.
22867         (main): Change type of variable 's'.
22868         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
22869         to 'int'.
22870
22871 2011-01-02  Bruno Haible  <bruno@clisp.org>
22872
22873         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
22874         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
22875         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
22876         bug.
22877         * lib/pwrite.c: Undo 2010-12-31 patch.
22878         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
22879
22880 2011-01-02  Bruno Haible  <bruno@clisp.org>
22881
22882         pread: Fix test whether it works.
22883         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
22884
22885 2011-01-02  Bruno Haible  <bruno@clisp.org>
22886
22887         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
22888         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
22889         ends in "6". Don't require a specific month name. Try also the locale
22890         names found on HP-UX 11 and Solaris 7.
22891
22892 2011-01-02  Bruno Haible  <bruno@clisp.org>
22893
22894         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
22895         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
22896         C linkage.
22897         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
22898
22899 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22900
22901         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
22902         for consistency, since the "cluster" term is not used elsewhere.
22903         * lib/unigbrk.in.h: Update name.
22904         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
22905         * lib/unigbrk/u16-grapheme-next.c: Update name.
22906         * lib/unigbrk/u16-grapheme-prev.c: Update name.
22907         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
22908         * lib/unigbrk/u32-grapheme-next.c: Update name.
22909         * lib/unigbrk/u32-grapheme-prev.c: Update name.
22910         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
22911         * lib/unigbrk/u8-grapheme-next.c: Update name.
22912         * lib/unigbrk/u8-grapheme-prev.c: Update name.
22913         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
22914         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
22915         Suggested by Bruno Haible.
22916
22917 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22918
22919         Remove module 'u8-grapheme-len' as too redundant with
22920         'u8-grapheme-next'.
22921         * modules/unigbrk/u8-grapheme-len: Delete file.
22922         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
22923         * lib/unigbrk.in.h: Remove prototype for deleted function.
22924         * lib/unigbrk/u8-grapheme-len.c: Delete file.
22925         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
22926
22927         Remove module 'u16-grapheme-len' as too redundant with
22928         'u16-grapheme-next'.
22929         * modules/unigbrk/u16-grapheme-len: Delete file.
22930         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
22931         * lib/unigbrk.in.h: Remove prototype for deleted function.
22932         * lib/unigbrk/u16-grapheme-len.c: Delete file.
22933         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
22934
22935         Remove module 'u32-grapheme-len' as too redundant with
22936         'u32-grapheme-next'.
22937         * modules/unigbrk/u32-grapheme-len: Delete file.
22938         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
22939         * lib/unigbrk.in.h: Remove prototype for deleted function.
22940         * lib/unigbrk/u32-grapheme-len.c: Delete file.
22941         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
22942
22943         Suggested by Bruno Haible.
22944
22945 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22946
22947         * unigbrk.in.h: Fix typo: "ben" => "been".
22948         Reported by Bruno Haible.
22949
22950 2011-01-01  Jim Meyering  <meyering@redhat.com>
22951
22952         maint: update almost all copyright ranges to include 2011
22953         Run the new "make update-copyright" rule.
22954
22955 2011-01-01  Jim Meyering  <meyering@redhat.com>
22956
22957         maint: update-copyright: exempt doc/INSTALL*
22958         * Makefile (update-copyright): Also exclude doc/INSTALL*,
22959         since they are generated.  Suggested by Bruno Haible.
22960
22961 2011-01-01  Jim Meyering  <meyering@redhat.com>
22962
22963         maint: refine the update-copyright rule
22964         * Makefile (update-copyright): Also exclude any file that includes
22965         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
22966         code that merely generates the comment.
22967
22968 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
22969
22970         New module 'u8-grapheme-len'.
22971         * modules/unigbrk/u8-grapheme-len: New file.
22972         * modules/unigbrk/u8-grapheme-len-tests: New file.
22973         * lib/unigbrk.in.h: Add prototype for new function.
22974         * lib/unigbrk/u8-grapheme-len.c: New file.
22975         * tests/unigbrk/test-u8-grapheme-len.c: New file.
22976
22977         New module 'u16-grapheme-len'.
22978         * modules/unigbrk/u16-grapheme-len: New file.
22979         * modules/unigbrk/u16-grapheme-len-tests: New file.
22980         * lib/unigbrk.in.h: Add prototype for new function.
22981         * lib/unigbrk/u16-grapheme-len.c: New file.
22982         * tests/unigbrk/test-u16-grapheme-len.c: New file.
22983
22984         New module 'u32-grapheme-len'.
22985         * modules/unigbrk/u32-grapheme-len: New file.
22986         * modules/unigbrk/u32-grapheme-len-tests: New file.
22987         * lib/unigbrk.in.h: Add prototype for new function.
22988         * lib/unigbrk/u32-grapheme-len.c: New file.
22989         * tests/unigbrk/test-u32-grapheme-len.c: New file.
22990
22991         New module 'u8-grapheme-next'.
22992         * modules/unigbrk/u8-grapheme-next: New file.
22993         * modules/unigbrk/u8-grapheme-next-tests: New file.
22994         * lib/unigbrk.in.h: Add prototype for new function.
22995         * lib/unigbrk/u8-grapheme-next.c: New file.
22996         * tests/unigbrk/test-u8-grapheme-next.c: New file.
22997
22998         New module 'u16-grapheme-next'.
22999         * modules/unigbrk/u16-grapheme-next: New file.
23000         * modules/unigbrk/u16-grapheme-next-tests: New file.
23001         * lib/unigbrk.in.h: Add prototype for new function.
23002         * lib/unigbrk/u16-grapheme-next.c: New file.
23003         * tests/unigbrk/test-u16-grapheme-next.c: New file.
23004
23005         New module 'u32-grapheme-next'.
23006         * modules/unigbrk/u32-grapheme-next: New file.
23007         * modules/unigbrk/u32-grapheme-next-tests: New file.
23008         * lib/unigbrk.in.h: Add prototype for new function.
23009         * lib/unigbrk/u32-grapheme-next.c: New file.
23010         * tests/unigbrk/test-u32-grapheme-next.c: New file.
23011
23012         New module 'u8-grapheme-prev'.
23013         * modules/unigbrk/u8-grapheme-prev: New file.
23014         * modules/unigbrk/u8-grapheme-prev-tests: New file.
23015         * lib/unigbrk.in.h: Add prototype for new function.
23016         * lib/unigbrk/u8-grapheme-prev.c: New file.
23017         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
23018
23019         New module 'u16-grapheme-prev'.
23020         * modules/unigbrk/u16-grapheme-prev: New file.
23021         * modules/unigbrk/u16-grapheme-prev-tests: New file.
23022         * lib/unigbrk.in.h: Add prototype for new function.
23023         * lib/unigbrk/u16-grapheme-prev.c: New file.
23024         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
23025
23026         New module 'u32-grapheme-prev'.
23027         * modules/unigbrk/u32-grapheme-prev: New file.
23028         * modules/unigbrk/u32-grapheme-prev-tests: New file.
23029         * lib/unigbrk.in.h: Add prototype for new function.
23030         * lib/unigbrk/u32-grapheme-prev.c: New file.
23031         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
23032
23033         New module 'u8-grapheme-breaks'.
23034         * modules/unigbrk/u8-grapheme-breaks: New file.
23035         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
23036         * lib/unigbrk.in.h: Add prototype for new function.
23037         * lib/unigbrk/u8-grapheme-breaks.c: New file.
23038         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
23039
23040         New module 'u16-grapheme-breaks'.
23041         * modules/unigbrk/u16-grapheme-breaks: New file.
23042         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
23043         * lib/unigbrk.in.h: Add prototype for new function.
23044         * lib/unigbrk/u16-grapheme-breaks.c: New file.
23045         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
23046
23047         New module 'u32-grapheme-breaks'.
23048         * modules/unigbrk/u32-grapheme-breaks: New file.
23049         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
23050         * lib/unigbrk.in.h: Add prototype for new function.
23051         * lib/unigbrk/u32-grapheme-breaks.c: New file.
23052         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
23053
23054         New module 'ulc-grapheme-breaks'.
23055         * modules/unigbrk/ulc-grapheme-breaks: New file.
23056         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
23057         * m4/locale-ar.m4: New file.
23058         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
23059         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
23060         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
23061
23062 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
23063
23064         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
23065         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
23066         modified how this file was generated before I initially submitted
23067         the module, but failed to regenerate it.  This meant that several
23068         of the level2 entries were wrong.
23069         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
23070         Remove the division-by-2 that is folded into the table now that
23071         gbrkprop.h has been regenerated properly.  Now -1 entries are
23072         handled correctly.
23073
23074         New module 'unigbrk/uc-gbrk-prop-tests'.
23075         * modules/unigbrk/uc-gbrk-prop-tests: New file.
23076         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
23077         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
23078         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
23079
23080 2011-01-01  Bruno Haible  <bruno@clisp.org>
23081
23082         Avoid use of hexadecimal escapes.
23083         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
23084         instead of hexadecimal escapes.
23085
23086 2011-01-01  Jim Meyering  <meyering@redhat.com>
23087
23088         maint: new rule to update copyright year ranges
23089         * Makefile (update-copyright): New rule.
23090
23091         maint: indent with TABs in Makefile
23092         * Makefile: Expand leading sequences of spaces to TABs
23093
23094         version-etc: update the copyright year it reports
23095         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
23096
23097 2010-12-31  Bruno Haible  <bruno@clisp.org>
23098
23099         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
23100         * lib/isfinite.c (zerof, zerod, zerol): New variables.
23101         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
23102         zero.
23103
23104 2010-12-31  Bruno Haible  <bruno@clisp.org>
23105
23106         pwrite: Work around HP-UX 11.11 bug.
23107         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
23108         works and set REPLACE_PWRITE if not.
23109         * lib/pwrite.c (pwrite): Add an implementation that uses the system
23110         function.
23111         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
23112
23113 2010-12-31  Bruno Haible  <bruno@clisp.org>
23114
23115         pread: Work around HP-UX 11 bugs.
23116         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
23117         and set REPLACE_PREAD if not.
23118         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
23119
23120 2010-12-31  Eric Blake  <eblake@redhat.com>
23121
23122         nl_langinfo: fix YESEXPR on Irix 6.5
23123         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
23124         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
23125         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
23126         it.
23127
23128 2010-12-31  Bruno Haible  <bruno@clisp.org>
23129
23130         iconv: Document HP-UX 11 bug.
23131         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
23132
23133 2010-12-31  Bruno Haible  <bruno@clisp.org>
23134
23135         ldexpl: Fix link error on HP-UX 11.
23136         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
23137         LDEXPL_LIBM, using $ISNANL_LIBM.
23138
23139 2010-12-31  Eric Blake  <eblake@redhat.com>
23140
23141         ftello: avoid compilation failure with SunStudio c89
23142         * lib/ftello.c (ftello): Use lseek, not llseek.
23143
23144         tests: avoid failing coreutils tests on cygwin
23145         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
23146         (create_exe_shims_): Return 0 when skipping.
23147
23148 2010-12-31  Bruno Haible  <bruno@clisp.org>
23149
23150         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
23151         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
23152
23153 2010-12-31  Bruno Haible  <bruno@clisp.org>
23154
23155         waitpid: Fix link error in C++ mode.
23156         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
23157
23158 2010-12-31  Bruno Haible  <bruno@clisp.org>
23159
23160         isnan: Use GCC built-ins when possible.
23161         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
23162         __builtin_isnan.
23163         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
23164         (isnan): Define using GCC built-ins for GCC >= 4.0.
23165
23166 2010-12-31  Bruno Haible  <bruno@clisp.org>
23167
23168         isnand: Fix mistake.
23169         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
23170         __builtin_isnand.
23171
23172 2010-12-31  Bruno Haible  <bruno@clisp.org>
23173
23174         open: Avoid C++ error on HP-UX 11.
23175         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
23176
23177 2010-12-31  Bruno Haible  <bruno@clisp.org>
23178
23179         time_r: Add missing declarations on HP-UX 11.
23180         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
23181         instead of HAVE_LOCALTIME_R.
23182         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
23183         HAVE_LOCALTIME_R always.
23184         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
23185         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
23186         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
23187         HAVE_LOCALTIME_R.
23188         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
23189         * doc/posix-functions/localtime_r.texi: Likewise.
23190
23191 2010-12-29  Eric Blake  <eblake@redhat.com>
23192
23193         mountlist: tweak previous commit
23194         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
23195         Reported by Paul Eggert.
23196
23197         mountlist: fix local drive detection on cygwin
23198         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
23199         that works for cygwin.
23200
23201 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
23202
23203         ftoastr, snprintf: ftoastr + snprintf module
23204         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
23205         since the snprintf module now should be good enough here.
23206         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
23207         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
23208         and gl_MODULE_INDICATOR([snprintf]), but the former enables
23209         GNULIB_SNPRINTF only for the test directory, and the latter
23210         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
23211         seems to suffice by itself.
23212
23213 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
23214
23215         alloca: one step towards thread-safety
23216         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
23217         need for a static variable.  All callers changed.  This does not
23218         make the alloca replacement thread-safe, but it's one step.
23219
23220         tests: minor indenting change
23221         * tests/init.sh: Sync from coreutils housekeeping patch
23222         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
23223         to keep lines within 80 columns.
23224
23225 2010-12-28  Jim Meyering  <meyering@redhat.com>
23226
23227         regex: don't infloop on persistent failing calloc
23228         * lib/regexec.c (build_trtable): Return failure indication upon
23229         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
23230         In glibc, this was fixed for version 2.13:
23231         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
23232
23233 2010-12-28  Bruno Haible  <bruno@clisp.org>
23234             Paul Eggert <eggert@cs.ucla.edu>
23235
23236         linkat: Make implementation robust against system behaviour variations.
23237         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
23238         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
23239         way, and to -2 if it needs a generic runtime test.
23240         * lib/linkat.c (solaris_optimized_link_immediate,
23241         solaris_optimized_link_follow): New functions.
23242         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
23243         (check_same_link): Use it.
23244
23245 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
23246
23247         New module 'unigbrk/base'.
23248         * modules/unigbrk/base: New file.
23249         * lib/unigbrk.in.h: New file.
23250
23251         New module 'unigbrk/uc-gbrk-prop'.
23252         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
23253         * modules/unigbrk/uc-gbrk-prop: New file.
23254         * lib/unigbrk/gbrkprop.h: New file.
23255         * lib/unigbrk/uc-gbrk-prop.c: New file.
23256
23257         New module 'unigbrk/uc-is-grapheme-break'.
23258         * modules/unigbrk/uc-is-grapheme-break: New file.
23259         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
23260         * lib/unigbrk/uc-is-grapheme-break.c: New file.
23261         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
23262         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
23263         * tests/unigbrk/GraphemeBreakTest.txt: New file.
23264
23265         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
23266
23267 2010-12-27  Bruno Haible  <bruno@clisp.org>
23268
23269         linkat test: Avoid failure on Solaris 11 2010-11.
23270         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
23271
23272 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
23273
23274         utimens: work around glibc rounding bug on more platforms
23275         * lib/utimens.c (fdutimens): Work around rounding bug even if
23276         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
23277         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
23278
23279 2010-12-27  Bruno Haible  <bruno@clisp.org>
23280
23281         select tests: Improve comments.
23282         * tests/test-select.c (do_select): Add comments.
23283
23284 2010-12-27  Bruno Haible  <bruno@clisp.org>
23285
23286         select tests: Safer way of handling timeout.
23287         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
23288         at every invocation.
23289
23290 2010-12-27  Bruno Haible  <bruno@clisp.org>
23291
23292         select tests: Use 'bool' where appropriate.
23293         * tests/test-select.c (connect_to_socket): Change argument type to
23294         'bool'.
23295
23296 2010-12-27  Bruno Haible  <bruno@clisp.org>
23297
23298         select tests: Use existing modules.
23299         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
23300         (configure.ac): Don't test for unistd.h.
23301         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
23302         declared in <unistd.h>.
23303
23304 2010-12-27  Bruno Haible  <bruno@clisp.org>
23305
23306         mbrtowc: Work around a Solaris 7 bug.
23307         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
23308         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
23309         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
23310         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
23311         MBRTOWC_NULL_ARG1_BUG.
23312         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
23313         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
23314         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
23315         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
23316
23317 2010-12-27  Jim Meyering  <meyering@redhat.com>
23318
23319         read-file.c: tweak syntax
23320         * lib/read-file.c (fread_file): Remove space after "*" in function
23321         definitions.
23322
23323 2010-12-27  Bruno Haible  <bruno@clisp.org>
23324
23325         times test: Avoid gcc warnings on OSF/1.
23326         * tests/test-times.c (main): Cast printf arguments from clock_t to
23327         'long int'.
23328
23329 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
23330
23331         utimens: work around glibc rounding bug on older Linux kernels
23332         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
23333         on Linux with a glibc whose utimes might not work, then work
23334         around a longstanding glibc bug involving rounding rather than
23335         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
23336         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
23337
23338 2010-12-26  Bruno Haible  <bruno@clisp.org>
23339
23340         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
23341         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
23342         _GL_CXXALIAS_SYS.
23343         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23344
23345 2010-12-26  Bruno Haible  <bruno@clisp.org>
23346
23347         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
23348         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
23349         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
23350         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
23351         looking for the declaration.
23352         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
23353         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
23354         problem.
23355         * doc/posix-functions/inet_pton.texi: Likewise.
23356
23357 2010-12-26  Bruno Haible  <bruno@clisp.org>
23358
23359         arpa_inet: Use the common idioms with C++ support.
23360         * lib/arpa_inet.in.h: Include c++defs.h.
23361         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
23362         support.
23363         * modules/arpa_inet (Depends-on): Add c++defs.
23364         (Makefile.am): Substitute the contents of c++defs.h.
23365         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
23366         * modules/arpa_inet-c++-tests: New file.
23367         * tests/test-arpa_inet-c++.cc: New file.
23368
23369 2010-12-25  Bruno Haible  <bruno@clisp.org>
23370
23371         Fix more C++ link errors on Solaris 8.
23372         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
23373         $(LIB_EACCESS).
23374         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
23375         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
23376         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
23377         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
23378         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
23379
23380 2010-12-25  Bruno Haible  <bruno@clisp.org>
23381
23382         printf-posix: Fix link error when a non-GCC compiler is used.
23383         * lib/stdio.in.h (printf): When not using GCC, override printf
23384         correctly.
23385         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23386
23387 2010-12-25  Bruno Haible  <bruno@clisp.org>
23388
23389         strerror_r-posix: Update doc.
23390         * doc/posix-functions/strerror_r.texi: Update doc about the return
23391         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
23392
23393 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
23394
23395         utimens: simplify the logic of the previous change
23396         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
23397         This should not affect whether the test succeeds or fails.
23398
23399         utimens: configure better on hosts with NFS clock skew
23400         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
23401         uses the clock of the local host.  It might use the clock of the
23402         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
23403         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
23404
23405 2010-12-25  Bruno Haible  <bruno@clisp.org>
23406
23407         ptsname test: Avoid failure on Solaris.
23408         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
23409         open a pseudo-terminal; don't use BSD-style ptys.
23410         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
23411
23412 2010-12-25  Bruno Haible  <bruno@clisp.org>
23413
23414         ptsname: Avoid ERANGE failure on some systems.
23415         * lib/ptsname.c (buffer): Increase size.
23416
23417 2010-12-25  Bruno Haible  <bruno@clisp.org>
23418
23419         rename, renameat: Avoid test failures at NFS mounted locations.
23420         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
23421         so that subsequent mkdir calls succeed.
23422
23423 2010-12-25  Bruno Haible  <bruno@clisp.org>
23424
23425         iswblank: Fix C++ link error on Solaris 8.
23426         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
23427         _GL_FUNCDECL_SYS.
23428
23429 2010-12-25  Bruno Haible  <bruno@clisp.org>
23430
23431         unistd: Fix C++ link error on Solaris 8.
23432         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
23433
23434 2010-12-25  Bruno Haible  <bruno@clisp.org>
23435
23436         readlink doc: Mention an old glibc bug.
23437         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
23438
23439 2010-12-25  Bruno Haible  <bruno@clisp.org>
23440
23441         fcntl-h: Fix for use of C++ on glibc systems.
23442         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
23443         also on glibc systems in C++ mode.
23444         Reported by Gary V. Vaughan <gary@gnu.org>.
23445
23446 2010-12-25  Bruno Haible  <bruno@clisp.org>
23447
23448         roundl-ieee: Make it work on OSF/1 5.1 with cc.
23449         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
23450
23451 2010-12-25  Bruno Haible  <bruno@clisp.org>
23452
23453         truncl-ieee: Make it work on OSF/1 5.1 with cc.
23454         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
23455         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
23456         test whether truncl works according to ISO C 99 with IEC 60559.
23457         * m4/truncl-ieee.m4: New file.
23458         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
23459         m4/signbit.m4.
23460         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
23461
23462 2010-12-25  Bruno Haible  <bruno@clisp.org>
23463
23464         ceill-ieee: Make it work on OSF/1 5.1 with cc.
23465         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
23466         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
23467         test whether ceill works according to ISO C 99 with IEC 60559.
23468         * m4/ceill-ieee.m4: New file.
23469         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
23470         m4/signbit.m4.
23471         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
23472
23473 2010-12-25  Bruno Haible  <bruno@clisp.org>
23474
23475         Ensure all prerequisites of <wchar.h> are included.
23476         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
23477         before <wchar.h>.
23478         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
23479         gl_MBRLEN_NUL_RETVAL): Likewise.
23480         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
23481         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
23482         AC_FUNC_MBRTOWC): Likewise.
23483         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23484         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
23485         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23486         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
23487         Likewise.
23488         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23489         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
23490         (gl_WCHAR_H): Improve comments.
23491         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
23492
23493 2010-12-25  Bruno Haible  <bruno@clisp.org>
23494
23495         strtok_r: Fix C syntax error in autoconf macro.
23496         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
23497         characters in test program.
23498
23499 2010-12-24  Bruno Haible  <bruno@clisp.org>
23500
23501         ceil, trunc, round: Fix gcc warnings.
23502         * lib/ceil.c (MIN): Undefine before redefining.
23503         * lib/trunc.c (MIN): Likewise.
23504         * lib/round.c (MIN): Likewise.
23505         Include <math.h> first.
23506
23507 2010-12-24  Bruno Haible  <bruno@clisp.org>
23508
23509         select tests: Avoid failures on OSF/1 5.1.
23510         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
23511         failure of closing the last socket; it may fail with ECONNRESET.
23512
23513 2010-12-24  Eric Blake  <eblake@redhat.com>
23514
23515         stdint: avoid HP-UX 10.20 preprocessor bug
23516         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
23517         than #if.
23518         * tests/test-floor2.c (main): Likewise.
23519         Reported by Peter O'Gorman.
23520
23521         pipe: make obsoletion transition easier
23522         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
23523         * modules/pipe (Files): Include revived file.
23524         (Include): Drop reference, to mirror getdate's behavior.
23525
23526 2010-12-24  Bruno Haible  <bruno@clisp.org>
23527
23528         sys_socket: Hide mismatch of declarations on NonStop Kernel.
23529         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
23530         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
23531         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23532
23533 2010-12-24  Bruno Haible  <bruno@clisp.org>
23534
23535         gethostname: Ensure declaration on NonStop Kernel.
23536         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
23537         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23538
23539 2010-12-24  Bruno Haible  <bruno@clisp.org>
23540
23541         sys_select: Ensure all necessary types on NonStop Kernel.
23542         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
23543         include <sys/time.h>.
23544         * doc/posix-headers/sys_select.texi: Mention that it's missing on
23545         NonStop Kernel.
23546         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23547
23548 2010-12-24  Bruno Haible  <bruno@clisp.org>
23549
23550         sys_select: Remove unneeded include.
23551         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
23552         have <sys/select.h>.
23553
23554 2010-12-24  Bruno Haible  <bruno@clisp.org>
23555
23556         gethostname: Provide a fallback for HOST_NAME_MAX.
23557         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
23558         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
23559         instead.
23560         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23561
23562 2010-12-24  Bruno Haible  <bruno@clisp.org>
23563
23564         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
23565         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
23566         (SA_RESTART): Likewise.
23567         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23568
23569 2010-12-24  Bruno Haible  <bruno@clisp.org>
23570
23571         signal: Define NSIG.
23572         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
23573         * tests/test-signal.c (nsig): New variable.
23574         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23575
23576 2010-12-24  Bruno Haible  <bruno@clisp.org>
23577
23578         rename, renameat: Avoid test failures on OSF/1 5.1.
23579         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
23580         alternative error codes.
23581         * tests/test-renameat.c (main): Likewise.
23582
23583 2010-12-24  Bruno Haible  <bruno@clisp.org>
23584
23585         *printf: Detect large precisions bug on Solaris 10/SPARC.
23586         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
23587         by Paul Eggert.
23588         * tests/test-snprintf-posix.h (test_function): Add this test code here
23589         too.
23590         * tests/test-sprintf-posix.h (test_function): Likewise.
23591         * tests/test-vasnprintf-posix.c (test_function): Likewise.
23592         * tests/test-vasprintf-posix.c (test_function): Likewise.
23593         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
23594         around by gnulib.
23595         * doc/posix-functions/printf.texi: Likewise.
23596         * doc/posix-functions/snprintf.texi: Likewise.
23597         * doc/posix-functions/sprintf.texi: Likewise.
23598         * doc/posix-functions/vfprintf.texi: Likewise.
23599         * doc/posix-functions/vprintf.texi: Likewise.
23600         * doc/posix-functions/vsnprintf.texi: Likewise.
23601         * doc/posix-functions/vsprintf.texi: Likewise.
23602         * doc/posix-functions/dprintf.texi: Undo last commit.
23603         * doc/posix-functions/vdprintf.texi: Likewise.
23604
23605 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
23606
23607         tests: port test-fdutimensat.c to Solaris 8
23608         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
23609         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
23610         On Solaris 8, it fails with errno == ENOSYS, because there is no
23611         futimens (so it can't use the fd), and there is no lutimens (so it
23612         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
23613
23614         vsnprintf: make more consistent with snprintf; doc fixes
23615
23616         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
23617         the byte count return problem was promoted from the snprintf-posix
23618         to the snprintf module.
23619         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
23620         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
23621         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
23622         * tests/test-snprintf.c (main): Check the byte count returned.
23623         * tests/test-vsnprintf.c (main): Likewise.
23624
23625 2010-12-23  Eric Blake  <eblake@redhat.com>
23626
23627         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
23628         * modules/sigpipe (License): Relax license.
23629
23630 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23631
23632         doc: document Solaris printf bug with large float precisions
23633         * doc/posix-functions/dprintf.texi (dprintf):
23634         * doc/posix-functions/fprintf.texi (fprintf):
23635         * doc/posix-functions/printf.texi (printf):
23636         * doc/posix-functions/snprintf.texi (snprintf):
23637         * doc/posix-functions/sprintf.texi (sprintf):
23638         * doc/posix-functions/vdprintf.texi (vdprintf):
23639         * doc/posix-functions/vfprintf.texi (vfprintf):
23640         * doc/posix-functions/vprintf.texi (vprintf):
23641         * doc/posix-functions/vsnprintf.texi (vsnprintf):
23642         * doc/posix-functions/vsprintf.texi (vsprintf):
23643         Mention that these functions mishandle large floating point
23644         precisions on Solaris 10.  The same bug is also present in Solaris
23645         8, and I assume earlier.  This causes "cd gnulib-tests; make
23646         check" to fail on Solaris 8 (and I assume, later) when building
23647         the latest coreutils, in test-vasprintf-posix's call to
23648         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
23649         the wide flavors (e.g., wprintf) so this patch just updates the
23650         documentation for the narrow ones.
23651
23652         test-posixtm.c: add two tests
23653         * tests/test-posixtm.c: Add two tests, to highlight the
23654         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
23655         around this bug; this is merely to document it.
23656
23657 2010-12-22  Bruno Haible  <bruno@clisp.org>
23658
23659         getlogin_r: Work around portability problem on OSF/1.
23660         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
23661         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
23662         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
23663         test for a truncated result.
23664         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
23665         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
23666         * modules/getlogin_r (Depends-on): Add memchr.
23667         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
23668
23669 2010-12-22  Bruno Haible  <bruno@clisp.org>
23670
23671         ptsname: Avoid test failure on OSF/1 5.1.
23672         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
23673         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
23674         (same_slave): New function.
23675         (main): Use it to compare ptsname's result with the expected file name.
23676
23677 2010-12-22  Bruno Haible  <bruno@clisp.org>
23678
23679         Port extended stdio modules to HP NonStop Kernel.
23680         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
23681         macros.
23682         * lib/fbufmode.c: Update comments.
23683         * lib/fflush.c: Likewise.
23684         * lib/fpurge.c: Likewise.
23685         * lib/freadable.c: Likewise.
23686         * lib/freadahead.c: Likewise.
23687         * lib/freading.c: Likewise.
23688         * lib/freadptr.c: Likewise.
23689         * lib/freadseek.c: Likewise.
23690         * lib/fseeko.c: Likewise.
23691         * lib/fseterr.c: Likewise.
23692         * lib/fwritable.c: Likewise.
23693         * lib/fwriting.c: Likewise.
23694         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23695
23696 2010-12-22  Bruno Haible  <bruno@clisp.org>
23697
23698         ttyname_r: Work around bug on OSF/1 5.1.
23699         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
23700         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
23701         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
23702         present.
23703         * lib/ttyname_r.c (ttyname_r): Update comments.
23704
23705 2010-12-22  Bruno Haible  <bruno@clisp.org>
23706
23707         round: Implement result sign according to IEEE 754.
23708         * lib/round.c (MIN, MINUS_ZERO): New macros.
23709         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
23710         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
23711         * tests/test-round-ieee.c (main): Likewise.
23712         * tests/test-roundl-ieee.c (main): Likewise.
23713
23714         trunc: Implement result sign according to IEEE 754.
23715         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
23716         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
23717         * tests/test-trunc2.c: Include minus-zero.h.
23718         (MINUS_ZERO): New macro.
23719         (trunc_reference): Keep in sync with lib/trunc.c.
23720         * tests/test-truncf2.c: Include minus-zero.h.
23721         (MINUS_ZERO): New macro.
23722         (truncf_reference): Keep in sync with lib/trunc.c.
23723         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
23724         * tests/test-trunc-ieee.c (main): Likewise.
23725         * tests/test-truncl-ieee.c (main): Likewise.
23726
23727         ceil: Implement result sign according to IEEE 754.
23728         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
23729         (FUNC): Return -0.0 for -1 < x < 0.
23730         * tests/test-ceil2.c: Include minus-zero.h.
23731         (MINUS_ZERO): New macro.
23732         (ceil_reference): Keep in sync with lib/ceil.c.
23733         * tests/test-ceilf2.c: Include minus-zero.h.
23734         (MINUS_ZERO): New macro.
23735         (ceilf_reference): Keep in sync with lib/ceil.c.
23736         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
23737         * tests/test-ceil-ieee.c (main): Likewise.
23738         * tests/test-ceill-ieee.c (main): Likewise.
23739
23740         floor: Implement result sign according to IEEE 754.
23741         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
23742         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
23743         * tests/test-floorf2.c (floorf_reference): Likewise.
23744         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
23745         * tests/test-floor-ieee.c (main): Likewise.
23746         * tests/test-floorl-ieee.c (main): Likewise.
23747
23748 2010-12-22  Bruno Haible  <bruno@clisp.org>
23749
23750         getaddrinfo: Update doc.
23751         * doc/posix-functions/gai_strerror.texi: Return type is also different
23752         on AIX and HP-UX.
23753
23754 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23755
23756         getaddrinfo, inet_ntop: Update doc for Solaris.
23757         * doc/posix-functions/gai_strerror.texi: Return type is also an
23758         issue on Solaris 9 and earlier.
23759         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
23760         on Solaris 10 and earlier.
23761
23762 2010-12-21  Bruno Haible  <bruno@clisp.org>
23763
23764         New module 'roundl-ieee'.
23765         * modules/roundl-ieee: New file.
23766         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
23767         test whether roundl works according to ISO C 99 with IEC 60559.
23768         * m4/roundl-ieee.m4: New file.
23769         * modules/roundl-ieee-tests: New file.
23770         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
23771         * tests/test-roundl.c (main): Remove signbit tests.
23772         * modules/roundl-tests (Depends-on): Remove signbit.
23773         * doc/posix-functions/roundl.texi: Mention the new module.
23774
23775 2010-12-21  Bruno Haible  <bruno@clisp.org>
23776
23777         New module 'truncl-ieee'.
23778         * modules/truncl-ieee: New file.
23779         * modules/truncl-ieee-tests: New file.
23780         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
23781         * tests/test-truncl.c (main): Remove signbit tests.
23782         * modules/truncl-tests (Depends-on): Remove signbit.
23783         * doc/posix-functions/truncl.texi: Mention the new module.
23784
23785 2010-12-21  Bruno Haible  <bruno@clisp.org>
23786
23787         New module 'ceill-ieee'.
23788         * modules/ceill-ieee: New file.
23789         * modules/ceill-ieee-tests: New file.
23790         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
23791         * tests/test-ceill.c (main): Remove signbit tests.
23792         * modules/ceill-tests (Depends-on): Remove signbit.
23793         * doc/posix-functions/ceill.texi: Mention the new module.
23794
23795 2010-12-21  Bruno Haible  <bruno@clisp.org>
23796
23797         New module 'floorl-ieee'.
23798         * modules/floorl-ieee: New file.
23799         * modules/floorl-ieee-tests: New file.
23800         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
23801         * tests/test-floorl.c (main): Remove signbit tests.
23802         * modules/floorl-tests (Depends-on): Remove signbit.
23803         * doc/posix-functions/floorl.texi: Mention the new module.
23804
23805 2010-12-21  Bruno Haible  <bruno@clisp.org>
23806
23807         New module 'round-ieee'.
23808         * modules/round-ieee: New file.
23809         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
23810         whether round works according to ISO C 99 with IEC 60559.
23811         * m4/round-ieee.m4: New file.
23812         * modules/round-ieee-tests: New file.
23813         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
23814         * tests/test-round1.c (main): Remove signbit tests.
23815         * modules/round-tests (Depends-on): Remove 'signbit'.
23816         * doc/posix-functions/round.texi: Mention the new module.
23817
23818 2010-12-21  Bruno Haible  <bruno@clisp.org>
23819
23820         New module 'trunc-ieee'.
23821         * modules/trunc-ieee: New file.
23822         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
23823         whether trunc works according to ISO C 99 with IEC 60559.
23824         * m4/trunc-ieee.m4: New file.
23825         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
23826         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
23827         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
23828         * modules/trunc-ieee-tests: New file.
23829         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
23830         * tests/test-trunc1.c (main): Remove signbit tests.
23831         * modules/trunc-tests (Depends-on): Remove 'signbit'.
23832         * doc/posix-functions/trunc.texi: Mention the new module.
23833
23834 2010-12-21  Bruno Haible  <bruno@clisp.org>
23835
23836         New module 'ceil-ieee'.
23837         * modules/ceil-ieee: New file.
23838         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
23839         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
23840         ISO C 99 with IEC 60559.
23841         * m4/ceil-ieee.m4: New file.
23842         * modules/ceil (Files): Add lib/ceil.c.
23843         (Depends-on): Add 'float'.
23844         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23845         * lib/math.in.h (ceil): New declaration.
23846         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
23847         REPLACE_CEIL.
23848         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
23849         * modules/ceil-ieee-tests: New file.
23850         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
23851         * tests/test-math-c++.cc: Check the signature of 'ceil'.
23852         * doc/posix-functions/ceil.texi: Mention the new module.
23853
23854 2010-12-21  Bruno Haible  <bruno@clisp.org>
23855
23856         New module 'floor-ieee'.
23857         * modules/floor-ieee: New file.
23858         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
23859         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
23860         ISO C 99 with IEC 60559.
23861         * m4/floor-ieee.m4: New file.
23862         * modules/floor (Files): Add lib/floor.c.
23863         (Depends-on): Add 'float'.
23864         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23865         * lib/math.in.h (floor): New declaration.
23866         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
23867         REPLACE_FLOOR.
23868         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
23869         * modules/floor-ieee-tests: New file.
23870         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
23871         * tests/test-math-c++.cc: Check the signature of 'floor'.
23872         * doc/posix-functions/floor.texi: Mention the new module.
23873
23874 2010-12-21  Bruno Haible  <bruno@clisp.org>
23875
23876         New module 'roundf-ieee'.
23877         * modules/roundf-ieee: New file.
23878         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
23879         test whether roundf works according to ISO C 99 with IEC 60559.
23880         * m4/roundf-ieee.m4: New file.
23881         * modules/roundf-ieee-tests: New file.
23882         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
23883         * tests/test-roundf1.c (main): Remove signbit tests.
23884         * modules/roundf-tests (Depends-on): Remove 'signbit'.
23885         * doc/posix-functions/roundf.texi: Mention the new module.
23886
23887 2010-12-21  Bruno Haible  <bruno@clisp.org>
23888
23889         New module 'truncf-ieee'.
23890         * modules/truncf-ieee: New file.
23891         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
23892         test whether truncf works according to ISO C 99 with IEC 60559.
23893         * m4/truncf-ieee.m4: New file.
23894         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
23895         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
23896         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
23897         * modules/truncf-ieee-tests: New file.
23898         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
23899         * tests/test-truncf1.c (main): Remove signbit tests.
23900         * modules/truncf-tests (Depends-on): Remove 'signbit'.
23901         * doc/posix-functions/truncf.texi: Mention the new module.
23902
23903 2010-12-21  Bruno Haible  <bruno@clisp.org>
23904
23905         New module 'ceilf-ieee'.
23906         * modules/ceilf-ieee: New file.
23907         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
23908         test whether ceilf works according to ISO C 99 with IEC 60559.
23909         * m4/ceilf-ieee.m4: New file.
23910         * modules/ceilf-ieee-tests: New file.
23911         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
23912         * tests/test-ceilf1.c (main): Remove signbit tests.
23913         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
23914         * doc/posix-functions/ceilf.texi: Mention the new module.
23915
23916 2010-12-21  Bruno Haible  <bruno@clisp.org>
23917
23918         New module 'floorf-ieee'.
23919         * modules/floorf-ieee: New file.
23920         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
23921         test whether floorf works according to ISO C 99 with IEC 60559.
23922         * m4/floorf-ieee.m4: New file.
23923         * modules/floorf-ieee-tests: New file.
23924         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
23925         * tests/test-floorf1.c (main): Remove signbit tests.
23926         * modules/floorf-tests (Depends-on): Remove 'signbit'.
23927         * doc/posix-functions/floorf.texi: Mention the new module.
23928
23929 2010-12-21  Bruno Haible  <bruno@clisp.org>
23930
23931         Support for minus zero in autoconf macros.
23932         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
23933         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
23934         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
23935         * tests/minus-zero.h: Update comments.
23936
23937 2010-12-21  Bruno Haible  <bruno@clisp.org>
23938
23939         Tests for module 'ceil'.
23940         * modules/ceil-tests: New file.
23941         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
23942         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
23943
23944 2010-12-21  Bruno Haible  <bruno@clisp.org>
23945
23946         Tests for module 'floor'.
23947         * modules/floor-tests: New file.
23948         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
23949         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
23950
23951 2010-12-21  Bruno Haible  <bruno@clisp.org>
23952
23953         math: Fix indentation.
23954         * lib/math.in.h (floorf): Fix indentation.
23955
23956 2010-12-21  Bruno Haible  <bruno@clisp.org>
23957
23958         Fix cross-compilation guesses on Solaris.
23959         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
23960         not match "solaris2.10".
23961         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23962         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
23963         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
23964
23965 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
23966
23967         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
23968         This fixes a problem observed with the latest coreutils snapshot
23969         that caused a test to fail on Solaris 8.  src/csplit.c's call
23970         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
23971         earlier, instead of returning the number of bytes that would have
23972         been generated; this causes csplit to incorrectly report memory
23973         exhaustion.
23974         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
23975         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
23976         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
23977         comments to match.
23978         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
23979         Fix typo in matching older versions of Solaris: "solaris2.10"
23980         is matched by the shell pattern "solaris2.[0-9]*".  This matters
23981         only for guessing while cross-compiling.
23982         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
23983
23984 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
23985
23986         ftoastr: fix comment again
23987         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
23988         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
23989         Also, simplify example a bit by using flags = 0.
23990
23991 2010-12-20  Bruno Haible  <bruno@clisp.org>
23992
23993         round*, trunc*: Update documentation regarding glibc.
23994         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
23995         * doc/posix-functions/round.texi: Likewise.
23996         * doc/posix-functions/roundl.texi: Likewise.
23997         * doc/posix-functions/truncf.texi: Likewise.
23998         * doc/posix-functions/trunc.texi: Likewise.
23999         * doc/posix-functions/truncl.texi: Likewise.
24000
24001 2010-12-20  Bruno Haible  <bruno@clisp.org>
24002
24003         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
24004         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
24005         * doc/posix-functions/round.texi: Likewise.
24006         * doc/posix-functions/roundl.texi: Likewise.
24007
24008 2010-12-20  Bruno Haible  <bruno@clisp.org>
24009
24010         ttyname_r: Add missing declaration on HP-UX 11.
24011         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
24012         HAVE_TTYNAME_R.
24013         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
24014         declared. Set HAVE_TTYNAME_R always.
24015         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24016         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
24017         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
24018         HAVE_TTYNAME_R.
24019         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
24020
24021 2010-12-20  Bruno Haible  <bruno@clisp.org>
24022
24023         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
24024         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
24025         * doc/posix-functions/getlogin_r.texi: Likewise.
24026         * tests/test-getlogin.c: Include <errno.h>.
24027         (main): Avoid test failure on HP-UX 11.11.
24028         * tests/test-getlogin_r.c (main): Likewise.
24029
24030 2010-12-20  Bruno Haible  <bruno@clisp.org>
24031
24032         getlogin_r: Add missing declaration on HP-UX 11.
24033         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
24034         declared also when it exists as a function.
24035         * doc/posix-functions/getlogin_r.texi: Document this workaround.
24036
24037 2010-12-20  Bruno Haible  <bruno@clisp.org>
24038
24039         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
24040         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
24041         through wcrtomb.
24042
24043 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
24044
24045         ftoastr: fix comment
24046         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
24047         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
24048
24049 2010-12-19  Bruno Haible  <bruno@clisp.org>
24050
24051         isnan: Ensure it is a macro.
24052         * lib/math.in.h (isnan): Define as a macro if not already a macro.
24053         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
24054         Solaris.
24055
24056 2010-12-19  Bruno Haible  <bruno@clisp.org>
24057
24058         ldexpl test: Fix link error on OSF/1 5.1.
24059         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
24060
24061 2010-12-19  Bruno Haible  <bruno@clisp.org>
24062
24063         wctype: Make it work in C++ mode on OSF/1 5.1.
24064         * lib/wctype.in.h (iswblank): Declare but not define here.
24065         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
24066         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
24067         * modules/wctype (Files): Add lib/iswblank.c.
24068
24069 2010-12-19  Bruno Haible  <bruno@clisp.org>
24070
24071         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
24072         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
24073         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
24074
24075 2010-12-19  Bruno Haible  <bruno@clisp.org>
24076
24077         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
24078         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
24079         _POSIX_PII_SOCKET.
24080         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
24081         * doc/posix-functions/recvfrom.texi: Likewise.
24082         * doc/posix-functions/send.texi: Likewise.
24083         * doc/posix-functions/sendto.texi: Likewise.
24084
24085 2010-12-19  Bruno Haible  <bruno@clisp.org>
24086
24087         tcgetsid: Add missing declaration on OSF/1 5.1.
24088         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
24089         HAVE_TCGETSID.
24090         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
24091         Don't set HAVE_TCGETSID.
24092         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
24093         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
24094         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
24095         HAVE_TCGETSID.
24096         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
24097
24098 2010-12-19  Bruno Haible  <bruno@clisp.org>
24099
24100         stdio: Fix problem with popen() declaration on OSF/1 5.1.
24101         * lib/stdio.in.h: During the include_next statement, let recursive
24102         includes of this file include only the system header file.
24103
24104 2010-12-19  Bruno Haible  <bruno@clisp.org>
24105
24106         iconv_open: Fix regression from 2010-12-04.
24107         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
24108         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
24109
24110 2010-12-19  Bruno Haible  <bruno@clisp.org>
24111
24112         stdbool test: Avoid a gcc warning.
24113         * tests/test-stdbool.c (main): Fail if e1 is false.
24114         Reported by Jim Meyering.
24115
24116 2010-12-19  Jim Meyering  <meyering@redhat.com>
24117
24118         setenv: restore to working order
24119         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
24120         mistakenly removed.
24121         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
24122         HAVE_SETENV.
24123         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
24124         HAVE_SETENV.
24125
24126 2010-12-19  Bruno Haible  <bruno@clisp.org>
24127
24128         Document some different function declarations on OSF/1 5.1.
24129         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
24130         * doc/posix-functions/inet_ntop.texi: Likewise.
24131         * doc/posix-functions/gethostname.texi: Likewise.
24132         * lib/unistd.in.h (gethostname): Update comment.
24133
24134 2010-12-19  Bruno Haible  <bruno@clisp.org>
24135
24136         doc: Mention vasprintf-posix module.
24137         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
24138         the 'vasprintf-posix' module.
24139         * doc/glibc-functions/vasprintf.texi: Likewise.
24140
24141 2010-12-19  Bruno Haible  <bruno@clisp.org>
24142
24143         unsetenv: Add missing declaration on OSF/1 5.1.
24144         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
24145         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
24146         Don't set HAVE_UNSETENV. In the test program, set _BSD.
24147         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
24148         not HAVE_UNSETENV.
24149         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
24150         HAVE_UNSETENV.
24151         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
24152
24153 2010-12-19  Bruno Haible  <bruno@clisp.org>
24154
24155         setenv: Add missing declaration on OSF/1 5.1.
24156         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
24157         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
24158         declared. Don't set HAVE_SETENV.
24159         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
24160         not HAVE_SETENV.
24161         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
24162         HAVE_SETENV.
24163         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
24164
24165 2010-12-19  Bruno Haible  <bruno@clisp.org>
24166
24167         nl_langinfo tests: Avoid gcc warning.
24168         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
24169
24170 2010-12-19  Bruno Haible  <bruno@clisp.org>
24171
24172         mknod: Avoid error in C++ mode on OSF/1 with GCC.
24173         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
24174         _GL_CXXALIAS_SYS.
24175
24176 2010-12-19  Bruno Haible  <bruno@clisp.org>
24177
24178         stdbool: Relax test.
24179         * tests/test-stdbool.c (e): Don't require that casts from a variable's
24180         address to 'bool' work in static initializer, for compilers other than
24181         GCC.
24182
24183 2010-12-19  Bruno Haible  <bruno@clisp.org>
24184
24185         ftello: Add missing declaration on OSF/1 5.1.
24186         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
24187         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
24188         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
24189         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
24190         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
24191
24192 2010-12-19  Bruno Haible  <bruno@clisp.org>
24193
24194         fseeko: Add missing declaration on OSF/1 5.1.
24195         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
24196         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
24197         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
24198         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
24199         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
24200
24201 2010-12-19  Bruno Haible  <bruno@clisp.org>
24202
24203         fchdir: Add missing declaration on OSF/1 5.1.
24204         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
24205         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
24206         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
24207         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
24208         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
24209
24210 2010-12-19  Bruno Haible  <bruno@clisp.org>
24211
24212         relocatable-prog-wrapper: Separate from relocatable-prog.
24213         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
24214         uninstall-relocwrapper rule here.
24215         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
24216         Reported by Ian Beckwith <ianb@erislabs.net>.
24217
24218 2010-12-19  Bruno Haible  <bruno@clisp.org>
24219
24220         unistr/u8-mbsnlen: Add missing dependency.
24221         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
24222         Reported by Ian Beckwith <ianb@erislabs.net>.
24223
24224 2010-12-19  Bruno Haible  <bruno@clisp.org>
24225
24226         iconv: Make it possible again to use this module without 'iconv-h'.
24227         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
24228         if it is not defined.
24229         Reported by Ian Beckwith <ianb@erislabs.net>.
24230
24231 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
24232
24233         acl: port to Solaris 8 when copying from tmpfs to ufs
24234         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
24235         error number.  Problem observed on Solaris 8 with latest
24236         coreutils, with "mv A B", where A is on a tmpfs file system and B
24237         is on a ufs file system.  This caused coreutils' mv/part-symlink
24238         test to fail.
24239
24240         tests: set fail=0 at start
24241         * tests/init.sh (setup_): Move fail=0 initialization here ...
24242         (mktempd_): ... from here, so that tests can rely on fail being
24243         set to 0 initially.  This fixes a problem in coreutils; see:
24244         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
24245
24246 2010-12-18  Bruno Haible  <bruno@clisp.org>
24247
24248         memmem-simple: Stylistic changes.
24249         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
24250         Fix preprocessor directive indentation.
24251
24252 2010-12-15  Pádraig Brady <P@draigBrady.com>
24253
24254         memmem, memmem-simple: reorganize and expand empty needle check
24255         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
24256         functional checks to memmem-simple so that one has a fully functional
24257         memmem by using just this module.
24258         Restrict the performance only check to the memmem module.
24259         Also expand the empty needle check to ensure the correct
24260         pointer is returned, not just a non NULL pointer.
24261         * doc/glibc-functions/memmem.texi: Rearrange the portability
24262         documentation to correlate with the rearranged checks.
24263         Clarify exactly how the memmem and memmem-simple modules
24264         relate to each other.
24265
24266 2010-12-15  Pádraig Brady <P@draigBrady.com>
24267             Bruno Haible  <bruno@clisp.org>
24268
24269         Improve cross-compilation guesses for uClibc.
24270         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
24271         that uClibc does not have the glibc bug.
24272         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
24273         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
24274
24275 2010-12-14  Eric Blake  <eblake@redhat.com>
24276
24277         configmake: provide fallbacks for oldest supported autotools
24278         * m4/configmake.m4: New file.
24279         * modules/configmake (Files): Ship it.
24280         (configure.ac): Use it to guarantee fallbacks.
24281
24282 2010-12-13  Pádraig Brady <P@draigBrady.com>
24283
24284         read-file: Improve handling of large files
24285         * lib/read-file.c (fread_file): Minimize realloc()s
24286         for regular files, and better manage sizes around SIZE_MAX.
24287
24288 2010-12-13  Eric Blake  <eblake@redhat.com>
24289
24290         cloexec, fcntl: relax license
24291         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
24292         consent from all contributors.
24293         * modules/fcntl (License): Likewise.
24294
24295 2010-12-10  Bruno Haible  <bruno@clisp.org>
24296
24297         Tests for module 'pipe-posix'.
24298         * modules/pipe-posix-tests: New file.
24299         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
24300
24301 2010-12-10  Bruno Haible  <bruno@clisp.org>
24302
24303         pipe-posix: Make it work in C++ mode.
24304         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
24305         (pipe): Use common idiom, not a macro definition.
24306         * lib/pipe.c: New file.
24307         * m4/pipe.m4: New file.
24308         * modules/pipe-posix (Description): Enhance.
24309         (Files): Add lib/pipe.c, m4/pipe.m4.
24310         (configure.ac): Invoke gl_FUNC_PIPE.
24311         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
24312         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
24313         * tests/test-unistd-c++.cc: Check the signature of pipe.
24314
24315 2010-12-10  Bruno Haible  <bruno@clisp.org>
24316
24317         Rename module 'pipe' to 'spawn-pipe'.
24318         * modules/spawn-pipe: New file, renamed from modules/pipe.
24319         (Files, configure.ac, Makefile.am): Update.
24320         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
24321         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
24322         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
24323         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
24324         "spawn-pipe.h" instead of "pipe.h".
24325         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
24326         to gl_SPAWN_PIPE.
24327         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
24328         (Files, Makefile.am): Update.
24329         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
24330         Update.
24331         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
24332         Include "spawn-pipe.h" instead of "pipe.h".
24333         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
24334         * lib/javacomp.c: Likewise.
24335         * lib/javaversion.c: Likewise.
24336         * lib/pipe-filter-gi.c: Likewise.
24337         * lib/pipe-filter-ii.c: Likewise.
24338         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
24339         * modules/javacomp (Depends-on): Likewise.
24340         * modules/javaversion (Depends-on): Likewise.
24341         * modules/pipe-filter-gi (Depends-on): Likewise.
24342         * modules/pipe-filter-ii (Depends-on): Likewise.
24343         * MODULES.html.sh (Executing programs): Update.
24344         * NEWS: Mention the change.
24345
24346 2010-12-10  Eric Blake  <eblake@redhat.com>
24347
24348         pipe-posix: new module
24349         * modules/pipe-posix: New file.
24350         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
24351         (gl_UNISTD_H): Check for declaration.
24352         * modules/unistd (Makefile.am): Substitute it.
24353         * lib/unistd.in.h (pipe): Provide it for mingw.
24354         * doc/posix-functions/pipe.texi (pipe): Update documentation.
24355         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
24356
24357 2010-12-07  Bruno Haible  <bruno@clisp.org>
24358
24359         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
24360         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
24361         u8_strcmp_gnu.
24362         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
24363
24364 2010-12-06  Bruno Haible  <bruno@clisp.org>
24365
24366         Update internal documentation.
24367         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
24368
24369 2010-12-04  Bruno Haible  <bruno@clisp.org>
24370
24371         Put more information about failed tests into the test return codes.
24372         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
24373         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
24374         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
24375         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
24376         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
24377         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24378         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24379         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
24380         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
24381         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24382         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
24383         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
24384         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
24385         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24386         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
24387         returns a bit mask.
24388         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
24389         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
24390         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
24391         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
24392         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
24393         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
24394         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
24395         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
24396         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24397         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
24398         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
24399         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
24400         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
24401         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
24402         * m4/link.m4 (gl_FUNC_LINK): Likewise.
24403         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
24404         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
24405         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
24406         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24407         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
24408         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24409         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
24410         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
24411         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
24412         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24413         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
24414         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
24415         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
24416         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
24417         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
24418         gl_PRINTF_PRECISION): Likewise.
24419         * m4/regex.m4 (gl_REGEX): Likewise.
24420         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
24421         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
24422         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
24423         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24424         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24425         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24426         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
24427         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
24428         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
24429         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
24430         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
24431         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
24432         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
24433         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
24434         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
24435         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24436         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
24437         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24438         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
24439         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
24440         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
24441         enumerated value.
24442         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
24443
24444 2010-12-04  Bruno Haible  <bruno@clisp.org>
24445
24446         Update for Solaris 11 2010-11.
24447         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
24448         Express, released in November 2010.
24449
24450 2010-12-04  Bruno Haible  <bruno@clisp.org>
24451
24452         nproc: Relax license.
24453         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
24454         and Paul Eggert.
24455         Requested by Ludovic Courtès <ludo@gnu.org>.
24456
24457 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
24458
24459         utimecmp: fine-grained src to nearby coarse-grained dest
24460
24461         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
24462         and the source is on a file system with higher-resolution time
24463         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
24464         not work, and the time stamps are close together, the algorithm to
24465         determine the exact resolution from the read-back mtime was buggy:
24466         it had a "!=" where it should have had an "==".  This bug has been
24467         in the code ever since it was introduced to gnulib.
24468         Problem reported by Dan Jacobson in
24469         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
24470
24471 2010-11-30  Bruno Haible  <bruno@clisp.org>
24472
24473         strerror_r-posix: Fix autoconf test.
24474         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
24475
24476 2010-11-28  Bruno Haible  <bruno@clisp.org>
24477             Paul Eggert  <eggert@cs.ucla.edu>
24478
24479         Tests for module 'getdomainname'.
24480         * modules/getdomainname-tests: New file.
24481         * tests/test-getdomainname.c: New file, based on
24482         tests/test-gethostname.c.
24483
24484 2010-11-28  Bruno Haible  <bruno@clisp.org>
24485             Paul Eggert  <eggert@cs.ucla.edu>
24486
24487         getdomainname: Use the system function when possible.
24488         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
24489         (getdomainname): Replace if needed. Provide the declaration if it is
24490         missing. Don't use _GL_CXXALIAS_SYS_CAST.
24491         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
24492         (getdomainname): When the system has getdomainname, call the system
24493         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
24494         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
24495         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
24496         found in libnsl. Look for the declaration also in <netdb.h>. Replace
24497         the function if its second argument is of type 'int' or if it is found
24498         in libnsl.
24499         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
24500         <sys/systeminfo.h> and sysinfo().
24501         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
24502         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24503         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
24504         HAVE_GETDOMAINNAME.
24505         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
24506         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
24507         * doc/glibc-functions/getdomainname.texi: Document the problems with
24508         the getdomainname declaration.
24509
24510 2010-11-28  Bruno Haible  <bruno@clisp.org>
24511
24512         sys_socket: Ensure ss_family field on AIX.
24513         * lib/sys_socket.in.h (ss_family): New macro definition.
24514         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
24515         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
24516         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24517         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
24518         * modules/sys_socket (Makefile.am): Substitute
24519         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
24520         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
24521
24522 2010-11-27  Bruno Haible  <bruno@clisp.org>
24523
24524         readline: Improve configure output.
24525         * m4/readline.m4 (gl_FUNC_READLINE): Make the
24526         "checking for readline..." result understandable.
24527
24528 2010-11-27  Bruno Haible  <bruno@clisp.org>
24529
24530         *printf-posix: Detect a bug on Solaris 10/x86.
24531         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
24532         for floating-point output.
24533         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
24534         directive.
24535         * tests/test-snprintf-posix.h (test_function): Likewise.
24536         * tests/test-sprintf-posix.h (test_function): Likewise.
24537         * tests/test-vasprintf-posix.c (test_function): Likewise.
24538         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
24539         * doc/posix-functions/printf.texi: Likewise.
24540         * doc/posix-functions/snprintf.texi: Likewise.
24541         * doc/posix-functions/sprintf.texi: Likewise.
24542         * doc/posix-functions/vfprintf.texi: Likewise.
24543         * doc/posix-functions/vprintf.texi: Likewise.
24544         * doc/posix-functions/vsnprintf.texi: Likewise.
24545         * doc/posix-functions/vsprintf.texi: Likewise.
24546         * doc/glibc-functions/obstack_printf.texi: Likewise.
24547         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
24548
24549 2010-11-27  Bruno Haible  <bruno@clisp.org>
24550
24551         Fix link error when module libunistring-optional is in use.
24552         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
24553         * modules/striconveha-tests (Makefile.am): Likewise.
24554
24555 2010-11-27  Bruno Haible  <bruno@clisp.org>
24556
24557         regex: Mention link dependencies.
24558         * modules/regex (Link): New section.
24559         * modules/rpmatch (Link): Likewise.
24560         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
24561
24562 2010-11-27  Bruno Haible  <bruno@clisp.org>
24563
24564         ftoastr: Fix compilation error on Solaris.
24565         * lib/ftoastr.c: Include <config.h>.
24566
24567 2010-11-27  Bruno Haible  <bruno@clisp.org>
24568
24569         getloadavg: Update documentation.
24570         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
24571
24572 2010-11-27  Bruno Haible  <bruno@clisp.org>
24573
24574         sys_socket: Fix test whether the functions are declared.
24575         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
24576         not <sys/select.h>.
24577
24578 2010-11-27  Bruno Haible  <bruno@clisp.org>
24579
24580         getpass: Make sure to get system declaration on some platforms.
24581         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
24582         gl_USE_SYSTEM_EXTENSIONS.
24583         * modules/getpass (Depends-on): Add extensions.
24584
24585 2010-11-26  Bruno Haible  <bruno@clisp.org>
24586
24587         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
24588         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
24589         'iconv' module is present.
24590         (ICONV_CONST): New macro.
24591         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
24592         ICONV_CONST.
24593         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
24594         set ICONV_CONST.
24595         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
24596         here.
24597         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
24598         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
24599         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
24600         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
24601         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
24602         present.
24603
24604 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
24605
24606         ftoastr: comment fix
24607         * lib/ftoastr.c: "little" -> "little or no" in comment
24608
24609 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
24610
24611         stdint: port to GCC 4.3 + OSX + Octave
24612         On this platform, stdint.h is buggy and defines int64_t to long
24613         long int.  The replacement defined it to long int, causing
24614         problems with C++ style name mangling.  Instead, trust the system
24615         definition if INT64_MAX is defined, and likewise for the unsigned
24616         variant.   Problem reported by Jarno Rajahalme in
24617         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
24618         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
24619         and don't mess with int64_t and INT64_MAX in this case.
24620         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
24621
24622 2010-11-24  Bruno Haible  <bruno@clisp.org>
24623
24624         doc: Corrections regarding MacOS X 10.4 and 10.5.
24625         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
24626         MacOS X.
24627         Reported by Simon Josefsson.
24628
24629 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
24630
24631         Uninstall ".bin" files installed by relocwrapper.
24632         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
24633         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
24634         unless it is already there.
24635
24636 2010-11-21  Bruno Haible  <bruno@clisp.org>
24637
24638         Update for NetBSD 5.0.
24639         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24640         NetBSD; the test fails on NetBSD 5.0.
24641         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24642         about NetBSD.
24643
24644 2010-11-21  Bruno Haible  <bruno@clisp.org>
24645
24646         Update for HP-UX 11.23 and HP-UX 11.31.
24647         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
24648         HP-UX.
24649
24650 2010-11-21  Bruno Haible  <bruno@clisp.org>
24651
24652         Update for MacOS X 10.5.
24653         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24654         MacOS X; the test fails on MacOS X 10.5.8.
24655         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24656         about MacOS X.
24657
24658 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
24659
24660         bootstrap: add bootstrap_sync option.
24661         See discussion at
24662         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
24663         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
24664         * build-aux/bootstrap: Accept --bootstrap-sync to update
24665         bootstrap if it is not identical to the local gnulib's
24666         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
24667         enable this by default.  Accept --no-bootstrap-sync to disable
24668         it.
24669
24670 2010-11-20  Bruno Haible  <bruno@clisp.org>
24671
24672         Ensure that <features.h> is included before __GLIBC__ is tested.
24673         * lib/printf-parse.h: Include <features.h>.
24674         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
24675         Reported by Mike Frysinger <vapier@gentoo.org>.
24676
24677         Ensure that <features.h> is included before __GLIBC__ is tested.
24678         * lib/wchar.in.h: Include <features.h>.
24679         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
24680         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
24681         Reported by Mike Frysinger <vapier@gentoo.org>.
24682
24683         Ensure that <features.h> is included before __GLIBC__ is tested.
24684         * lib/arpa_inet.in.h: Include <features.h>.
24685         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
24686         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
24687         Reported by Mike Frysinger <vapier@gentoo.org>.
24688
24689         Ensure that <features.h> is included before __GLIBC__ is tested.
24690         * build-aux/link-warning.h: Include <features.h>.
24691         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
24692         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
24693         Reported by Mike Frysinger <vapier@gentoo.org>.
24694
24695         Ensure that <features.h> is included before __GLIBC__ is tested.
24696         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
24697         Reported by Mike Frysinger <vapier@gentoo.org>.
24698
24699 2010-11-20  Bruno Haible  <bruno@clisp.org>
24700
24701         memmem: Fix autoconf test.
24702         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
24703
24704 2010-11-20  Bruno Haible  <bruno@clisp.org>
24705
24706         Port to uClibc.
24707         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
24708         * lib/fcntl.in.h: Likewise.
24709         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
24710         * lib/mbrtowc.c (mbrtowc): Likewise.
24711         * lib/relocatable.c (find_shared_library_fullname): Likewise.
24712         * lib/strerror_r.c: Likewise.
24713         * lib/unistr/u8-strnlen.c: Likewise.
24714         * lib/vasnprintf.c (decimal_point_char): Likewise.
24715         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24716         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24717         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
24718         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
24719         * tests/test-sigaction.c (handler, main): Likewise.
24720         * lib/freading.h: Treat uClibc like a non-glibc platform.
24721         * lib/freading.c: Likewise.
24722         * lib/gettext.h: Likewise.
24723         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
24724         Likewise.
24725         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
24726         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
24727         * lib/propername.c (proper_name_utf8): Likewise.
24728         * lib/spawn.in.h: Likewise.
24729         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
24730         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
24731         mem_cd_iconveh_internal): Likewise.
24732         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
24733         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
24734         strstr, strcasestr): Likewise.
24735         * lib/unicodeio.c (unicode_to_mb): Likewise.
24736         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
24737         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
24738         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
24739         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
24740         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
24741         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
24742         * lib/unistr/u8-stpncpy.c: Likewise.
24743         * lib/vasnprintf.c (VASNPRINTF): Likewise.
24744         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
24745         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24746         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24747         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
24748         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
24749         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
24750         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
24751         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
24752         Likewise.
24753         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
24754         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
24755         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
24756         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24757         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
24758         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24759         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24760         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
24761         * tests/test-getopt.h (OPTIND_MIN): Likewise.
24762         * tests/test-striconveha.c (main): Likewise.
24763         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24764         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
24765         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
24766         * doc/posix-functions/getline.texi: Likewise.
24767         Reported by Mike Frysinger <vapier@gentoo.org>.
24768
24769 2010-11-20  Bruno Haible  <bruno@clisp.org>
24770
24771         nproc: Fix condition.
24772         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
24773         HAVE_PTHREAD_AFFINITY_NP.
24774
24775 2010-11-20  Bruno Haible  <bruno@clisp.org>
24776
24777         Fix a comment.
24778         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
24779
24780 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
24781
24782         ftoastr: don't assume snprintf
24783         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
24784         Implement a subset of snprintf here, by using sprintf safely.
24785         * modules/ftoastr (Depends-on): Remove snprintf.
24786
24787 2010-11-19  Jim Meyering  <meyering@redhat.com>
24788
24789         test-rename.h: fix compilation failure
24790         * tests/test-rename.h (test_rename): Add omitted "}".
24791
24792 2010-11-17  Jim Meyering  <meyering@redhat.com>
24793
24794         maint.mk: add a URL discussing the no-@acronym policy
24795         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
24796
24797 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
24798
24799         ftoastr: depend on snprintf, improve comments
24800         * lib/ftoastr.c: Also mention Loitsch's draft.
24801         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
24802         needed in the current implementation, but it might simplify
24803         speeding up the code later.
24804         * modules/ftoastr: Depend on snprintf; this improves portability.
24805         Suggested by Bruno Haible in the same email.
24806
24807         ftoastr: port to hosts lacking strtof and strtold
24808         Problem reported by Bruno Haible in
24809         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
24810         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
24811         environment and strtold (and presumably strtof) are not available.
24812         * modules/ftoastr (Files): Add m4/c-strtod.m4.
24813         (configure.ac): Require gl_C99_STRTOLD.
24814
24815 2010-11-18  Bruno Haible  <bruno@clisp.org>
24816
24817         c-strtold: Avoid link error on AIX 7.
24818         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
24819         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
24820         (gl_C_STRTOLD): Test whether strtold_l exists.
24821         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24822
24823 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
24824
24825         intprops: new macro INT_BITS_STRLEN_BOUND
24826         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
24827         ftoastr.h.  This exposes an internal of intprops.h that was formerly
24828         not exposed.  Also, it uses a slightly tighter bound than before;
24829         though this makes no practical difference, we might as well be as
24830         tight as we easily can.
24831
24832         ftoastr: new module, for lossless conversion of floats to short strings
24833         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
24834         * modules/ftoastr: New files.
24835
24836 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
24837
24838         bootstrap: port to Solaris sed
24839         * build-aux/bootstrap (get_version): Port to Solaris sed.
24840         See Ralf Wildenhues's note in
24841         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
24842
24843 2010-11-14  Jim Meyering  <meyering@redhat.com>
24844
24845         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
24846         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
24847         and move definition closer to sole use.
24848
24849 2010-11-13  Jim Meyering  <meyering@redhat.com>
24850
24851         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
24852         Now we require at least autoconf-2.59, which means the work-around
24853         is no longer needed.
24854         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
24855         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
24856         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
24857         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
24858         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
24859
24860 2010-11-13  Bruno Haible  <bruno@clisp.org>
24861
24862         rename, renameat: Avoid test failures at NFS mounted locations.
24863         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
24864         functions.
24865         (test_rename): Use assert_nonexistent.
24866         * tests/test-rename.c: Include <dirent.h>.
24867         * tests/test-renameat.c: Likewise.
24868         Reported by Gary V. Vaughan <gary@gnu.org>.
24869
24870         rename, renameat: Document Linux bug with NFS
24871         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
24872         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
24873         * doc/posix-functions/renameat.texi: Likewise.
24874         Suggested by Eric Blake.
24875
24876 2010-11-13  Bruno Haible  <bruno@clisp.org>
24877
24878         rename test: Add comments.
24879         * tests/test-rename.h (test_rename): Add structure and comments.
24880
24881 2010-11-13  Eric Blake  <eblake@redhat.com>
24882
24883         maintainer-makefile: cover a few more files
24884         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
24885         scripts generated within C files, for libvirt.
24886
24887 2010-11-13  Bruno Haible  <bruno@clisp.org>
24888
24889         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
24890         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
24891         character, return the number of bytes that belong together, not always
24892         1.
24893         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
24894         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
24895         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
24896         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
24897         number of bytes of an invalid character.
24898         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
24899         (main): Invoke it.
24900         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
24901         results.
24902         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
24903         malformed byte sequences.
24904         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
24905         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
24906         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
24907         Reported by Ben Pfaff and Paolo Bonzini.
24908
24909 2010-11-13  Bruno Haible  <bruno@clisp.org>
24910
24911         openat: Work around glibc bug with fchownat() and empty file names.
24912         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
24913         (gl_FUNC_FCHOWNAT): Invoke it.
24914         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
24915         * doc/posix-functions/fchownat.texi: Document the glibc bug.
24916         Reported by Gary V. Vaughan <gary@gnu.org>.
24917
24918 2010-11-13  Bruno Haible  <bruno@clisp.org>
24919
24920         openat: Ensure autoconf macro ordering.
24921         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
24922         gl_USE_SYSTEM_EXTENSIONS.
24923         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
24924
24925 2010-11-13  Bruno Haible  <bruno@clisp.org>
24926
24927         Update comments.
24928         * lib/unistr/u8-check.c: Update file name in comments.
24929         * lib/unistr/u8-mblen.c: Likewise.
24930         * lib/unistr/u8-prev.c: Likewise.
24931         * lib/unistr/u8-strmblen.c: Likewise.
24932         * lib/unistr/u8-strmbtouc.c: Likewise.
24933
24934 2010-11-13  Jim Meyering  <meyering@redhat.com>
24935
24936         tests: avoid test failure on Solaris 10 due to lack of PATH export
24937         * tests/test-update-copyright.sh: Don't forget to export PATH.
24938
24939         init.sh: ensure that IFS is defined, just in case...
24940         * tests/init.sh (setup_): Ensure that IFS is defined,
24941         so that saving and restoring it works as expected.  This
24942         appears to be useful at least for an old version of dash
24943         from a long time ago (RH 6).  See here for details:
24944         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
24945
24946         maint.mk: tighten "test a == b" check
24947         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
24948         test to files that contain something like #!/bin/sh.
24949         Without this, coreutils would get two false positives in
24950         the comments of C source files.
24951
24952 2010-11-12  Eric Blake  <eblake@redhat.com>
24953
24954         bootstrap: fix typo in previous attempt
24955         * build-aux/bootstrap (buildreq): Correct the grouping.
24956         Reported by Paul Eggert.
24957
24958         maintainer-makefile: prohibit test x == x
24959         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
24960         Based on a report by Matthias Bolte.
24961
24962         bootstrap: allow FreeBSD gzip
24963         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
24964         which has no '.' and goes to stderr.
24965         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
24966         Reported by Matthias Bolte.
24967
24968         maintainer-makefile: check for i18n setup
24969         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
24970         will likely work.
24971
24972 2010-11-12  Bruno Haible  <bruno@clisp.org>
24973
24974         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
24975         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
24976         * lib/nanosleep.c (nanosleep): Likewise.
24977
24978 2010-11-11  Bruno Haible  <bruno@clisp.org>
24979
24980         fcntl-h: Fix for use of C++ on glibc systems.
24981         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
24982         also on glibc systems in C++ mode.
24983         Reported by Gary V. Vaughan <gary@gnu.org>.
24984
24985 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24986
24987         mknod: avoid false failure with dash
24988         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
24989
24990 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
24991
24992         unlink: Fix "is it should" typo in diagnostic.
24993         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
24994         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
24995
24996 2010-11-11  Bruno Haible  <bruno@clisp.org>
24997
24998         Tests for module 'strerror_r-posix'.
24999         * modules/strerror_r-posix-tests: New file.
25000         * tests/test-strerror_r.c: New file.
25001         * tests/test-string-c++.cc: Check the signature of strerror_r.
25002
25003         New module 'strerror_r-posix'.
25004         * lib/string.in.h (strerror_r): New declaration.
25005         * lib/strerror_r.c: New file.
25006         * m4/strerror_r.m4: New file.
25007         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
25008         of strerror_r.
25009         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
25010         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
25011         * modules/strerror_r-posix: New file.
25012         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
25013         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
25014         * doc/posix-functions/strerror_r.texi: Mention the new module and the
25015         portability problems.
25016
25017 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
25018
25019         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
25020         line is also considered for output. Quoted function name in shell
25021         command, so temporary files for functions like MyClass::operator()
25022         are removed correctly without errors.
25023
25024 2010-11-09  Bruno Haible  <bruno@clisp.org>
25025
25026         * doc/posix-functions/strerror.texi: List more failing platforms.
25027
25028         * doc/posix-functions/strerror.texi: Add a comment.
25029
25030 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
25031
25032         fdopendir: fix bug on MacOS X when low on file descriptors
25033
25034         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
25035         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
25036         All callers changed.
25037         (fdopendir): Invoke save_cwd at the top level, not after using
25038         multiple dup() calls to use up file descriptors.  Then retry
25039         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
25040         less than the maximum number of open file descriptors, because
25041         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
25042         on Mac OS X 10.6.4 for tar 1.24
25043         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
25044         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
25045         and for tar 1.25
25046         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
25047
25048 2010-11-07  Bruno Haible  <bruno@clisp.org>
25049
25050         vasnprintf: Support I flag on glibc systems.
25051         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
25052         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
25053         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
25054         snprintf function.
25055         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
25056         glibc systems.
25057         * tests/test-vasnprintf-posix3.c: New file.
25058         * modules/vasnprintf-posix-tests (Files): Add it.
25059         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
25060
25061 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
25062
25063         [html] Fix copy/paste bug: Use unique name for compiler warnings.
25064         * MODULES.html.sh: For compiler warnings, use name
25065         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
25066
25067 2010-11-05  Eric Blake  <eblake@redhat.com>
25068
25069         ceil, floor: avoid spurious failure with icc
25070         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
25071         [denormals-as-zero] when optimizing without -mieee-fp option.
25072         * tests/test-floorf2.c (floorf_reference): Likewise.
25073         * tests/test-ceilf1.c (dummy): New function.
25074         (main): Use it to outsmart icc's optimization.
25075         * tests/test-floorf1.c (dummy, main): Likewise.
25076
25077         tests: require working signbit
25078         * modules/ceilf-tests (Depends-on): Add signbit.
25079         * modules/ceill-tests (Depends-on): Likewise.
25080         * modules/floorf-tests (Depends-on): Likewise.
25081         * modules/floorl-tests (Depends-on): Likewise.
25082         * modules/round-tests (Depends-on): Likewise.
25083         * modules/roundf-tests (Depends-on): Likewise.
25084         * modules/roundl-tests (Depends-on): Likewise.
25085         * modules/trunc-tests (Depends-on): Likewise.
25086         * modules/truncf-tests (Depends-on): Likewise.
25087         * modules/truncl-tests (Depends-on): Likewise.
25088
25089         strtod: work around icc bug
25090         * lib/strtod.c (minus_zero): Define to working value.
25091         (strtod): Use it to avoid icc bug.
25092
25093         copysign: enhance tests
25094         * modules/copysign-tests (Files): Add minus-zero.h.
25095         * tests/test-copysign.c (main): Also test zeros.
25096
25097 2010-11-04  Eric Blake  <eblake@redhat.com>
25098
25099         ceil, floor, round, trunc: enhance tests of -0
25100         * tests/test-ceilf1.c (main): Ensure correct sign of result.
25101         * tests/test-ceill.c (main): Likewise.
25102         * tests/test-floorf1.c (main): Likewise.
25103         * tests/test-floorl.c (main): Likewise.
25104         * tests/test-round1.c (main): Likewise.
25105         * tests/test-roundf1.c (main): Likewise.
25106         * tests/test-roundl.c (main): Likewise.
25107         * tests/test-trunc1.c (main): Likewise.
25108         * tests/test-truncf1.c (main): Likewise.
25109         * tests/test-truncl.c (main): Likewise.
25110
25111 2010-11-04  Eric Blake  <eblake@redhat.com>
25112
25113         frexp, tests: work around ICC bug with -zero
25114         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
25115         works with more compilers.
25116         * tests/minus-zero.h: New file.
25117         * modules/ceilf-tests (Files): Include it.
25118         * modules/ceill-tests (Files): Likewise.
25119         * modules/floorf-tests (Files): Likewise.
25120         * modules/floorl-tests (Files): Likewise.
25121         * modules/frexp-nolibm-tests (Files): Likewise.
25122         * modules/frexp-tests (Files): Likewise.
25123         * modules/frexpl-nolibm-tests (Files): Likewise.
25124         * modules/frexpl-tests (Files): Likewise.
25125         * modules/isnan-tests (Files): Likewise.
25126         * modules/isnand-nolibm-tests (Files): Likewise.
25127         * modules/isnand-tests (Files): Likewise.
25128         * modules/isnanf-nolibm-tests (Files): Likewise.
25129         * modules/isnanf-tests (Files): Likewise.
25130         * modules/isnanl-nolibm-tests (Files): Likewise.
25131         * modules/isnanl-tests (Files): Likewise.
25132         * modules/round-tests (Files): Likewise.
25133         * modules/roundf-tests (Files): Likewise.
25134         * modules/roundl-tests (Files): Likewise.
25135         * modules/ldexpl-tests (Files): Likewise.
25136         * modules/signbit-tests (Files): Likewise.
25137         * modules/snprintf-posix-tests (Files): Likewise.
25138         * modules/sprintf-posix-tests (Files): Likewise.
25139         * modules/strtod-tests (Files): Likewise.
25140         * modules/trunc-tests (Files): Likewise.
25141         * modules/truncf-tests (Files): Likewise.
25142         * modules/truncl-tests (Files): Likewise.
25143         * modules/vsnprintf-posix-tests (Files): Likewise.
25144         * modules/vsprintf-posix-tests (Files): Likewise.
25145         * modules/vasnprintf-posix-tests (Files): Likewise.
25146         * modules/vasprintf-posix-tests (Files): Likewise.
25147         * tests/test-ceilf1.c (main): Use it.
25148         * tests/test-ceill.c (main): Likewise.
25149         * tests/test-floorf1.c (main): Likewise.
25150         * tests/test-floorl.c (main): Likewise.
25151         * tests/test-frexp.c (main): Likewise.
25152         * tests/test-frexpl.c (main): Likewise.
25153         * tests/test-isnan.c (main): Likewise.
25154         * tests/test-isnand.h (main): Likewise.
25155         * tests/test-isnanf.h (main): Likewise.
25156         * tests/test-isnanl.h (main): Likewise.
25157         * tests/test-ldexpl.c (main): Likewise.
25158         * tests/test-round.c (main): Likewise.
25159         * tests/test-roundf.c (main): Likewise.
25160         * tests/test-roundl.c (main): Likewise.
25161         * tests/test-signbit.c (test_signbitf, test_signbitd)
25162         (test_signbitl): Likewise.
25163         * tests/test-snprintf-posix.h (test_function): Likewise.
25164         * tests/test-sprintf-posix.h (test_function): Likewise.
25165         * tests/test-strtod.c (main): Likewise.
25166         * tests/test-trunc1.c (main): Likewise.
25167         * tests/test-truncf1.c (main): Likewise.
25168         * tests/test-truncl.c (main): Likewise.
25169
25170         isnanl: work around icc bug
25171         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
25172
25173 2010-11-03  Eric Blake  <eblake@redhat.com>
25174
25175         tests: fix compiler warnings
25176         * tests/test-getopt.h (test_getopt): Fix condition.
25177         * tests/test-getopt_long.h (test_getopt_long): Likewise.
25178         * tests/test-pipe2.c (main): Likewise.
25179         * tests/test-quotearg-simple.c (main): Avoid icc warning.
25180
25181         utimens: fix broken m4 test
25182         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
25183
25184 2010-10-28  Bruno Haible  <bruno@clisp.org>
25185
25186         posix_spawn*, getdtablesize: Relax license.
25187         * modules/posix_spawn (License): Change to LGPLv2+.
25188         * modules/posix_spawnp (License): Likewise.
25189         * modules/posix_spawn-internal (License): Likewise.
25190         * modules/posix_spawnattr_init (License): Likewise.
25191         * modules/posix_spawnattr_getflags (License): Likewise.
25192         * modules/posix_spawnattr_setflags (License): Likewise.
25193         * modules/posix_spawnattr_getpgroup (License): Likewise.
25194         * modules/posix_spawnattr_setpgroup (License): Likewise.
25195         * modules/posix_spawnattr_getschedparam (License): Likewise.
25196         * modules/posix_spawnattr_setschedparam (License): Likewise.
25197         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
25198         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
25199         * modules/posix_spawnattr_getsigdefault (License): Likewise.
25200         * modules/posix_spawnattr_setsigdefault (License): Likewise.
25201         * modules/posix_spawnattr_getsigmask (License): Likewise.
25202         * modules/posix_spawnattr_setsigmask (License): Likewise.
25203         * modules/posix_spawnattr_destroy (License): Likewise.
25204         * modules/posix_spawn_file_actions_init (License): Likewise.
25205         * modules/posix_spawn_file_actions_addclose (License): Likewise.
25206         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
25207         * modules/posix_spawn_file_actions_addopen (License): Likewise.
25208         * modules/posix_spawn_file_actions_destroy (License): Likewise.
25209         * modules/getdtablesize (License): Likewise.
25210         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
25211
25212 2010-10-26  Bruno Haible  <bruno@clisp.org>
25213
25214         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
25215         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
25216         Cygwin and mingw.
25217         Suggested by Eric Blake.
25218
25219 2010-10-26  Bruno Haible  <bruno@clisp.org>
25220
25221         stdio: Work around compilation error due to renameat() on Solaris 10.
25222         * lib/stdio.in.h: Include <unistd.h> on Solaris.
25223         * lib/renameat.c: Don't include <unistd.h> here.
25224         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
25225         Reported by Paul Eggert and Eric Blake.
25226
25227 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
25228
25229         renameat: port to Solaris 10, which declares renameat in unistd.h
25230
25231         * lib/renameat.c: Include unistd.h before stdio.h, because
25232         Solaris 10 declares renameat in unistd.h.  Problem encountered
25233         when building GNU tar 1.24 on Solaris 10.
25234
25235 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25236
25237         fdopendir: fix C89 compilation
25238         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
25239         compilers.
25240
25241 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
25242
25243         inttostr: simplify by removing unnecessary redundancy
25244         * lib/anytostr.c: Don't include verify.h.
25245         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
25246         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
25247         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
25248         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
25249         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
25250         Likewise.
25251         * modules/inttostr (Depends-on): Remove 'verify'.
25252
25253 2010-10-23  Bruno Haible  <bruno@clisp.org>
25254
25255         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
25256         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
25257         Reported by Eric Blake.
25258
25259 2010-10-23  Bruno Haible  <bruno@clisp.org>
25260
25261         Tests: Fix LOCALE_JA on MirBSD 10.
25262         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
25263         to an UTF-8 locale.
25264         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
25265         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25266         Reported by Eric Blake.
25267
25268 2010-10-21  Bruno Haible  <bruno@clisp.org>
25269
25270         nl_langinfo test: Avoid test failure on NetBSD 5.
25271         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
25272         Reported by Eric Blake.
25273
25274 2010-10-21  Eric Blake  <eblake@redhat.com>
25275
25276         c-stack: work around libsigsegv 2.8 bug
25277         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
25278         overflow on at least PowerPC64.
25279
25280 2010-10-17  Bruno Haible  <bruno@clisp.org>
25281
25282         userspec: Drop redundant file.
25283         * modules/userspec (Files): Remove lib/inttostr.h.
25284
25285 2010-10-17  Bruno Haible  <bruno@clisp.org>
25286
25287         nl_langinfo tests: Silence some warnings.
25288         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
25289         Reported by Jim Meyering.
25290
25291 2010-10-17  Bruno Haible  <bruno@clisp.org>
25292
25293         Make use of GCC's attribute __alloc_size__.
25294         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
25295         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
25296         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
25297         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
25298         __alloc_size__.
25299         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
25300         Suggested by Jim Meyering.
25301
25302 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
25303
25304         bootstrap: anchor .gitignore entries.
25305         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
25306         with...
25307         (insert_vc_ignore): ... this new function, which prepends `/' to
25308         all .gitignore entries before passing them to
25309         insert_sorted_if_absent.
25310
25311 2010-10-16  Bruno Haible  <bruno@clisp.org>
25312
25313         nextafter: Fix configure check.
25314         * modules/nextafter (configure.ac): Correct expected prototype.
25315
25316 2010-10-16  Bruno Haible  <bruno@clisp.org>
25317
25318         termios: Update documentation.
25319         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
25320
25321 2010-10-16  Bruno Haible  <bruno@clisp.org>
25322
25323         tests: Make them compile with TinyCC.
25324         * tests/test-strstr.c (main): Remove parentheses around array
25325         initializer.
25326
25327 2010-10-15  Eric Blake  <eblake@redhat.com>
25328
25329         ignore-value: make header idempotent
25330         * lib/ignore-value.h: Add double-inclusion guards.
25331         Reported by Stefan Berger.
25332
25333 2010-10-15  Jim Meyering  <meyering@redhat.com>
25334
25335         GNUmakefile: handle "stable" target, not "major"
25336         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
25337         lists in maint.mk and announce-gen.  Without this, "make stable"
25338         would fail to ensure that $(VERSION) is up to date.
25339
25340 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
25341
25342         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
25343         & co.
25344
25345 2010-10-14  Bruno Haible  <bruno@clisp.org>
25346
25347         vasnprintf: Don't set errno to 0.
25348         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
25349         block that sets it to 0.
25350         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
25351
25352 2010-10-14  Bruno Haible  <bruno@clisp.org>
25353
25354         socketlib: Fix.
25355         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
25356         gl_PREREQ_SYS_H_WINSOCK2.
25357         Reported by Ian Beckwith <ianb@erislabs.net>.
25358
25359 2010-10-13  Jim Meyering  <meyering@redhat.com>
25360
25361         test-select-stdin.c: avoid warn_unused_result warnings
25362         * tests/test-select-stdin.c: Include "macros.h".
25363         ASSERT that read and fflush succeed.
25364
25365 2010-10-13  Jim Meyering  <meyering@redhat.com>
25366
25367         git-version-gen: do require git-VC'd files in cwd
25368         * build-aux/git-version-gen: Reject a git version string
25369         if there are no commits associated with the current directory.
25370         This avoids an unlikely false-positive (unrelated dir whose parent
25371         repository also contains a tag matching v*), as pointed out
25372         by Giuseppe Scrivano in
25373         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
25374
25375 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
25376
25377         argv-iter: omit nonconforming declaration
25378         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
25379         enum arg_iter_err declaration, which doesn't conform to C99.
25380         Solaris 10 cc warns about this.
25381
25382 2010-10-13  Eric Blake  <eblake@redhat.com>
25383
25384         termios: fix compilation on mingw
25385         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
25386         (gl_TERMIOS_H): Adjust it on mingw.
25387         * modules/termios (Makefile.am): Substitute new key.
25388         * lib/termios.in.h (includes): Make include_next conditional.
25389         * doc/posix-headers/termios.texi (termios.h): Update
25390         documentation.
25391         Reported by Daniel P. Berrange.
25392
25393 2010-10-13  Jim Meyering  <meyering@redhat.com>
25394
25395         git-version-gen: don't require that .git/ be in the current dir
25396         * build-aux/git-version-gen: Adjust this script so that it works
25397         when run from any working directory beneath the top-level .git/-
25398         containing directory.  Inspired by a patch from Giuseppe Scrivano,
25399         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
25400
25401         test-select: avoid warn_unused_result warnings
25402         * tests/test-select.c: Include "macros.h".
25403         ASSERT that each call to read, write, and pipe succeeds.
25404         While not technically required, also check each "close".
25405         * modules/select-tests (Files): Add tests/macros.h.
25406
25407         test-symlinkat: remove declaration of unused local
25408         * tests/test-symlinkat.c (main): Remove unused local, "buf".
25409
25410         test-inttostr: avoid shadowing warnings
25411         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
25412         and use malloc rather than the stack for the same reason as
25413         mentioned in the comment justifying the other allocation.
25414
25415 2010-10-11  Bruno Haible  <bruno@clisp.org>
25416
25417         stdlib: Allow multiple gnulib generated replacements to coexist.
25418         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
25419         Reported by Sam Steingold <sds@gnu.org>.
25420
25421 2010-10-11  Jim Meyering  <meyering@redhat.com>
25422
25423         fix a documentation typo
25424         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
25425
25426 2010-10-11  Eric Blake  <eblake@redhat.com>
25427
25428         futimens: work around Solaris 11 bug
25429         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
25430         * tests/test-futimens.h (test_futimens): Enhance, rather than
25431         weaken test.
25432         * doc/posix-functions/futimens.texi (futimens): Document the bug.
25433
25434 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
25435
25436         Indentation.
25437         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
25438         higher-level operators more to the left.
25439
25440 2010-10-11  Jim Meyering  <meyering@redhat.com>
25441
25442         test-futimens: avoid unwarranted test failure on Solaris 5.11
25443         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
25444         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
25445         because it tries to dereference the NULL name argument.
25446
25447 2010-10-11  Bruno Haible  <bruno@clisp.org>
25448
25449         Indentation.
25450         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
25451         indentation.
25452
25453 2010-10-11  Jim Meyering  <meyering@redhat.com>
25454
25455         spawn.in.h: make indentation consistent with parentheses
25456         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
25457         Make indentation consistent with parentheses.
25458
25459 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
25460
25461         Fix mismatched parens in previous commit
25462         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
25463         parens.
25464
25465 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
25466
25467         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
25468
25469         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
25470         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
25471         * lib/malloca.c: Include "verify.h".
25472         (verify1): Remove, replacing with a verify call.
25473         * lib/relocwrapper.c (verify1): Likewise.
25474         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
25475         Likewise.
25476         * modules/malloca (Depends-on): Add 'verify'.
25477         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
25478         * modules/vasnprintf (Depends-on): Add 'verify'.
25479         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
25480         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
25481         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
25482         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
25483         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
25484         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
25485         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
25486
25487         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
25488
25489         Formerly the style was sometimes 2*X - 1, because the C standard
25490         was wrongly thought to disallow ?: in integral constant expressions.
25491         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
25492         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
25493         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
25494         * lib/stdint.in.h (_verify_intmax_size): Likewise.
25495         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
25496         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
25497         verify that time_t cannot be floating.
25498
25499 2010-10-08  Eric Blake  <eblake@redhat.com>
25500
25501         time: enforce recent POSIX ruling that time_t is integral
25502         * lib/time.in.h (__time_t_must_be_integral): Detect any
25503         problematic systems, allowing the rest of gnulib to assume POSIX.
25504
25505 2010-10-08  Jim Meyering  <meyering@redhat.com>
25506
25507         fdopendir: fix a bug on systems lacking openat and /proc support
25508         OpenBSD 4.7 is one such system.  The most noticeable effect was
25509         failure of any application making nontrivial use of fts: rm, du,
25510         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
25511           ./rm: traversal failed: `a': Bad file descriptor
25512         Debugging that, you see that even though FD 6 was closed just
25513         prior to the opendir call in fd_clone_opendir, its resulting
25514         dir->dd_fd was 8, rather than the expected value of 6:
25515
25516         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
25517         93                close (fd);
25518         (gdb) n
25519         94                dir = fd_clone_opendir (dupfd);
25520         (gdb) n
25521         95                saved_errno = errno;
25522         (gdb) p dir->dd_fd
25523         $11 = 8
25524
25525         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
25526         The problem is that on OpenBSD, fd_clone_opendir has to resort
25527         to using the old-style save/restore CWD mechanism, due to its
25528         lack of openat/proc support, and *that* would steal the FD (6)
25529         that opendir was supposed to use.
25530
25531         The fix is to squirrel away the desired FD so that save_cwd uses a
25532         different one, and then free the dest FD right before calling opendir.
25533         That guarantees opendir will use the required file descriptor.
25534
25535         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
25536
25537 2010-10-08  Bruno Haible  <bruno@clisp.org>
25538
25539         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
25540         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
25541
25542 2010-10-08  Bruno Haible  <bruno@clisp.org>
25543
25544         nanosleep: Make replacement POSIX compliant.
25545         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
25546         is out of range.
25547         Reported by Jim Meyering.
25548
25549 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
25550
25551         bootstrap: add hook for altering gnulib.mk, for Bison
25552         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
25553         the Bison bootstrapping process can rewrite file names and variables
25554         in this file before later parts of 'bootstrap' use the file.
25555         Bison wants to include lib/gnulib.mk from the top-level makefile,
25556         so it needs the file names in this file to be relative to the top
25557         level, not relative to lib; plus it needs variable names to be
25558         rewritten.
25559         (slurp): Use the new function.
25560
25561         bootstrap: reformat for readability
25562         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
25563
25564 2010-10-08  Eric Blake  <eblake@redhat.com>
25565
25566         docs: update cygwin progress
25567         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
25568         1.7.7.
25569         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
25570         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
25571         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
25572         * doc/posix-functions/carg.texi (carg): Likewise.
25573         * doc/posix-functions/cargf.texi (cargf): Likewise.
25574         * doc/posix-functions/casin.texi (casin): Likewise.
25575         * doc/posix-functions/casinf.texi (casinf): Likewise.
25576         * doc/posix-functions/casinh.texi (casinh): Likewise.
25577         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
25578         * doc/posix-functions/catan.texi (catan): Likewise.
25579         * doc/posix-functions/catanf.texi (catanf): Likewise.
25580         * doc/posix-functions/catanh.texi (catanh): Likewise.
25581         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
25582         * doc/posix-functions/ccos.texi (ccos): Likewise.
25583         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
25584         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
25585         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
25586         * doc/posix-functions/cexp.texi (cexp): Likewise.
25587         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
25588         * doc/posix-functions/cimag.texi (cimag): Likewise.
25589         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
25590         * doc/posix-functions/clog.texi (clog): Likewise.
25591         * doc/posix-functions/clogf.texi (clogf): Likewise.
25592         * doc/posix-functions/conj.texi (conj): Likewise.
25593         * doc/posix-functions/conjf.texi (conjf): Likewise.
25594         * doc/posix-functions/cpow.texi (cpow): Likewise.
25595         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
25596         * doc/posix-functions/cproj.texi (cproj): Likewise.
25597         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
25598         * doc/posix-functions/creal.texi (creal): Likewise.
25599         * doc/posix-functions/crealf.texi (crealf): Likewise.
25600         * doc/posix-functions/csin.texi (csin): Likewise.
25601         * doc/posix-functions/csinf.texi (csinf): Likewise.
25602         * doc/posix-functions/csinh.texi (csinh): Likewise.
25603         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
25604         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
25605         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
25606         * doc/posix-functions/ctan.texi (ctan): Likewise.
25607         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
25608         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
25609         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
25610         * doc/posix-headers/complex.texi (complex.h): Likewise.
25611
25612 2010-10-07  Jim Meyering  <meyering@redhat.com>
25613
25614         parse-datetime: avoid compilation failure on OpenBSD 4.7
25615         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
25616         This works around a compilation failure on OpenBSD 4.7:
25617         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
25618
25619 2010-10-07  Eric Blake  <eblake@redhat.com>
25620
25621         docs: update cygwin progress
25622         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
25623         1.7.6.
25624         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
25625         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
25626         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
25627         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
25628         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
25629         Likewise.
25630         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
25631         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
25632         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
25633         Likewise.
25634         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
25635         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
25636         Likewise.
25637         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
25638         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
25639         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
25640         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
25641         Likewise.
25642         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
25643         Likewise.
25644         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
25645
25646         docs: update parse-datetime history
25647         * doc/parse-datetime.texi (Authors of parse_datetime): Better
25648         documentation of this function's history and alternatives.
25649
25650         cygwin: use more robust version check
25651         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
25652         exclude an eventual cygwin 1.9.1.
25653         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25654         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25655         (gl_FUNC_STRCASESTR): Likewise.
25656         Reported by Bruno Haible.
25657
25658 2010-10-06  Bruno Haible  <bruno@clisp.org>
25659
25660         string, sys_select: Avoid #including large headers unless necessary.
25661         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
25662         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
25663         OSF/1, BeOS, Haiku.
25664         Reported by Jim Meyering.
25665
25666 2010-10-05  Eric Blake  <eblake@redhat.com>
25667
25668         memmem, strstr, strcasestr: fix bug with long periodic needle
25669         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
25670         periodic needle having false positive.
25671         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
25672         and cygwin 1.7.7.
25673         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
25674         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25675         (gl_FUNC_STRCASESTR): Likewise.
25676         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25677         * tests/test-memmem.c (main): Expose the bug.
25678         * tests/test-strcasestr.c (main): Likewise.
25679         * tests/test-strstr.c (main): Likewise.
25680         * tests/test-c-strcasestr.c (main): Likewise.
25681         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
25682         * doc/posix-functions/strstr.texi (strstr): Likewise.
25683         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25684         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
25685
25686 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25687
25688         parse-datetime: do some more renaming
25689         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
25690         parse_datetime, not get_date.  Mention the renaming.
25691         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
25692         in comments.
25693         * m4/bison.m4: Likewise.
25694
25695 2010-10-05  Eric Blake  <eblake@redhat.com>
25696
25697         parse-datetime: better name than get_date
25698         * NEWS: Reword the deprecation notice.
25699         * modules/get_date: Rename to modules/parse-datetime.
25700         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
25701         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
25702         * lib/get_date.y: Rename to lib/parse-datetime.y.
25703         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
25704         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
25705         * doc/getdate.texi: Provide fallback wrapper.
25706         * lib/getdate.h: Move guts, and wrap...
25707         * lib/parse-datetime.h: ...new file.
25708         * lib/parse-datetime.y (get_date): Rename...
25709         (parse_datetime): ...to this.
25710         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
25711         (gl_PARSE_DATETIME): ...to this.
25712         * doc/posix-functions/getdate.texi (get_date): Provide fallback
25713         documentation.
25714         * modules/getdate (Files): Provide fallback docs and header.
25715         (Notice, Depends-on): Update references.
25716         * tests/test-parse-datetime.c: Likewise.
25717         * DEPENDENCIES: Likewise.
25718         * MODULES.html.sh (Date and time <time.h>): Likewise.
25719         * doc/parse-datetime.texi (Date input formats)
25720         (Authors of parse_datetime): Likewise.
25721         * modules/parse-datetime (Files, configure.ac, Makefile.am)
25722         (Include): Likewise.
25723         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
25724         * gnulib-tool: Likewise.
25725         * m4/bison.m4 (gl_BISON): Likewise.
25726         Suggested by Bruno Haible.
25727
25728 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25729
25730         more ports to Solaris tr, which needs [] around ranges
25731         * gnulib-tool: Solaris tr needs [] around ranges.
25732         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25733         * tests/test-pipe-filter-gi1.c (main): Likewise.
25734         * tests/test-pipe-filter-ii1.c (main): Likewise.
25735
25736 2010-10-05  Eric Blake  <eblake@redhat.com>
25737
25738         bootstrap: fix Solaris regression
25739         * build-aux/bootstrap (check_versions): Solaris tr still needs []
25740         around ranges.
25741         Reported by Pádraig Brady.
25742
25743         bootstrap: work with pkg-config
25744         * build-aux/bootstrap (check_versions): Also transliterate - in
25745         prerequisite name.
25746         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
25747         prerequisites that were already found, to avoid confusion.
25748         Reported by Justin Clift.
25749
25750         faccessat: remove unused wrappers
25751         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
25752         presence of these wrappers dragged in -lgen on Solaris.
25753         Reported by Clemens Brogi; fix suggested by Paul Eggert.
25754
25755 2010-10-05  Jim Meyering  <meyering@redhat.com>
25756
25757         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
25758         * Makefile (sc_pragma_columns): New syntax-check rule.
25759
25760 2010-10-04  Bruno Haible  <bruno@clisp.org>
25761
25762         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
25763         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
25764         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
25765         Reported by Bruce Korb and Eric Blake.
25766
25767 2010-10-04  Bruno Haible  <bruno@clisp.org>
25768
25769         threadlib: Make option --with-libpth-prefix work.
25770         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
25771         use $LIBPTH, not just -lpth.
25772
25773 2010-10-04  Bruno Haible  <bruno@clisp.org>
25774
25775         Avoid line length limitation from HP NonStop system header files.
25776         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
25777         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
25778         * lib/ctype.in.h: Likewise.
25779         * lib/dirent.in.h: Likewise.
25780         * lib/errno.in.h: Likewise.
25781         * lib/fcntl.in.h: Likewise.
25782         * lib/float.in.h: Likewise.
25783         * lib/getopt.in.h: Likewise.
25784         * lib/iconv.in.h: Likewise.
25785         * lib/inttypes.in.h: Likewise.
25786         * lib/langinfo.in.h: Likewise.
25787         * lib/locale.in.h: Likewise.
25788         * lib/math.in.h: Likewise.
25789         * lib/netdb.in.h: Likewise.
25790         * lib/netinet_in.in.h: Likewise.
25791         * lib/poll.in.h: Likewise.
25792         * lib/pthread.in.h: Likewise.
25793         * lib/pty.in.h: Likewise.
25794         * lib/sched.in.h: Likewise.
25795         * lib/se-selinux.in.h: Likewise.
25796         * lib/search.in.h: Likewise.
25797         * lib/signal.in.h: Likewise.
25798         * lib/spawn.in.h: Likewise.
25799         * lib/stdarg.in.h: Likewise.
25800         * lib/stddef.in.h: Likewise.
25801         * lib/stdint.in.h: Likewise.
25802         * lib/stdio.in.h: Likewise.
25803         * lib/stdlib.in.h: Likewise.
25804         * lib/string.in.h: Likewise.
25805         * lib/strings.in.h: Likewise.
25806         * lib/sys_file.in.h: Likewise.
25807         * lib/sys_ioctl.in.h: Likewise.
25808         * lib/sys_select.in.h: Likewise.
25809         * lib/sys_socket.in.h: Likewise.
25810         * lib/sys_stat.in.h: Likewise.
25811         * lib/sys_time.in.h: Likewise.
25812         * lib/sys_times.in.h: Likewise.
25813         * lib/sys_utsname.in.h: Likewise.
25814         * lib/sys_wait.in.h: Likewise.
25815         * lib/sysexits.in.h: Likewise.
25816         * lib/termios.in.h: Likewise.
25817         * lib/time.in.h: Likewise.
25818         * lib/unistd.in.h: Likewise.
25819         * lib/wchar.in.h: Likewise.
25820         * lib/wctype.in.h: Likewise.
25821         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
25822         * modules/ctype (Makefile.am): Likewise.
25823         * modules/dirent (Makefile.am): Likewise.
25824         * modules/errno (Makefile.am): Likewise.
25825         * modules/fcntl-h (Makefile.am): Likewise.
25826         * modules/float (Makefile.am): Likewise.
25827         * modules/getopt-posix (Makefile.am): Likewise.
25828         * modules/iconv-h (Makefile.am): Likewise.
25829         * modules/inttypes (Makefile.am): Likewise.
25830         * modules/langinfo (Makefile.am): Likewise.
25831         * modules/locale (Makefile.am): Likewise.
25832         * modules/math (Makefile.am): Likewise.
25833         * modules/netdb (Makefile.am): Likewise.
25834         * modules/netinet_in (Makefile.am): Likewise.
25835         * modules/poll-h (Makefile.am): Likewise.
25836         * modules/pthread (Makefile.am): Likewise.
25837         * modules/pty (Makefile.am): Likewise.
25838         * modules/sched (Makefile.am): Likewise.
25839         * modules/search (Makefile.am): Likewise.
25840         * modules/selinux-h (Makefile.am): Likewise.
25841         * modules/signal (Makefile.am): Likewise.
25842         * modules/spawn (Makefile.am): Likewise.
25843         * modules/stdarg (Makefile.am): Likewise.
25844         * modules/stddef (Makefile.am): Likewise.
25845         * modules/stdint (Makefile.am): Likewise.
25846         * modules/stdio (Makefile.am): Likewise.
25847         * modules/stdlib (Makefile.am): Likewise.
25848         * modules/string (Makefile.am): Likewise.
25849         * modules/strings (Makefile.am): Likewise.
25850         * modules/sys_file (Makefile.am): Likewise.
25851         * modules/sys_ioctl (Makefile.am): Likewise.
25852         * modules/sys_select (Makefile.am): Likewise.
25853         * modules/sys_socket (Makefile.am): Likewise.
25854         * modules/sys_stat (Makefile.am): Likewise.
25855         * modules/sys_time (Makefile.am): Likewise.
25856         * modules/sys_times (Makefile.am): Likewise.
25857         * modules/sys_utsname (Makefile.am): Likewise.
25858         * modules/sys_wait (Makefile.am): Likewise.
25859         * modules/sysexits (Makefile.am): Likewise.
25860         * modules/termios (Makefile.am): Likewise.
25861         * modules/time (Makefile.am): Likewise.
25862         * modules/unistd (Makefile.am): Likewise.
25863         * modules/wchar (Makefile.am): Likewise.
25864         * modules/wctype (Makefile.am): Likewise.
25865
25866 2010-10-04  Bruno Haible  <bruno@clisp.org>
25867
25868         read-file tests: Avoid a test failure on NonStop Kernel.
25869         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
25870         a regular file.
25871         Reported by Joachim Schmitz <schmitz@hp.com>.
25872
25873 2010-10-03  Bruno Haible  <bruno@clisp.org>
25874
25875         gnulib-tool: Fixes for --create-testdir with --libtool.
25876         * gnulib-tool (func_get_automake_snippet): Don't augment
25877         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
25878         an executable.
25879         (func_create_testdir): Handle module 'alloca' like func_import.
25880         Reported by Bruce Korb <bruce.korb@gmail.com>.
25881
25882 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
25883
25884         Avoid some lines longer than 80 characters.
25885         * lib/stdint.in.h: Break long comment lines.
25886         * lib/math.in.h: Likewise.
25887         (_GL_NUM_UINT_WORDS): New macro, for readability.
25888         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
25889         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
25890         * lib/stdlib.in.h: Likewise.
25891         * lib/spawn.in.h: Likewise.
25892         * lib/sys_socket.in.h: Update an URL.
25893         * lib/sys_stat.in.h: Break long line.
25894
25895 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
25896
25897         Improve pmccabe2html.
25898         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
25899         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
25900         when the sources change. Remove the line in the HTML about "Used
25901         ranges" (which implied that there might be other unused ranges),
25902         rename "Resume" to "Summary" (easier to understand for more users).
25903         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
25904         styles, and some unnecessary blank lines.
25905
25906 2010-10-03  Bruno Haible  <bruno@clisp.org>
25907             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
25908
25909         acl: Add support for ACLs on NonStop Kernel.
25910         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
25911         Check whether the function aclsort() exists.
25912         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
25913         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
25914         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25915         (acl_nontrivial [HAVE_ACLSORT]: New function.
25916         (file_has_acl): Implement for NonStop Kernel.
25917         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25918         (qset_acl): Implement for NonStop Kernel.
25919         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
25920         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25921         (main): Implement for NonStop Kernel.
25922         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
25923         Kernel. Handle this flavor.
25924         * tests/test-set-mode-acl.sh: Likewise.
25925         * tests/test-copy-acl.sh: Likewise.
25926         * tests/test-copy-file.sh: Likewise.
25927
25928 2010-10-03  Bruno Haible  <bruno@clisp.org>
25929
25930         Info about ACLs on NonStop Kernel.
25931         * doc/acl-resources.txt: Add info about NonStop Kernel.
25932         References by Joachim Schmitz <schmitz@hp.com>.
25933
25934 2010-10-02  Bruno Haible  <bruno@clisp.org>
25935
25936         Define missing EDQUOT on NonStop Kernel.
25937         * lib/errno.in.h (EDQUOT): Assign a value if missing.
25938         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
25939         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
25940         missing.
25941         * doc/posix-headers/errno.texi: Mention the NSK bug.
25942         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
25943         Reported by Joachim Schmitz <schmitz@hp.com>.
25944
25945 2010-10-02  Bruno Haible  <bruno@clisp.org>
25946
25947         Update doc for POSIX:2008.
25948         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
25949         Update URL of POSIX specification.
25950
25951 2010-10-02  Bruno Haible  <bruno@clisp.org>
25952
25953         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
25954         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
25955         from gnulib, not from Automake.
25956
25957 2010-10-02  Bruno Haible  <bruno@clisp.org>
25958
25959         New module 'system-posix'.
25960         * modules/system-posix: New file.
25961         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
25962         module is present.
25963         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
25964         GNULIB_SYSTEM_POSIX.
25965         * modules/stdlib (Depends-on): Remove sys_wait.
25966         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
25967         * doc/posix-functions/system.texi: Mention the new module.
25968         * doc/posix-headers/stdlib.texi: Likewise.
25969         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
25970         define test_sys_wait_macros to a no-op.
25971         Reported by Sam Steingold <sds@gnu.org>.
25972
25973 2010-09-30  Bruno Haible  <bruno@clisp.org>
25974
25975         More renaming from 'getdate' to 'get_date'.
25976         * doc/get_date.texi: Renamed from doc/getdate.texi.
25977         * modules/get_date (Files): Update.
25978         * MODULES.html.sh (Date and time <time.h>): Update.
25979         * DEPENDENCIES: Update.
25980         * gnulib-tool: Update comment.
25981         * m4/bison.m4 (gl_BISON): Likewise.
25982         * m4/get_date.m4 (gl_GET_DATE): Likewise.
25983
25984 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
25985
25986         bootstrap: support ACLOCAL_FLAGS during aclocal
25987         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
25988         can add additional -I dir for third-party .m4 files.
25989
25990 2010-09-30  Eric Blake  <eblake@redhat.com>
25991
25992         bootstrap: use glibtoolize on MacOS
25993         * build-aux/bootstrap (check_versions): Convert libtool into
25994         libtoolize.
25995         (tool search): Move libtool check earlier, and look for
25996         glibtoolize for MacOS.
25997         (gnulib_tool_options): Auto-add --libtool when appropriate.
25998         Reported by Justin Clift.
25999
26000         poll: fix typo that broke test on MacOS
26001         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
26002         Reported by Justin Clift.
26003
26004         getdate: rename to get_date
26005         Note: getdate.h is not renamed, to minimize client impact.
26006         * modules/getdate: Mark obsolete.  Move old contents...
26007         * modules/get_date: ...to new module name.
26008         * modules/getdate-tests: Move...
26009         * modules/get_date-tests: ...here.
26010         * m4/getdate.m4: Move...
26011         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
26012         * lib/getdate.y: Move...
26013         * lib/get_date.y: ...here.
26014         * tests/test-getdate.c: Move...
26015         * tests/test-get_date.c: ...here.
26016         * doc/posix-functions/getdate.texi (getdate): Update name.
26017         * NEWS: Mention the change.
26018
26019 2010-09-29  Bruno Haible  <bruno@clisp.org>
26020
26021         Separate the module 'waitpid' from the module 'sys_wait'.
26022         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
26023         present.
26024         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
26025         gl_MODULE_INDICATOR_FOR_TESTS.
26026         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
26027         * modules/sys_wait (Depends-on): Remove waitpid.
26028         (Makefile.am): Substitute GNULIB_WAITPID.
26029         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
26030         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
26031         signature only if the 'waitpid' module is present.
26032         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
26033         * NEWS: Mention the change.
26034         * modules/grantpt (Depends-on): Add waitpid.
26035         * modules/wait-process (Depends-on): Likewise.
26036
26037 2010-09-29  Bruno Haible  <bruno@clisp.org>
26038
26039         More tests for module 'sys_wait'.
26040         * modules/sys_wait-c++-tests: New file.
26041         * tests/test-sys_wait-c++.cc: New file.
26042         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
26043         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
26044
26045 2010-09-29  Bruno Haible  <bruno@clisp.org>
26046
26047         New module 'waitpid'.
26048         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
26049         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
26050         Don't include <process.h>.
26051         (waitpid): Declare only, using modern idiom.
26052         * m4/waitpid.m4: New file.
26053         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
26054         * modules/waitpid: New file.
26055         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
26056         (Makefile.am): Update.
26057         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
26058
26059 2010-09-28  Bruno Haible  <bruno@clisp.org>
26060
26061         poll: Assume ANSI C.
26062         * lib/poll.c (poll): Use an ANSI C declaration.
26063
26064 2010-09-28  Bruno Haible  <bruno@clisp.org>
26065
26066         poll-h: Create poll.h on all platforms.
26067         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
26068         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
26069         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
26070         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
26071         (gl_REPLACE_POLL_H): Don't set POLL_H.
26072         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
26073         * modules/poll-h (Depends-on): Add include_next.
26074         (Makefile.am): Create poll.h unconditionally. Substitute also
26075         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
26076
26077 2010-09-28  Bruno Haible  <bruno@clisp.org>
26078
26079         Tests for module 'poll-h'.
26080         * modules/poll-h-c++-tests: New file.
26081         * tests/test-poll-h-c++.cc: New file.
26082
26083         Tests for module 'poll-h'.
26084         * modules/poll-h-tests: New file.
26085         * tests/test-poll-h.c: New file.
26086
26087 2010-09-28  Bruno Haible  <bruno@clisp.org>
26088
26089         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
26090         * modules/poll-h (Depends-on): Add 'extensions'.
26091
26092 2010-09-28  Bruno Haible  <bruno@clisp.org>
26093
26094         New module 'poll-h'.
26095         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
26096         (poll): Use modern idiom.
26097         * modules/poll-h: New file.
26098         * modules/poll (Files): Remove lib/poll.in.h.
26099         (Depends-on): Add poll-h.
26100         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
26101         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
26102         * m4/poll_h.m4: New file.
26103         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
26104         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
26105         and invoke gl_REPLACE_POLL_H.
26106         * lib/poll.c: Use common idiom.
26107         * tests/test-poll.c: Likewise.
26108         * doc/posix-headers/poll.texi: Mention the poll-h module.
26109         Suggested by Eric Blake.
26110
26111 2010-09-26  Bruno Haible  <bruno@clisp.org>
26112
26113         sys_wait: Implement WSTOPSIG.
26114         * lib/sys_wait.in.h (WSTOPSIG): New macro.
26115         Reported by Simon Josefsson.
26116
26117 2010-09-26  Simon Josefsson  <simon@josefsson.org>
26118
26119         stdlib, sys_wait: Avoid compilation error on mingw.
26120         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
26121
26122 2010-09-26  Bruno Haible  <bruno@clisp.org>
26123
26124         stdlib tests: Avoid code duplication.
26125         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
26126         * modules/sys_wait-tests (Files): Likewise.
26127         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
26128         * tests/test-stdlib.c: Include test-sys_wait.h.
26129         (main): Invoke test_sys_wait_macros.
26130         * tests/test-sys_wait.c: Include test-sys_wait.h.
26131         (main): Invoke test_sys_wait_macros.
26132
26133 2010-09-25  Simon Josefsson  <simon@josefsson.org>
26134
26135         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
26136         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
26137         sure Windows sockets are working before calling getaddrinfo.
26138         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
26139         * doc/gnulib.texi (Windows sockets): Fix typo.
26140
26141 2010-09-25  Bruno Haible  <bruno@clisp.org>
26142
26143         Tests for module 'regex-quote'.
26144         * modules/regex-quote-tests: New file.
26145         * tests/test-regex-quote.c: New file.
26146
26147         New module 'regex-quote'.
26148         * lib/regex-quote.h: New file.
26149         * lib/regex-quote.c: New file.
26150         * modules/regex-quote: New file.
26151         Suggested by Reuben Thomas <rrt@sc3d.org>.
26152
26153 2010-09-24  Bruno Haible  <bruno@clisp.org>
26154
26155         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
26156         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
26157
26158 2010-09-23  Bruno Haible  <bruno@clisp.org>
26159
26160         setenv: Relax license.
26161         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
26162         Blake.
26163         Requested by Eric Blake.
26164
26165 2010-09-22  Bruno Haible  <bruno@clisp.org>
26166
26167         termios: Relax license.
26168         * modules/termios (License): Change to LGPLv2+.
26169         Requested by Eric Blake.
26170
26171 2010-09-22  Bruno Haible  <bruno@clisp.org>
26172
26173         threadlib: Allow the package to change the default to 'no'.
26174         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
26175         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
26176         Reported by Paul Eggert.
26177
26178 2010-09-22  Pádraig Brady  <P@draigbrady.com>
26179             Bruno Haible  <bruno@clisp.org>
26180
26181         Fix endless loop in mbmemcasecoll.
26182         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
26183         byte.
26184         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
26185
26186 2010-09-22  Bruno Haible  <bruno@clisp.org>
26187
26188         Tests for module 'memcoll'.
26189         * modules/memcoll-tests: New file.
26190         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
26191
26192         memcoll, xmemcoll: Clarify size vs. length.
26193         * modules/memcoll.c (memcoll0): Clarify specification.
26194         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
26195         passed to collate_error.
26196
26197 2010-09-22  Bruno Haible  <bruno@clisp.org>
26198
26199         Tests for module 'memcasecmp'.
26200         * modules/memcasecmp-tests: New file.
26201         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
26202
26203 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
26204
26205         * lib/pthread.in.h: Add split double-inclusion guard, and include
26206         system <pthread.h> if there is one.  Use @@-style as in other
26207         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
26208         pthread.h doesn't.
26209         (pthread_mutexattr_destroy, pthread_mutexattr_init):
26210         (pthread_mutexattr_settype, pthread_mutex_trylock):
26211         New static inline functions, if there's no system <pthread.h>.
26212         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
26213         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
26214         Approximate with mutexes if the system lacks spinlocks, as in
26215         MacOS.
26216         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
26217         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
26218         @@-style.  Check for spinlocks separately.
26219         (gl_PTHREAD_DEFAULTS): New macro.
26220         * modules/pthread: Redo to use a more typical style for in.h files.
26221
26222 2010-09-21  Eric Blake  <eblake@redhat.com>
26223
26224         net_if: enhance tests
26225         * tests/test-net_if.c (main): Move signature checks earlier.
26226         Print failures to stderr.
26227         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
26228         Document the bug that we do not yet fix.
26229
26230 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
26231
26232         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
26233         about gnulib, not GSS.
26234
26235 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
26236
26237         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
26238         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
26239         for Emacs.
26240         * build-aux/pmccabe2html: Make Makefile.am example code more
26241         cut-and-paste friendly.
26242
26243 2010-09-21  Simon Josefsson  <simon@josefsson.org>
26244
26245         * tests/test-net_if.c: New file.
26246         * modules/net_if-tests: New file.
26247
26248 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
26249
26250         pthread: add pthread_spin_destroy
26251         * lib/pthread.in.h (pthread_spin_destroy): New function.
26252
26253 2010-09-19  Bruno Haible  <bruno@clisp.org>
26254
26255         gnulib-tool: Fix --help output.
26256         * gnulib-tool (func_usage): Fix help message.
26257         Reported by Reuben Thomas <rrt@sc3d.org>.
26258
26259 2010-09-18  Jim Meyering  <meyering@redhat.com>
26260
26261         maint.mk: avoid unexpanded \n in two diagnostics
26262         * top/maint.mk (sc_prohibit_always_true_header_tests):
26263         Don't use a literal \n in a halt=... assignment.  It would not be
26264         expanded, and the two \n bytes would appear in the diagnostic output
26265         rather than the desired newline.  Use halt=$$(printf ... instead.
26266         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
26267
26268 2010-09-18  Bruno Haible  <bruno@clisp.org>
26269
26270         netinet_in: Doc tweak.
26271         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
26272         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26273
26274 2010-09-18  Jim Meyering  <meyering@redhat.com>
26275
26276         init.sh: correct an outdated comment
26277         * tests/init.sh (create_exe_shims_):  s/function/alias/
26278
26279         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
26280         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
26281         a file named "*.exe" is removed between the glob expansion and the
26282         processing of that oddly named file.
26283
26284 2010-09-17  Eric Blake  <eblake@redhat.com>
26285
26286         mirbsd: add some more support
26287         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
26288         in BSD family.
26289         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
26290         devices as OpenBSD.
26291         * m4/host-os.m4 (mirbsd): Add MirBSD.
26292
26293         tests: fix unportable assumption on sys/wait.h
26294         * tests/test-sys_wait.c (main): Relax test.
26295         * tests/test-stdlib.c (main): Likewise.
26296
26297         init.sh: accommodate directory with no .exes
26298         * tests/init.sh: Accomodate directory containing only scripts.
26299
26300         tests: avoid compiler warning
26301         * tests/test-stdlib.c (main): Use the variable.
26302
26303         fdutimens, fdutimensat: update signature, again
26304         * lib/utimens.h (gl_futimens): Delete, and move signature...
26305         (fdutimens): ...here.
26306         (fdutimensat): Rearrange signature.
26307         (lutimensat): Rename variable for clarity.
26308         * lib/fdutimensat.c (fdutimensat): Update signature.
26309         * lib/utimens.c (fdutimens): Likewise.
26310         (gl_futimens): Delete.
26311         (utimens, lutimens): Update callers.
26312         * lib/futimens.c (futimens): Likewise.
26313         * tests/test-fdutimensat.c: Likewise.
26314         * tests/test-utimens.c: Likewise.
26315         * tests/test-futimens.h: Update comment.
26316         * NEWS: Mention this.
26317         Suggested by Paul Eggert.
26318
26319 2010-09-17  Bruno Haible  <bruno@clisp.org>
26320
26321         Take over the maintenance of some older macros from Autoconf.
26322         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
26323         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
26324         GNU Autoconf.
26325         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
26326         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
26327
26328 2010-09-17  Eric Blake  <eblake@redhat.com>
26329
26330         fdutimensat: drop atflag validation
26331         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
26332         with valid fd, to close a race scenario where futimens is
26333         unsupported and FILE was replaced by a symlink.
26334         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
26335         accordingly.
26336         Suggested by Paul Eggert.
26337
26338 2010-09-16  Bruno Haible  <bruno@clisp.org>
26339
26340         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
26341         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
26342
26343 2010-09-16  Bruno Haible  <bruno@clisp.org>
26344
26345         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
26346         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
26347         login_tty exists.
26348         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26349
26350 2010-09-16  Bruno Haible  <bruno@clisp.org>
26351
26352         login_tty: Make the replacement code work on BSD systems.
26353         * lib/login_tty.c: Include <sys/ioctl.h>.
26354         (login_tty): Use ioctl TIOCSCTTY when available.
26355         * modules/login_tty (Depends-on): Add sys_ioctl.
26356         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26357
26358 2010-09-16  Bruno Haible  <bruno@clisp.org>
26359
26360         login_tty: Stricter unit test.
26361         * modules/login_tty-tests (Depends-on): Add tcgetsid.
26362         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
26363         and tcgetsid() after login_tty.
26364         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26365
26366 2010-09-16  Bruno Haible  <bruno@clisp.org>
26367
26368         New module 'tcgetsid'.
26369         * lib/tcgetsid.c: New file.
26370         * m4/tcgetsid.m4: New file.
26371         * modules/tcgetsid: New file.
26372         * modules/termios (Depends-on): Add c++defs, warn-on-use.
26373         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
26374         GNULIB_TCGETSID, HAVE_TCGETSID.
26375         * lib/termios.in.h: Include <sys/types.h>.
26376         (tcgetsid): New declaration.
26377         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
26378         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
26379         * doc/posix-functions/tcgetsid.texi: Mention the new module.
26380         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
26381
26382 2010-09-16  Bruno Haible  <bruno@clisp.org>
26383
26384         Tests for module 'termios'.
26385         * modules/termios-c++-tests: New file.
26386         * modules/termios-tests: New file.
26387         * tests/test-termios-c++.cc: New file.
26388         * tests/test-termios.c: New file.
26389
26390         New module 'termios'.
26391         * modules/termios: New file.
26392         * lib/termios.in.h: New file.
26393         * m4/termios_h.m4: New file.
26394         * doc/posix-headers/termios.texi: Mention the new module.
26395
26396 2010-09-16  Eric Blake  <eblake@redhat.com>
26397
26398         fdutimensat: add an atflag parameter
26399         * lib/fdutimensat.c (fdutimensat): Add new parameter.
26400         * lib/utimens.h (fdutimensat): Update prototype.
26401         * tests/test-fdutimensat.c: Adjust test to match.
26402         * NEWS: Document the change.
26403         Suggested by Paul Eggert.
26404
26405 2010-09-16  Bruno Haible  <bruno@clisp.org>
26406
26407         Fix typos in comments.
26408         * lib/striconveh.h: Fix typo in comment.
26409         * lib/login_tty.c (login_tty): Likewise.
26410
26411 2010-09-15  Bruno Haible  <bruno@clisp.org>
26412
26413         stdlib: clarify MirBSD WEXITSTATUS bug
26414         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
26415         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
26416
26417 2010-09-15  Eric Blake  <eblake@redhat.com>
26418
26419         stdlib: work around MirBSD WEXITSTATUS bug
26420         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
26421         * modules/stdlib (Depends-on): Add sys_wait.
26422         * tests/test-sys_wait.c (main): Enhance test.
26423         * tests/test-stdlib.c (main): Likewise.
26424         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
26425
26426         docs: mention MacOS issue with WEXITSTATUS(constant)
26427         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
26428         issue.
26429         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
26430
26431         strnlen: add tests
26432         * modules/strnlen-tests: New file.
26433         * tests/test-strnlen.c: Likewise.
26434
26435 2010-09-14  Bruno Haible  <bruno@clisp.org>
26436
26437         unistr/base: Avoid link errors when module 'libunistring' is also used.
26438         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
26439         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
26440         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
26441         Declare also when HAVE_LIBUNISTRING is set.
26442         Reported by Pádraig Brady <P@draigbrady.com>.
26443
26444 2010-09-14  Eric Blake  <eblake@redhat.com>
26445
26446         test-rawmemchr: make more robust
26447         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
26448         (Depends-on, configure.ac): Add needed prerequisites to use it.
26449         * modules/memchr-tests (Files, Depends-on, configure.ac):
26450         Likewise, to avoid implicit reliance on memchr module prereqs.
26451         * tests/test-memchr.c (main): Ensure proper masking.
26452         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
26453         reads.
26454
26455         memchr: detect glibc Alpha bug
26456         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
26457         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
26458         Alpha.
26459         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
26460         * tests/test-memchr.c (main): Enhance test.
26461         Reported by Nelson H. F. Beebe.
26462
26463 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26464
26465         fts, getcwd, glob: audit for dirfd returning -1
26466         * lib/fts.c (opendir): Remove #define; no longer used.
26467         (opendirat): New arg PDIR_FD.  All callers changed.
26468         (fts_build, _opendir2): Use new opendirat to avoid the need for
26469         dirfd, or for checking whether dirfd returns a negative value.
26470         Don't use opendir; always use openat followed by fdopendir.
26471         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
26472         it.
26473         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
26474         returns -1 here.
26475         * modules/fts (Depends-on): Remove dirfd.
26476         * modules/getcwd (Depends-on): Likewise.
26477
26478 2010-09-13  Eric Blake  <eblake@redhat.com>
26479
26480         float: fix broken MirBSD header
26481         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
26482         * doc/posix-headers/float.texi (float.h): Document it.
26483
26484 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26485
26486         fts: use O_NOFOLLOW to avoid race condition when opening a directory
26487         * lib/fts.c (opendirat): New arg extra_flags.
26488         (__opendir2): Use it to avoid following symlinks when opening
26489         a directory, if symlinks are not supposed to be followed.  See
26490         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
26491
26492         fdopendir: preserve argument fd before returning
26493         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
26494         (fdopendir_with_dup, fd_clone_opendir): New static functions.
26495         (fdopendir): Use them, arranging for FD to be open to the same
26496         directory that it was when it started.  (It might be temporarily
26497         closed while fdopendir is running, so this not thread- or
26498         signal-safe.)  Be careful to do the right thing even when file
26499         descriptors are scarce and dup fails with errno == EMFILE.  See
26500         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
26501
26502 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
26503
26504         regex: Pass the system regex if its only problem is 32-bit regoff_t.
26505         * NEWS: Document change.
26506         * m4/regex.m4: Disable test for regoff_t size.
26507
26508 2010-09-13  Jim Meyering  <meyering@redhat.com>
26509
26510         fts: don't operate on an invalid file descriptor after failed dup
26511         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
26512         negative file descriptor.
26513
26514 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
26515
26516         savedir: add streamsavedir, deprecate fdsavedir
26517         * NEWS: Mention deprecation of fdsavedir.
26518         * lib/savedir.c (streamsavedir): New extern function, whose name
26519         ends in "savedir" to be consistent with the others.  This differs
26520         from savedirstream in that it doesn't close its argument.  The
26521         next version of GNU tar will use this instead of fdsavedir, to
26522         avoid some race conditions and conserve file descriptors.
26523         (savedirstream): Reimplement as a wrapper around streamsavedir.
26524         (fdsavedir): Add a comment deprecating this function.  As far as
26525         I know, only GNU tar used it, and GNU tar doesn't need it any more.
26526         * lib/savedir.h (streamsavedir): New decl.
26527         (fdsavedir): Add a comment deprecating this.
26528
26529 2010-09-10  Bruno Haible  <bruno@clisp.org>
26530
26531         langinfo: Fix last commit.
26532         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
26533         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
26534         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26535
26536 2010-09-10  Bruno Haible  <bruno@clisp.org>
26537
26538         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
26539         * lib/progreloc.c (O_EXEC): Define fallback.
26540
26541 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
26542
26543         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
26544         * NEWS: Document recent changes to fcntl-h.
26545         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
26546         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
26547         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
26548         Similarly for O_SEARCH; this last was already true, but not documented.
26549         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
26550         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
26551         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
26552         Likewise.
26553         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
26554         is zero, not whether it is defined.
26555         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
26556         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
26557         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
26558
26559 2010-09-10  Bruno Haible  <bruno@clisp.org>
26560
26561         langinfo, nl_langinfo: Fix for IRIX 5.3.
26562         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
26563         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
26564         HAVE_LANGINFO_YESEXPR.
26565         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
26566         HAVE_LANGINFO_YESEXPR.
26567         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
26568         HAVE_LANGINFO_T_FMT_AMPM is 0.
26569         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
26570         HAVE_LANGINFO_YESEXPR is 0.
26571         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
26572         NOEXPR.
26573         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
26574         * doc/posix-functions/nl_langinfo.texi: Likewise.
26575         Reported by Eric Blake.
26576
26577 2010-09-10  Bruno Haible  <bruno@clisp.org>
26578
26579         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
26580         * doc/glibc-functions/login_tty.texi: Mention the include file problem
26581         on FreeBSD 8.0 and OpenBSD 4.6.
26582         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
26583         * m4/pty_h.m4 (gl_PTY_H): Likewise.
26584         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
26585         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
26586         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
26587         ac_includes_default.
26588         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26589
26590 2010-09-09  Eric Blake  <eblake@redhat.com>
26591
26592         strsignal: work around NetBSD bug
26593         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
26594         * lib/string.in.h (includes): Likewise.
26595         * doc/posix-functions/strsignal.texi (strsignal): Document the
26596         bug.
26597         Reported by Nelson H. F. Beebe.
26598
26599         gnulib-tool: work with NetBSD /bin/sh
26600         * gnulib-tool (func_cache_var, func_cache_lookup_module)
26601         (func_get_description, func_get_comment, func_get_status)
26602         (func_get_notice, func_get_applicability, func_get_filelist)
26603         (func_get_dependencies, func_get_autoconf_early_snippet)
26604         (func_get_autoconf_snippet, func_get_automake_snippet)
26605         (func_get_include_directive, func_get_link_directive)
26606         (func_get_license, func_get_maintainer, func_import): Avoid
26607         shell syntax errors from parsing syntax extensions.
26608
26609 2010-09-09  Bruno Haible  <bruno@clisp.org>
26610
26611         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26612         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
26613         a reliable way to determine whether the 'alias' command works.
26614
26615 2010-09-08  Jim Meyering  <meyering@redhat.com>
26616
26617         init.sh: penalize a set-x-impaired shell; don't disqualify it
26618         * tests/init.sh: Too many shells corrupt application stderr when
26619         you set -x, so we can't afford to disqualify them, since at least
26620         on Irix-6.5, that would disqualify all bourne shells.
26621         Instead, use a two-pass approach.
26622         On the first pass, try to find a shell that meets the stricter
26623         condition that set -x does not corrupt stderr.
26624         If no shell meets the stricter condition, retest each candidate
26625         shell, but without that extra condition.  Finally, when
26626         VERBOSE=yes is requested and set -x might cause trouble, simply
26627         issue a warning and refrain from enabling debug output.
26628
26629 2010-09-08  Eric Blake  <eblake@redhat.com>
26630
26631         unsetenv: fix OpenBSD bug
26632         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
26633         * doc/posix-functions/unsetenv.texi (unsetenv): Update
26634         documentation.
26635         Reported by Jim Meyering.
26636
26637         strtod: work around IRIX 6.5 bug
26638         * lib/strtod.c (strtod): Reparse number on shorter string if
26639         exponent parse was invalid.
26640         * tests/test-strtod.c (main): Add check for "0x1p 2".
26641         Reported by Tom G. Christensen.
26642
26643         getopt: optimize previous patch
26644         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
26645         empty variable.  Speed up awk script.
26646         Reported by Paolo Bonzini.
26647
26648 2010-09-08  Jim Meyering  <meyering@redhat.com>
26649
26650         test.sh: disqualify shells for which set -x corrupts stderr
26651         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
26652         and OpenBSD 4.7.  They make it so with "set -x", environment settings
26653         appear in stderr output.  For example, this command:
26654             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
26655         prints "P=1" on those two systems:
26656
26657 2010-09-08  Bruno Haible  <bruno@clisp.org>
26658
26659         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26660         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
26661         commands, because some shells ignore redirections when there is an
26662         error in the command lookup.
26663         Reported by Eric Blake.
26664
26665 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
26666
26667         * lib/regex.h: Fix a mention of `regex_compile' (should be
26668         `re_compile_pattern').
26669         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
26670         (re_set_registers): Correct name of parameter in comment.
26671
26672         * doc/regex.texi: Add documentation for missing syntax flags.
26673         Remove commented-out documentation of defunct syntax option
26674         RE_NO_EMPTY_ALTS.
26675         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
26676         Add documentation of re_set_registers.
26677         Document trick to re-use a pattern buffer by setting fastmap manually.
26678         Update documentation of struct re_pattern_buffer per public members.
26679         Uncomment documentation of equivalence class operators and
26680         collating symbol operators, since they are now implemented,
26681         Explain leftmost-longest matching in relation to alternatives.
26682         Tidy documentation of substring matching.
26683         Remove POSIX documentation, which is done better in
26684         glibc, and refer the reader there. Keep BSD API documentation, as
26685         that is not readily available elsewhere.
26686
26687 2010-09-07  Eric Blake  <eblake@redhat.com>
26688
26689         getopt: handle POSIXLY_CORRECT set but not exported
26690         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
26691         export state of POSIXLY_CORRECT, due to bash set -o posix.
26692         Reported by Dustin J. Mitchell.
26693
26694 2010-09-05  Bruno Haible  <bruno@clisp.org>
26695
26696         gnulib-tool: Highlight the changed options.
26697         * gnulib-tool (func_usage): Display the --import, --add-import,
26698         --remove-import explanations in bold font.
26699
26700 2010-09-06  Karl Berry  <karl@gnu.org>
26701
26702         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
26703
26704 2010-09-05  Bruno Haible  <bruno@clisp.org>
26705
26706         uniwidth/width: Update comment.
26707         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
26708         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
26709
26710 2010-09-05  Bruno Haible  <bruno@clisp.org>
26711
26712         isinf, isnan: Relax license.
26713         * modules/isinf (License): Change from GPL to LGPL, with consent from
26714         Ben Pfaff.
26715         * modules/isnan (License): Likewise.
26716         Requested by Ludovic Courtès.
26717
26718 2010-09-04  Bruno Haible  <bruno@clisp.org>
26719
26720         gnulib-tool: Help migration from --import to --add-import or --update.
26721         * gnulib-tool: Emit a verbose error message when --import is used
26722         without any module name.
26723
26724 2010-09-04  Bruno Haible  <bruno@clisp.org>
26725
26726         Update doc about gnulib-tool.
26727         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
26728         'gnulib-tool --update' in more detail.
26729         Reported by Eric Blake.
26730
26731 2010-09-04  Bruno Haible  <bruno@clisp.org>
26732
26733         gnulib-tool: Change --import. New options --add/remove-import.
26734         * gnulib-tool: New options --add-import, --remove-import.
26735         (func_usage): Document them.
26736         (have_associative): Define always.
26737         (func_import): In import mode, don't merge the specified settings with
26738         the cached settings. Implement remove-import mode.
26739         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
26740         Explain when to use them versus --import.
26741         (Simple update): Use --add-import instead of --import.
26742         * NEWS: Mention the change.
26743
26744 2010-09-04  Bruno Haible  <bruno@clisp.org>
26745
26746         * doc/gnulib-tool.texi (Initial import): Update paragraph about
26747         separate gnulib.mk.
26748
26749 2010-09-04  Bruno Haible  <bruno@clisp.org>
26750
26751         gnulib-tool: Don't talk about CVS any more.
26752         * gnulib-tool (func_usage, func_import): Write "version control"
26753         instead of CVS.
26754
26755 2010-09-04  Jim Meyering  <meyering@redhat.com>
26756
26757         maint.mk: avoid obscure sc_copyright_check failure in coreutils
26758         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
26759         false positives (whose names may be ill-chosen) when searching
26760         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
26761         would cause a false-positive.
26762
26763         avoid coreutils "make distcheck" failure
26764         Coreutils tests with an absolute build directory name that contains
26765         a space.  Not quoting this directory name caused a failure.
26766         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
26767         * tests/test-vc-list-files-cvs.sh: Likewise.
26768
26769 2010-09-04  Bruno Haible  <bruno@clisp.org>
26770
26771         gnulib-tool: Avoid error when run in a package without Makefile.am.
26772         * gnulib-tool: When collecting the m4dirs in a package that does not
26773         have a Makefile.am, eliminate those directories that contain no
26774         gnulib-cache.m4. Fix expression that counts these directories.
26775
26776 2010-09-04  Bruno Haible  <bruno@clisp.org>
26777
26778         update-copyright test: Improve output when perl is missing or too old.
26779         * tests/test-update-copyright.sh: Move test of Perl version down after
26780         the test whether Perl exists. Provide an explanation relating Perl's
26781         error message to Automake's SKIP: message.
26782
26783 2010-09-04  Bruno Haible  <bruno@clisp.org>
26784
26785         Don't augment PATH in TESTS_ENVIRONMENT.
26786         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
26787         set abs_aux_dir instead of augmenting PATH.
26788         * modules/vc-list-files-tests (Makefile.am): Likewise.
26789         * tests/test-update-copyright.sh: Augment PATH here.
26790         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
26791         path_prepend_.
26792         * tests/test-vc-list-files-git.sh: Likewise.
26793
26794 2010-09-04  Jim Meyering  <meyering@redhat.com>
26795
26796         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
26797         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
26798
26799 2010-09-04  Bruno Haible  <bruno@clisp.org>
26800
26801         strdup: Fix compilation error in C++ mode.
26802         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
26803         the macro.
26804
26805 2010-09-04  Bruno Haible  <bruno@clisp.org>
26806
26807         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
26808         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
26809         macro into a function.
26810         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26811
26812 2010-09-04  Bruno Haible  <bruno@clisp.org>
26813
26814         Set PATH_SEPARATOR the same way autoconf does.
26815         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
26816         the value of PATH_SEPARATOR the same way autoconf-generated configure
26817         scripts do.
26818         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
26819         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
26820
26821 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
26822
26823         Set PATH_SEPARATOR the same way autoconf does.
26824         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
26825         the same way autoconf-generated configure scripts do.
26826         * posix-modules: Likewise.
26827
26828 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
26829
26830         hash: fix safe_hasher const typo
26831         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
26832         const; otherwise, there is a type error later.
26833
26834 2010-09-02  Jim Meyering  <meyering@redhat.com>
26835
26836         test-update-copyright.sh: require perl 5.8.0
26837         * tests/test-update-copyright.sh: Require 5.8.0,
26838         which Tom G. Christensen has confirmed is adequate,
26839         while 5.6.1 is not.
26840
26841 2010-09-02  Eric Blake  <eblake@redhat.com>
26842
26843         tests: init.sh improvements for re-exec'ing with zsh
26844         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
26845         -vx through shell re-exec.
26846         Reported by Tom G. Christensen.
26847
26848         wctype: fix typo in previous commit
26849         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
26850         Reported by Ludovic Courtès.
26851
26852 2010-09-02  Jim Meyering  <meyering@redhat.com>
26853
26854         test-update-copyright.sh: skip test if Perl is too old
26855         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
26856         Reported by Tom G. Christensen.
26857
26858 2010-09-02  Bruno Haible  <bruno@clisp.org>
26859
26860         wctype: Avoid compilation error on IRIX 6.5.30.
26861         * lib/wctype.in.h (iswblank): Declare with a replacement if
26862         REPLACE_ISWBLANK is set.
26863         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
26864         declared. Set REPLACE_ISWBLANK.
26865         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
26866         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
26867         * doc/posix-headers/wctype.texi: Likewise.
26868         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26869
26870 2010-09-01  Bruno Haible  <bruno@clisp.org>
26871
26872         New module 'socketlib'.
26873         * modules/socketlib: New file.
26874         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
26875         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
26876         * modules/sockets (Depends-on): Add socketlib.
26877         Suggested by Sam Steingold <sds@gnu.org>.
26878
26879 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
26880
26881         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
26882
26883         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
26884         when one needs search access to a directory but not read access.
26885         On systems where it is available, it works in some cases where
26886         O_RDONLY does not, namely on directories that are searchable but
26887         not readable, and which need only to be searchable.  If O_SEARCH
26888         is not available, fall back to the traditional method of using
26889         O_RDONLY.
26890
26891         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
26892         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
26893         when opening a directory that needs only to be searchable.
26894         * lib/chdir-safer.c (chdir_no_follow): Likewise.
26895         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
26896         * lib/openat-proc.c (openat_proc_name): Likewise.
26897         * lib/openat.c (openat_needs_fchdir): Likewise.
26898         * lib/save-cwd.c (save_cwd): Likewise.
26899         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
26900
26901 2010-08-28  Bruno Haible  <bruno@clisp.org>
26902
26903         New module 'host-cpu-c-abi'.
26904         * modules/host-cpu-c-abi: New file.
26905         * m4/host-cpu-c-abi.m4: New file, based on part of
26906         clisp/src/m4/general.m4.
26907         Requested by Sam Steingold <sds@gnu.org>.
26908
26909 2010-08-31  Eric Blake  <eblake@redhat.com>
26910         and Jim Meyering  <meyering@redhat.com>
26911
26912         hash: factor, and guard against misbehaving hasher function
26913         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
26914         of table->hasher's return value.  Also protect against a hash value
26915         so large that adding it to table->bucket results in a NULL pointer.
26916         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
26917         Use it in place of open-coded check-and-abort.
26918
26919 2010-08-30  Bruno Haible  <bruno@clisp.org>
26920
26921         hash: silence spurious clang warning
26922         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
26923         Reported by Eric Blake.
26924
26925 2010-08-30  Eric Blake  <eblake@redhat.com>
26926
26927         strstr, memmem, strcasestr: avoid leaked shell message
26928         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
26929         FreeBSD.
26930         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26931         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26932
26933         tests: silence clang warning
26934         * tests/test-malloca.c (do_allocation): Avoid dead store.
26935
26936 2010-08-29  Bruno Haible  <bruno@clisp.org>
26937
26938         gettext: Fix recent mistake.
26939         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
26940
26941 2010-08-29  Bruno Haible  <bruno@clisp.org>
26942
26943         selinux-h: Offer a --without-selinux option.
26944         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
26945         --without-selinux was specified, skip all tests and define
26946         HAVE_SELINUX_SELINUX_H to 0.
26947         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
26948         set LIB_SELINUX to empty.
26949         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
26950         gl_LIBSELINUX. If --without-selinux was specified, replace
26951         selinux/context.h.
26952         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
26953
26954 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26955             Bruno Haible  <bruno@clisp.org>
26956
26957         Make the module 'realloc-gnu' work again on AIX and OSF/1.
26958         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
26959         of HAVE_REALLOC.
26960         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
26961         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
26962         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
26963         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
26964
26965 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26966             Bruno Haible  <bruno@clisp.org>
26967
26968         Make the module 'calloc-gnu' work again on AIX and OSF/1.
26969         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
26970         HAVE_CALLOC.
26971         * lib/xmalloc.c: Update accordingly.
26972         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
26973         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
26974         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
26975
26976 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26977             Bruno Haible  <bruno@clisp.org>
26978
26979         Make the module 'malloc-gnu' work again on AIX and OSF/1.
26980         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
26981         HAVE_MALLOC.
26982         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
26983         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
26984         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
26985
26986 2010-08-29  Bruno Haible  <bruno@clisp.org>
26987
26988         Update modules list.
26989         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
26990         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
26991         (String handling <string.h>): Add astrxfrm.
26992         (File system functions): Add readlinkat.
26993
26994 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26995
26996         Tests for module 'realloc-gnu'.
26997         * modules/realloc-gnu-tests: New file.
26998         * tests/test-realloc-gnu.c: New file.
26999
27000         Tests for module 'calloc-gnu'.
27001         * modules/calloc-gnu-tests: New file.
27002         * tests/test-calloc-gnu.c: New file.
27003
27004         Tests for module 'malloc-gnu'.
27005         * modules/malloc-gnu-tests: New file.
27006         * tests/test-malloc-gnu.c: New file.
27007
27008 2010-08-28  Bruno Haible  <bruno@clisp.org>
27009
27010         Rename module 'realloc' -> 'realloc-gnu'.
27011         * modules/realloc-gnu: New file, copied from modules/realloc.
27012         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
27013         obsolete.
27014         * modules/mgetgroups (Depends-on): Update.
27015         * doc/posix-functions/realloc.texi: Update.
27016         * NEWS: Mention the change.
27017
27018         Rename module 'calloc' -> 'calloc-gnu'.
27019         * modules/calloc-gnu: New file, copied from modules/calloc.
27020         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
27021         obsolete.
27022         * doc/posix-functions/calloc.texi: Update.
27023         * NEWS: Mention the change.
27024
27025         Rename module 'malloc' -> 'malloc-gnu'.
27026         * modules/malloc-gnu: New file, copied from modules/malloc.
27027         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
27028         obsolete.
27029         * modules/argp (Depends-on): Update.
27030         * modules/regex (Depends-on): Update.
27031         * doc/posix-functions/malloc.texi: Update.
27032         * NEWS: Mention the change.
27033
27034 2010-08-28  Eric Blake  <eblake@redhat.com>
27035
27036         pread, pwrite: add missing dependency
27037         * modules/pread (Depends-on): Add extensions.
27038         * modules/pwrite (Depends-on): Likewise.
27039
27040 2010-08-28  Bruno Haible  <bruno@clisp.org>
27041
27042         unistr/u*-strchr: Fix tests dependencies.
27043         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
27044         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
27045         Reported by Ian Beckwith <ianb@erislabs.net>.
27046
27047 2010-08-28  Bruno Haible  <bruno@clisp.org>
27048
27049         read-file: Don't occupy too much unused memory.
27050         * lib/read-file.c (fread_file): Shrink the buffer at the end.
27051
27052 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
27053             Eric Blake  <eblake@redhat.com>
27054             Bruno Haible  <bruno@clisp.org>
27055
27056         read-file: Avoid memory reallocations with regular files.
27057         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
27058         (fread_file): With regular files, use the remaining length as the
27059         initial buffer size.  Check against overflow.
27060         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
27061         sys_stat.
27062
27063 2010-08-28  Bruno Haible  <bruno@clisp.org>
27064
27065         ftello: Relax license.
27066         * modules/ftello (License): Relax to LGPLv2+.
27067         Reported by Eric Blake.
27068
27069 2010-08-28  Bruno Haible  <bruno@clisp.org>
27070
27071         Avoid relocwrapper link errors due to gnulib replacement functions.
27072         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
27073         function.
27074         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27075
27076 2010-08-28  Bruno Haible  <bruno@clisp.org>
27077
27078         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
27079         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
27080         defined.
27081         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
27082         Suggested by Eric Blake.
27083
27084 2010-08-28  Bruno Haible  <bruno@clisp.org>
27085
27086         sys_socket, netdb: Ensure socklen_t gets defined.
27087         * modules/sys_socket (Depends-on): Add socklen.
27088         * modules/netdb (Depends-on): Likewise.
27089         * modules/getaddrinfo (Depends-on): Remove socklen.
27090         * modules/getsockopt (Depends-on): Likewise.
27091         * modules/setsockopt (Depends-on): Likewise.
27092         * tests/test-sys_socket.c: Check that socklen_t is defined.
27093         * tests/test-netdb.c: Likewise.
27094         * m4/socklen.m4: Update comments.
27095         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27096
27097 2010-08-27  Eric Blake  <eblake@redhat.com>
27098
27099         login_tty: add missing dependency
27100         * modules/login_tty (Depends-on): Add pty.
27101
27102 2010-08-26  Eric Blake  <eblake@redhat.com>
27103
27104         lib-symbol-versions: fix m4 quoting
27105         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
27106         format for AC_LINK_IFELSE.
27107
27108         glob: fix compile test
27109         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
27110
27111         btowc: fix missing file
27112         * modules/btowc (Files): Also ship locale-fr.m4.
27113
27114         lseek: fix link test
27115         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
27116         AC_LINK_IFELSE.
27117
27118         include_next: silence autoconf 2.68 warning
27119         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
27120         AC_COMPILE_IFELSE as special.
27121         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
27122         autoconf < 2.68.
27123
27124         acl: fix compilation test
27125         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
27126         AC_COMPILE_IFELSE.
27127
27128 2010-08-26  Bruno Haible  <bruno@clisp.org>
27129
27130         Modernize AC_TRY_RUN invocations.
27131         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
27132         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
27133         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
27134         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
27135         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
27136         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
27137         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27138         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27139         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
27140         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27141         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27142         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27143         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27144         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27145         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27146         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
27147         gl_MBRLEN_NUL_RETVAL): Likewise.
27148         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27149         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
27150         Likewise.
27151         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27152         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27153         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27154         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27155         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
27156         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
27157         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
27158         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
27159         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
27160         Likewise.
27161         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
27162         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
27163         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27164         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
27165         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27166         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27167         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27168         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
27169         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27170         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27171
27172 2010-08-26  Bruno Haible  <bruno@clisp.org>
27173
27174         Modernize AC_TRY_LINK invocations.
27175         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
27176         AC_TRY_LINK.
27177         * m4/argp.m4 (gl_ARGP): Likewise.
27178         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
27179         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27180         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
27181         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
27182         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
27183         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
27184         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
27185         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
27186         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
27187         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
27188         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
27189         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
27190         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
27191         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
27192         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
27193         * m4/hostent.m4 (gl_HOSTENT): Likewise.
27194         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27195         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
27196         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
27197         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
27198         Likewise.
27199         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
27200         Likewise.
27201         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
27202         Likewise.
27203         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
27204         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
27205         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
27206         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
27207         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
27208         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
27209         * m4/servent.m4 (gl_SERVENT): Likewise.
27210         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
27211         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
27212         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
27213         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
27214         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
27215         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
27216         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
27217         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27218         * modules/tsearch-tests (configure.ac): Likewise.
27219
27220 2010-08-26  Bruno Haible  <bruno@clisp.org>
27221
27222         Modernize AC_TRY_COMPILE invocations.
27223         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
27224         AC_TRY_COMPILE.
27225         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
27226         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
27227         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
27228         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
27229         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
27230         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
27231         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27232         * m4/lock.m4 (gl_LOCK): Likewise.
27233         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
27234         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
27235         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
27236         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
27237         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
27238         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
27239         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
27240         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
27241         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
27242         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
27243         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
27244         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
27245         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
27246         extraneous semicolon.
27247
27248 2010-08-26  Jim Meyering  <meyering@redhat.com>
27249
27250         stat-time: relax license LGPL
27251         * modules/stat-time (License): Change from GPL to LGPL,
27252         with consent from all contributors, for use in libguile.
27253         Requested by Ludovic Courtès.
27254
27255 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
27256
27257         poll: return immediately on POLLHUP.
27258         * lib/poll.c (poll): Always set timeout before wait_timeout is
27259         computed.
27260
27261 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27262
27263         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
27264         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
27265         rmdir ("dir/.//"), unlinkat.
27266
27267 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
27268
27269         stdbool: avoid spurious failure with modern xlc
27270         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
27271
27272 2010-08-24  Bruno Haible  <bruno@clisp.org>
27273
27274         getloadavg: simplify code
27275         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
27276         gl_have_func. Update comments.
27277
27278 2010-08-24  Eric Blake  <eblake@redhat.com>
27279
27280         getloadavg: don't define SVR4 on cygwin
27281         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
27282         only define SVR4 when -lkvm is required.
27283         Reported by Yaakov Selkowitz.
27284
27285 2010-08-24  Bruno Haible  <bruno@clisp.org>
27286
27287         priv-set: fix comment
27288         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
27289
27290 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
27291
27292         priv-set: fix comments
27293         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
27294         to match code, as suggested by David Bartley in:
27295         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
27296
27297 2010-08-23  Eric Blake  <eblake@redhat.com>
27298
27299         stdbool: avoid rejecting clang
27300         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
27301         * tests/test-stdbool.c: Enable more tests if using the system
27302         <stdbool.h> instead of the gnulib replacement.
27303         (main): Move xlc bug test to a runtime test for all compilers.
27304         Reported by Anders Kaseorg.
27305
27306         argz: fix shell quoting issue
27307         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
27308         Reported by Charles Wilson.
27309
27310 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
27311             Erik Faye-Lund <kusmabite@gmail.com>
27312
27313         poll, select: handle ERROR_BROKEN_PIPE.
27314         * lib/poll.c (win32_compute_revents): Return POLLHUP when
27315         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
27316         * lib/select.c (win32_compute_revents): Do not mark a pipe
27317         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
27318
27319 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
27320
27321         fts: allow compilation with C++
27322         * lib/fts_.h: Specify extern "C" linkage with C++.
27323
27324 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27325
27326         Fix gnulib-tool sed script de-commentation for AIX sed.
27327         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
27328         sed.
27329
27330 2010-08-17  Eric Blake  <eblake@redhat.com>
27331
27332         test-stddef: test for (some) offsetof bugs
27333         * tests/test-stddef.c: Enhance test to ensure correct type of
27334         offsetof.
27335         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
27336         that we are not fixing at this time.
27337
27338 2010-08-15  Bruno Haible  <bruno@clisp.org>
27339
27340         stpncpy: Allow stpncpy to be defined as a macro.
27341         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
27342         if it's already correctly declared.
27343         * lib/string.in.h (stpncpy): Undefine before redefining.
27344         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
27345
27346 2010-08-14  Bruno Haible  <bruno@clisp.org>
27347
27348         Rename module 'memxfrm' to 'amemxfrm'.
27349         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
27350         (amemxfrm): Renamed from memxfrm.
27351         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
27352         (amemxfrm): Renamed from memxfrm.
27353         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
27354         * NEWS: Mention the change.
27355         * MODULES.html.sh (String handling <string.h>): Update.
27356         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
27357         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
27358         * lib/unicase/u16-casexfrm.c: Likewise.
27359         * lib/unicase/u32-casexfrm.c: Likewise.
27360         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
27361         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
27362         * lib/uninorm/u16-normxfrm.c: Likewise.
27363         * lib/uninorm/u32-normxfrm.c: Likewise.
27364         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
27365         memxfrm.
27366         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
27367         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
27368         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
27369         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
27370         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
27371         Suggested by Paul Eggert.
27372
27373 2010-08-14  Bruno Haible  <bruno@clisp.org>
27374
27375         Tests for module 'astrxfrm'.
27376         * modules/astrxfrm-tests: New file.
27377         * tests/test-astrxfrm.c: New file.
27378
27379         New module 'astrxfrm'.
27380         * lib/astrxfrm.h: New file.
27381         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
27382         * modules/astrxfrm: New file.
27383
27384 2010-08-14  Reuben Thomas <rrt@sc3d.org>
27385
27386         regex: Tweak doc.
27387         * doc/regex.texi (Overview): Don't mention regex.c.
27388         (GNU Regular Expression Compiling): Likewise.
27389         (Match-end-of-line Operator): Mention 'not_eol'.
27390
27391 2010-08-14  Brian Gough  <bjg@gnu.org>
27392             Bruno Haible  <bruno@clisp.org>
27393
27394         git-merge-changelog: add doc relating to use with bzr and hg.
27395         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
27396
27397 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
27398
27399         pthread: fix pthread.h creation for srcdir != builddir
27400         * modules/pthread (Makefile.am): Fix the rule to work also in a
27401         non-srcdir build.
27402
27403 2010-08-13  Karl Berry  <karl@gnu.org>
27404
27405         * doc/regex.texi (Predefined Syntaxes): @smallexample.
27406         * doc/posix-*/*: force line break before @url of POSIX
27407         specifications.
27408         Suggested by Werner Lemberg.
27409
27410 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
27411
27412         strtod: fix const diagnostic
27413         * lib/strtod.c (strtod): Don't assign const char * to char *,
27414         as this elicits a warning from GCC when warnings are enabled.
27415
27416 2010-08-10  Pádraig Brady <P@draigbrady.com>
27417         and Eric Blake  <eblake@redhat.com>
27418
27419         copy-acl: ignore ENOTSUP on HP-UX
27420         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
27421         so that it is available for HP-UX.
27422         * lib/copy-acl.c (qcopy_acl): Use it.
27423         Reported by Patrick M. Callahan.
27424
27425 2010-08-10  Eric Blake  <eblake@redhat.com>
27426
27427         open, chown: relax license
27428         * modules/open (License): Change to LGPLv2+, with consent by all
27429         authors, for use in augeas.
27430         * modules/chown (License): Likewise.
27431         * modules/lchown (Likewise): Likewise.
27432         Requested by Adam Stokes.
27433
27434 2010-08-09  Karl Berry  <karl@gnu.org>
27435
27436         * build-aux/ar-lib: new file, import from Automake.
27437         * config/srclist.txt: autocheck for updates.
27438
27439 2010-08-09  Eric Blake  <eblake@redhat.com>
27440
27441         readlinkat: adjust client modules
27442         * modules/areadlinkat (Depends-on): Use readlinkat, not
27443         symlinkat.
27444         * modules/areadlinkat-with-size (Depends-on): Likewise.
27445
27446         mknod: be more vocal about danger of running tests as root
27447         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
27448         root, since that is just asking for problems.
27449         Suggested by Bruno Haible, based on a report by Rainer Tammer.
27450
27451         readlinkat: split into its own module
27452         * modules/symlinkat: Split readlinkat...
27453         * modules/readlinkat: ...into separate module.
27454         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
27455         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
27456         * lib/symlinkat.c (readlinkat): Move...
27457         * lib/readlinkat.c: ...into new file.
27458         * modules/symlinkat-tests: Split readlinkat test...
27459         * modules/readlinkat-tests: ...into separate module.
27460         * tests/test-symlinkat.c: Split...
27461         * tests/test-readlinkat.c: ...into new file.
27462         * NEWS: Document the split.
27463         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
27464         * lib/unistd.in.h (readlinkat): Likewise.
27465         Suggested by Bruno Haible.
27466
27467 2010-08-08  Bruno Haible  <bruno@clisp.org>
27468
27469         memxfrm: Speed up.
27470         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
27471         that usually only one call to strxfrm is necessary for each string
27472         part.
27473         Reported by Paul Eggert <eggert@cs.ucla.edu>.
27474
27475 2010-08-07  Karl Berry  <karl@gnu.org>
27476
27477         * doc/posix-headers/limits.texi,
27478         * doc/posix-functions/malloc.texi,
27479         * doc/posix-functions/strsignal.texi: missing @item.
27480         * doc/ld-version-script.texi: spurious leading i.
27481         * doc/regex.texi (Interval Operators): no commas inside @var.
27482
27483 2010-08-01  Bruno Haible  <bruno@clisp.org>
27484
27485         Integrate the regex documentation.
27486         * doc/gnulib.texi: Define 'cn' index.
27487         (Regular expressions): New a chapter that includes regex.texi and
27488         regexprops-generic.texi.
27489         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
27490         syntax.
27491
27492         Whitespace cleanup.
27493         * doc/regex.texi: Remove trailing spaces.
27494
27495         Add regex documentation.
27496         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
27497         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
27498         Written by Kathy A. Hargreaves and Karl Berry.
27499
27500 2010-08-01  Bruno Haible  <bruno@clisp.org>
27501
27502         link: Update documentation.
27503         * doc/posix-functions/link.texi: Update regarding Solaris.
27504
27505 2010-07-31  Bruno Haible  <bruno@clisp.org>
27506
27507         Update modules list.
27508         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
27509         (String handling <string.h>): Add memcmp2, memxfrm.
27510         (Container data structures): Add xlist, xsublist, xoset.
27511         (Core language properties): Add alignof, unused-parameter.
27512         (Process control, Numeric conversion functions <stdlib.h>): Renamed
27513         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
27514         (Unibyte characters <ctype.h>): New section.
27515         (String handling <string.h>): New section.
27516         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
27517         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
27518         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
27519         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
27520         tan, tanh, tanl, y0, y1, yn.
27521         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
27522         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
27523         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
27524         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
27525         unlockpt, vdprintf, vdprintf-posix.
27526         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
27527         (File system functions): Add concat-filename, sys_file, sys_ioctl,
27528         xconcat-filename.
27529         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
27530         getdtablesize, pipe2, pipe2-safer.
27531         (Security): New section.
27532         (Networking functions): Add accept4.
27533         (Signal handling): Add sigpipe.
27534         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
27535         mbmemcasecoll.
27536         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
27537         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
27538         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
27539         pipe-filter-ii.
27540         (Misc): Add argp-version-etc, login_tty, parse-duration.
27541
27542 2010-07-31  Bruno Haible  <bruno@clisp.org>
27543
27544         Improve doc in MODULES.html.
27545         * modules/linkat (Description): Add the word "function".
27546         * modules/mkfifo (Description): Likewise.
27547         * modules/mknod (Description): Likewise.
27548         * modules/remove (Description): Likewise.
27549         * modules/renameat (Description): Likewise.
27550         * modules/stat (Description): Likewise.
27551         * modules/symlink (Description): Likewise.
27552         * modules/unlink (Description): Likewise.
27553
27554 2010-07-31  Bruno Haible  <bruno@clisp.org>
27555
27556         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
27557         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
27558         option --enable/disable-c++ instead of --enable/disable-cxx.
27559         * NEWS: Mention the change.
27560
27561 2010-07-31  Bruno Haible  <bruno@clisp.org>
27562
27563         readlink, areadlink: Relax test a bit.
27564         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
27565         alternative to ENOTDIR.
27566         * tests/test-areadlink.h (test_areadlink): Likewise.
27567         Reported by Rainer Tammer.
27568
27569 2010-07-31  Bruno Haible  <bruno@clisp.org>
27570
27571         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
27572         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
27573         character, perform the search using U_STRCHR.
27574         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
27575         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
27576         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
27577         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
27578         Suggested by Paolo Bonzini.
27579
27580 2010-07-31  Bruno Haible  <bruno@clisp.org>
27581
27582         unistr/u*-strstr: Fix dependencies.
27583         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
27584         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
27585         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
27586
27587 2010-07-31  Bruno Haible  <bruno@clisp.org>
27588
27589         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
27590         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
27591         the beginning of the loop.
27592         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
27593         cases in 'switch' statement.
27594
27595         unistr/u8-strchr: Fix several bugs.
27596         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
27597         the string. When not found, return NULL, not a pointer near the end.
27598
27599         More tests for unistr/u8-strchr.
27600         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
27601         that the function does not read past the first occurrence of the byte
27602         being searched.
27603         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
27604         * tests/unistr/test-u16-strchr.c (main): New function.
27605         * tests/unistr/test-u32-strchr.c (main): New function.
27606
27607 2010-07-31  Bruno Haible  <bruno@clisp.org>
27608
27609         posix-modules: Ignore backup files of documentation files.
27610         * posix-modules: grep only through files named *.texi.
27611
27612 2010-07-31  Bruno Haible  <bruno@clisp.org>
27613
27614         symlinkat: Fix documentation.
27615         * doc/posix-functions/readlinkat.texi: Fix module name.
27616
27617 2010-07-31  Bruno Haible  <bruno@clisp.org>
27618
27619         fchownat: Replace also when chown has the trailing slash bug.
27620         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
27621         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
27622         introduced on 2010-04-10.
27623         Reported by Rainer Tammer.
27624
27625 2010-07-31  Bruno Haible  <bruno@clisp.org>
27626
27627         linkat: Work around AIX 7.1 bug.
27628         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
27629         whether linkat handles trailing slash correctly. If not, replace linkat
27630         and define LINKAT_TRAILING_SLASH_BUG.
27631         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
27632         check whether (fd1,file1) points to a directory if file1 or file2 ends
27633         in a slash. Code taken from lib/link.c.
27634         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
27635         Reported by Rainer Tammer.
27636
27637 2010-07-31  Bruno Haible  <bruno@clisp.org>
27638
27639         Correctly determine whether pow is available in libc on AIX 7 with xlc.
27640         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
27641         This disables an xlc optimization that was causing wrong test results.
27642         Reported by Rainer Tammer.
27643
27644 2010-07-31  Bruno Haible  <bruno@clisp.org>
27645
27646         iconv: Work around AIX 6.1..7.1 bug.
27647         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
27648         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
27649         cross-compiling, guess no on all versions of AIX.
27650         Reported by Rainer Tammer.
27651
27652 2010-07-31  Bruno Haible  <bruno@clisp.org>
27653
27654         readlink: Relax test a bit.
27655         * tests/test-readlink.h (test_readlink): Allow different errno value
27656         when readlink is called with a file name that ends in / and refers to
27657         a file.
27658         Suggested by Eric Blake.
27659         Reported by Rainer Tammer.
27660
27661 2010-07-31  Bruno Haible  <bruno@clisp.org>
27662
27663         copysign: Does not require -lm on glibc systems.
27664         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
27665         gl_COMMON_DOUBLE_MATHFUNC.
27666         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
27667
27668 2010-07-31  Bruno Haible  <bruno@clisp.org>
27669
27670         duplocale: Work around AIX 7.1 bug.
27671         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
27672         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
27673         * lib/duplocale.c (rpl_duplocale): Update comment.
27674         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
27675         Reported by Rainer Tammer.
27676
27677 2010-07-30  Bruno Haible  <bruno@clisp.org>
27678
27679         dirfd: Avoid link error on AIX 7.1.
27680         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
27681         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
27682         exist, set REPLACE_DIRFD.
27683         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
27684         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
27685         * doc/posix-functions/dirfd.texi: Update.
27686         Reported by Rainer Tammer.
27687
27688 2010-07-30  Eric Blake  <eblake@redhat.com>
27689
27690         strtod: next round of AIX fixes
27691         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
27692         exponent.
27693         * tests/test-strtod.c (main): Enhance tests.
27694         * doc/posix-functions/strtod.texi (strtod): Document next bug.
27695         Reported by Rainer Tammer.
27696
27697         futimens: fix configure check
27698         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
27699         Reported by Bruno Haible.
27700
27701 2010-07-30  Bruno Haible  <bruno@clisp.org>
27702
27703         getline: Update regarding AIX.
27704         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
27705         Reported by Rainer Tammer.
27706
27707 2010-07-30  Bruno Haible  <bruno@clisp.org>
27708
27709         wcwidth: Drop replacement on AIX 7.
27710         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
27711         AIX 7.
27712         Reported by Rainer Tammer.
27713
27714 2010-07-30  Bruno Haible  <bruno@clisp.org>
27715
27716         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
27717         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
27718         a 'char *'.
27719         Reported by Rainer Tammer.
27720
27721 2010-07-30  Bruno Haible  <bruno@clisp.org>
27722
27723         unlink: Update regarding AIX.
27724         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
27725         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
27726         Reported by Rainer Tammer.
27727
27728 2010-07-30  Bruno Haible  <bruno@clisp.org>
27729
27730         symlink: Update regarding AIX.
27731         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
27732         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
27733         Reported by Rainer Tammer.
27734
27735 2010-07-30  Bruno Haible  <bruno@clisp.org>
27736
27737         strndup: Update regarding AIX.
27738         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
27739         AIX 7.
27740         Reported by Rainer Tammer.
27741
27742 2010-07-30  Bruno Haible  <bruno@clisp.org>
27743
27744         stat: Update regarding AIX.
27745         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
27746         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
27747         Reported by Rainer Tammer.
27748
27749 2010-07-30  Bruno Haible  <bruno@clisp.org>
27750
27751         truncl: Fix autoconf test.
27752         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
27753         whether truncl works.
27754         Reported by Rainer Tammer.
27755
27756 2010-07-30  Bruno Haible  <bruno@clisp.org>
27757
27758         round: Update regarding AIX.
27759         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
27760         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
27761         Reported by Rainer Tammer.
27762
27763 2010-07-30  Bruno Haible  <bruno@clisp.org>
27764
27765         rename: Update regarding AIX.
27766         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
27767         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
27768         Reported by Rainer Tammer.
27769
27770 2010-07-30  Bruno Haible  <bruno@clisp.org>
27771
27772         printf.m4: Update regarding AIX.
27773         * m4/printf.m4: Update comments regarding AIX.
27774         Reported by Rainer Tammer.
27775
27776 2010-07-30  Bruno Haible  <bruno@clisp.org>
27777
27778         iconv: Update regarding AIX.
27779         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
27780         AIX 7.
27781         Reported by Rainer Tammer.
27782
27783 2010-07-30  Bruno Haible  <bruno@clisp.org>
27784
27785         getopt: Update regarding AIX.
27786         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
27787         no on AIX.
27788         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
27789         Reported by Rainer Tammer.
27790
27791 2010-07-30  Bruno Haible  <bruno@clisp.org>
27792
27793         ldexpl; Update regarding AIX.
27794         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
27795         on AIX 7.
27796         Reported by Rainer Tammer.
27797
27798 2010-07-30  Bruno Haible  <bruno@clisp.org>
27799
27800         frexpl: Update regarding AIX.
27801         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
27802         on AIX 7.
27803         Reported by Rainer Tammer.
27804
27805 2010-07-30  Bruno Haible  <bruno@clisp.org>
27806
27807         open, fopen: Update regarding AIX.
27808         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
27809         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
27810         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
27811         * doc/posix-functions/fopen.texi: Likewise.
27812         Reported by Rainer Tammer.
27813
27814 2010-07-30  Bruno Haible  <bruno@clisp.org>
27815
27816         chown: Update doc regarding AIX.
27817         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
27818         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
27819         Reported by Rainer Tammer.
27820
27821 2010-07-30  Eric Blake  <eblake@redhat.com>
27822
27823         strtod: fix bug in replacement function on AIX
27824         * lib/strtod.c (strtod): Special case broken "0x" parse in
27825         underlying strtod.
27826         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
27827         * doc/posix-functions/strtod.texi (strtod): Likewise.
27828         Reported by Rainer Tammer.
27829
27830 2010-07-30  Bruno Haible  <bruno@clisp.org>
27831
27832         mbrlen: Fix cross-compilation guess for AIX.
27833         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
27834         guess. Leftover from 2008-12-22.
27835
27836 2010-07-30  Bruno Haible  <bruno@clisp.org>
27837
27838         mbrtowc: Fix cross-compilation guess for AIX.
27839         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
27840         guess. Leftover from 2008-12-21.
27841
27842 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
27843
27844         init.sh: work around trap limitation of some shells
27845         * tests/init.sh (setup_): Move exit trap outside of shell function.
27846
27847 2010-07-29  Eric Blake  <eblake@redhat.com>
27848
27849         strtod: aid debugging
27850         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
27851         understanding why strtod is rejected.
27852
27853 2010-07-28  Bruno Haible  <bruno@clisp.org>
27854
27855         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
27856         * lib/unistr/u8-chr.c: Include <string.h>.
27857         * tests/unistr/test-u8-chr.c: Likewise.
27858         * tests/unistr/test-u16-chr.c: Likewise.
27859         * tests/unistr/test-u32-chr.c: Likewise.
27860         * tests/unistr/test-u8-strchr.c: Likewise.
27861         * tests/unistr/test-u16-strchr.c: Likewise.
27862         * tests/unistr/test-u32-strchr.c: Likewise.
27863         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
27864         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
27865         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
27866         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
27867
27868 2010-07-28  Bruno Haible  <bruno@clisp.org>
27869
27870         Use spaces for indentation, not tabs.
27871         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
27872
27873 2010-07-27  Bruno Haible  <bruno@clisp.org>
27874
27875         mbspcasecmp: Fix function specification.
27876         * lib/string.in.h (mbspcasecmp): Fix specification comment.
27877         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
27878         Reported by Eric Blake <eblake@redhat.com>.
27879
27880 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
27881
27882         timespec: use cast and not conditional, as truncation isn't possible
27883         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
27884         instead of a conditional.  Comment about the situation in more detail.
27885         This undoes most of the 2009-10-29 patch.
27886
27887 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
27888
27889         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
27890         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
27891         * lib/unistr/u8-strchr.c: Likewise.
27892         * modules/unistr/u8-chr: Depend on memchr.
27893
27894         unistr/u*-strchr: add tests
27895         * modules/unistr/u8-strchr-tests: New file.
27896         * modules/unistr/u16-strchr-tests: New file.
27897         * modules/unistr/u32-strchr-tests: New file.
27898         * tests/unistr/test-strchr.h: New file.
27899         * tests/unistr/test-u8-strchr.c: New file.
27900         * tests/unistr/test-u16-strchr.c: New file.
27901         * tests/unistr/test-u32-strchr.c: New file.
27902
27903         unistr/u*-chr: test multibyte sequences more
27904         * tests/unistr/test-chr.h: Do complete testing of the characters in the
27905         test vector.
27906         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
27907         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
27908         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
27909
27910         unistr/u*-chr: test multibyte sequences
27911         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
27912
27913         unistr/u*-chr: prepare for multibyte tests
27914         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
27915         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
27916         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
27917         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
27918         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
27919         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
27920
27921 2010-07-18  Bruno Haible  <bruno@clisp.org>
27922
27923         unistr/u8-strchr: Optimize non-ASCII argument case.
27924         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
27925         because the first byte often matches anyway.
27926         Reported by Pádraig Brady <P@draigbrady.com>.
27927
27928 2010-07-15  Karl Berry  <karl@gnu.org>
27929
27930         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
27931
27932 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
27933
27934         getcwd: on Solaris, work better if ancestors are inaccessible
27935         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
27936         buffer and size, try again with a large buffer.  This works better
27937         on Solaris, since its getcwd succeeds even if the path to the root
27938         is inaccessible, and this is helpful in common cases such as .zfs
27939         hidden directories.  Problem reported by J Chapman Flack in
27940         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
27941         Use system getcwd if it's declared, not merely if it's partly
27942         working; use the partly-working test only to avoid needless effort
27943         if the system getcwd fails.
27944         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
27945         comment that was already obsolete and is now even more obsolete.
27946         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
27947         now might call strdup.
27948
27949 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
27950
27951         pthread: Add enough so that coreutils/src/sort.c compiles.
27952         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
27953         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
27954         gnulib. Include <sched.h> and <time.h>, as per POSIX.
27955         Include <sys/types.h>, in case it defines pthread_t.
27956         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
27957         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
27958         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
27959         (pthread_rwlockattr_t, pthread_spinlock_t):
27960         New typedefs, if HAVE_PTHREAD_T is not defined.
27961         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
27962         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
27963         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
27964         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
27965         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
27966         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
27967         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
27968         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
27969         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
27970         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
27971         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
27972         New macros.
27973         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
27974         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
27975         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
27976         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
27977         (pthread_spin_unlock): New dummy functions.
27978         (pthread_create): Return EAGAIN; don't set errno.
27979         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
27980         require AC_C_INLINE.
27981         * modules/pthread (Depends-on): Add sched, time.
27982         (pthread.h): Use AM_V_GEN.
27983
27984 2010-07-13  Bruno Haible  <bruno@clisp.org>
27985
27986         striconveh: Don't malloc memory if the result buffer is sufficient.
27987         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
27988         buffer if its size is sufficient.
27989         Reported by Ludovic Courtès <ludo@gnu.org>.
27990
27991 2010-07-13  Bruno Haible  <bruno@clisp.org>
27992
27993         strtod: Add safety check.
27994         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
27995
27996 2010-07-12  Bruno Haible  <bruno@clisp.org>
27997
27998         Unify tests that set gl_cv_func_ldexpl_no_libm.
27999         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
28000         gl_FUNC_LDEXPL.
28001         (gl_FUNC_LDEXPL): Invoke it.
28002         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
28003
28004 2010-07-12  Bruno Haible  <bruno@clisp.org>
28005
28006         Unify tests that set gl_cv_func_ldexp_no_libm.
28007         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
28008         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
28009         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
28010         (configure.ac): Simply invoke gl_FUNC_LDEXP.
28011         * modules/strtod (Files): Add m4/ldexp.m4.
28012
28013 2010-07-12  Bruno Haible  <bruno@clisp.org>
28014
28015         Unify tests that set gl_cv_func_frexpl_no_libm.
28016         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
28017         gl_FUNC_FREXPL_NO_LIBM.
28018         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
28019         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
28020
28021 2010-07-12  Bruno Haible  <bruno@clisp.org>
28022
28023         Unify tests that set gl_cv_func_frexp_no_libm.
28024         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
28025         gl_FUNC_FREXP_NO_LIBM.
28026         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
28027         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
28028
28029 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
28030
28031         memcoll: clarify sizes versus lengths, document better, and tweak perf
28032         * lib/memcoll.c (strcoll_loop, memcoll0):
28033         Improve quality of descriptive comments.  Name variables
28034         consistently as to whether they are lengths (which do not include
28035         terminating null) versus sizes (which do).
28036         * lib/xmemcoll.c (xmemcoll0): Likewise.
28037         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
28038         returned when s1size == 0; this is easier to compile and saves
28039         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
28040
28041 2010-07-12  Bruno Haible  <bruno@clisp.org>
28042
28043         Tests for module '_Exit'.
28044         * modules/_Exit-tests: New file.
28045         * tests/test-_Exit.sh: New file.
28046         * tests/test-_Exit.c: New file.
28047
28048         New module '_Exit'.
28049         * lib/stdlib.in.h (__attribute__): New macro.
28050         (_Exit): New declaration.
28051         * lib/_Exit.c: New file.
28052         * m4/_Exit.m4: New file.
28053         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
28054         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
28055         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
28056         * modules/_Exit: New file.
28057         * tests/test-stdlib-c++.cc (_Exit): Check signature.
28058         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
28059
28060 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
28061
28062         strtod: make it more-accurate typically, and don't require libm
28063         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
28064         Include limits.h.  Don't include string.h.
28065         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
28066         (locale_isspace): New function, so that no casts are needed to
28067         check whether *s is a space.
28068         (ldexp): Provide an unused dummy if not available.
28069         (scale_radix_exp, parse_number, underlying_strtod): New functions.
28070         (strtod): Use them.  This implementation prefers to use the
28071         underlying strtod if available, falling back on our own code
28072         only to fix known bugs.  This is more likely to produce an
28073         accurate result.  Also, it avoids the use of libm functions.
28074         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
28075         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
28076         was absent, but it caused a test failure with coreutils.
28077         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
28078         with libm.
28079         * modules/strtod (Makefile.am, Link): libm is no longer needed.
28080         * modules/strtod-tests (Makefile.am): Likewise.
28081
28082 2010-07-11  Pádraig Brady  <P@draigBrady.com>
28083             Bruno Haible  <bruno@clisp.org>
28084
28085         unistr/u8-strchr: Optimize ASCII argument case.
28086         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
28087
28088 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
28089
28090         (x)memcoll: minor tweaks
28091         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
28092         is after the type that it qualifies.
28093         (memcoll0): Likewise.
28094         * lib/memcoll.h (memcoll0): Likewise.
28095         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
28096         * lib/xmemcoll.h (xmemcoll0): Likewise.
28097         * lib/memcoll.c (memcoll0): Correct the comment.  This function
28098         differs from memcoll in that the NUL byte is part of the argument.
28099         Omit the abort-checks, as performance is a real issue here.  Plus,
28100         the checks were wrong anyway (an off-by-one error).  Omit local
28101         variable 'diff', as it's a bit clearer that way.
28102         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
28103         no longer needed.
28104
28105 2010-07-08  Chen Guo <chenguo4@yahoo.com>
28106
28107         (x)memcoll: speedup when input is known to be NUL delimited
28108         * lib/memcoll.c: Include stdlib.
28109         (memcoll0): New function.
28110         (strcoll_loop): New function, refactored for use in both memcoll
28111         and memcoll0.
28112         * lib/memcoll.h (memcoll0): Add prototype.
28113         * lib/xmemcoll.c (xmemcoll0): New function.
28114         (collate_error): New function, refactored for use in both xmemcoll
28115         and xmemcoll0.
28116         * lib/xmemcoll.h (xmemcoll0): Add prototype.
28117         * m4/memcoll.m4: add inline invocation.
28118
28119 2010-07-06  Pádraig Brady  <P@draigBrady.com>
28120
28121         * build-aux/bootstrap: Remove any local translations
28122         from the translation project synchronization directory,
28123         so that local only translations are not distributed.
28124
28125 2010-07-04  Bruno Haible  <bruno@clisp.org>
28126
28127         fsusage: Clarify which code applies to which platforms.
28128         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
28129         platform.
28130         * lib/fsusage.c (get_fs_usage): Likewise.
28131
28132 2010-07-04  Bruno Haible  <bruno@clisp.org>
28133
28134         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
28135         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
28136         Reported by Martin Lambers <marlam@marlam.de>.
28137
28138 2010-07-04  Jim Meyering  <meyering@redhat.com>
28139
28140         hash: once again explicitly disallow insertion of NULL
28141         * lib/hash.c (hash_insert0): Reinstate just-removed test:
28142         inserting a NULL pointer cannot work with these functions.
28143         Add a comment with details.
28144         This reverts part of the 2010-07-01 commit, 5bef1a35
28145         "hash: extend module to deal with non-pointer keys".
28146
28147 2010-07-01  Bruno Haible  <bruno@clisp.org>
28148
28149         stdbool: Update doc.
28150         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
28151         Info from Christian Weisgerber <naddy@mips.inka.de>.
28152
28153 2010-07-01  Jim Meyering  <meyering@redhat.com>
28154
28155         hash: extend module to deal with non-pointer keys
28156         * lib/hash.c (hash_insert0): New interface, much like hash_insert
28157         but that allows insertion of non-pointer entries.
28158         Do not disallow an ENTRY value of NULL.
28159         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
28160         * lib/hash.h (hash_insert0): Declare.
28161
28162 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28163
28164         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
28165         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
28166         not present (i.e. with autoconf 2.59 and when using gettextize, not
28167         gnulib), require AC_GNU_SOURCE instead.
28168
28169 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
28170
28171         idpriv-drop: Fix tests.
28172         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
28173         not to the test-idpriv-droptemp program.
28174
28175 2010-06-29  Bruno Haible  <bruno@clisp.org>
28176
28177         string: Fix syntax error with g++ 2.96.
28178         * lib/string.in.h (__pure__): Remove definition.
28179         (_GL_ATTRIBUTE_PURE): New macro.
28180         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
28181         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
28182         Reported by Christian Weisgerber <naddy@mips.inka.de>.
28183
28184 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
28185
28186         unitypes: Fix bug introduced on 2010-05-18.
28187         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
28188
28189 2010-06-22  Eric Blake  <eblake@redhat.com>
28190
28191         memmem: slight optimization
28192         * lib/str-two-way.h (critical_factorization): Update comments.
28193         Reduce work during factorization phase.
28194         Reported by Carlos Bueno <carlos@bueno.org>.
28195
28196 2010-06-21  Bruno Haible  <bruno@clisp.org>
28197
28198         Fix HAVE_CALLOC_POSIX misnomer.
28199         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
28200         !HAVE_CALLOC_POSIX.
28201         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
28202         HAVE_CALLOC_POSIX.
28203         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
28204         instead of HAVE_CALLOC_POSIX.
28205         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
28206         HAVE_CALLOC_POSIX.
28207
28208         Use modern idiom for calloc() replacement.
28209         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
28210         AC_FUNC_CALLOC.
28211         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
28212         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
28213         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28214         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
28215         (gl_REPLACE_CALLOC): New macro.
28216
28217 2010-06-21  Bruno Haible  <bruno@clisp.org>
28218
28219         Fix HAVE_REALLOC_POSIX misnomer.
28220         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
28221         !HAVE_REALLOC_POSIX.
28222         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
28223         HAVE_REALLOC_POSIX.
28224         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
28225         instead of HAVE_REALLOC_POSIX.
28226         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
28227         HAVE_REALLOC_POSIX.
28228
28229         Use modern idiom for realloc() replacement.
28230         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
28231         AC_FUNC_REALLOC.
28232         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
28233         Autoconf's AC_FUNC_REALLOC.
28234         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28235         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
28236         (gl_REPLACE_REALLOC): New macro.
28237         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
28238
28239 2010-06-21  Bruno Haible  <bruno@clisp.org>
28240
28241         Fix HAVE_MALLOC_POSIX misnomer.
28242         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
28243         !HAVE_MALLOC_POSIX.
28244         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
28245         HAVE_MALLOC_POSIX.
28246         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
28247         instead of HAVE_MALLOC_POSIX.
28248         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
28249         HAVE_MALLOC_POSIX.
28250
28251         Use modern idiom for malloc() replacement.
28252         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
28253         AC_FUNC_MALLOC.
28254         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
28255         Autoconf's AC_FUNC_MALLOC.
28256         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28257         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
28258         (gl_REPLACE_MALLOC): New macro.
28259         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
28260
28261 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
28262
28263         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
28264         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
28265         This macro takes 3 arguments, not 4.
28266
28267 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
28268
28269         ipv6: fix detection under mingw
28270         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
28271         in6_addr.
28272
28273 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
28274
28275         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
28276         that strtod() works when cross-compiling to a glibc version known
28277         to work.
28278
28279 2010-06-15  Bruno Haible  <bruno@clisp.org>
28280
28281         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
28282
28283 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
28284
28285         select: Correct timeout.
28286         * lib/select.c (rpl_select): Compute wait_timeout correctly.
28287
28288 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28289
28290         git-version-gen: init shell var to avoid env var influence
28291         * build-aux/git-version-gen (v): Init shell var to empty.
28292
28293 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
28294
28295         priv-set: Don't assume that priv.h exists merely because getppriv does.
28296         See Jan Andersen's bug report about AIX 5L in
28297         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
28298         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
28299         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
28300         * lib/priv-set.h: Likewise.
28301         * tests/test-priv-set.c: Likewise.
28302
28303 2010-06-13  Bruno Haible  <bruno@clisp.org>
28304
28305         relocatable: Make it easier to test whether to install wrappers.
28306         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
28307         RELOCATABLE_VIA_WRAPPER.
28308
28309 2010-06-13  Bruno Haible  <bruno@clisp.org>
28310
28311         gnulib-tool: Display specified modules and dependencies differently.
28312         * gnulib-tool (func_show_module_list): New function.
28313         (func_import, func_create_testdir): Invoke it.
28314         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
28315
28316 2010-06-13  Bruno Haible  <bruno@clisp.org>
28317
28318         gnulib-tool: Align code of func_import and func_create_testdir.
28319         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
28320         specified_modules.
28321
28322 2010-06-12  Jim Meyering  <meyering@redhat.com>
28323
28324         test-inttostr: avoid spurious failure on Solaris 9
28325         * tests/test-inttostr.c (main): Skip the test when snprintf fails
28326         to accept "%ju".  Reported by Bruno Haible.
28327
28328 2010-06-11  Jim Meyering  <meyering@redhat.com>
28329
28330         test-sys_socket: mark variables as used more readably
28331         * tests/test-sys_socket.c (main): Mark otherwise unused variables
28332         as "used" explicitly via (void) statement casts.  This is more
28333         readable than using them in an artificial return expression.
28334         Suggestion from Bruno Haible.
28335
28336 2010-06-11  Bruno Haible  <bruno@clisp.org>
28337
28338         Avoid some more warnings from "gcc -Wwrite-strings".
28339         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
28340         to 'const char *'.
28341         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
28342         * tests/test-c-strcasestr.c (main): Likewise.
28343         * tests/test-mbscasestr1.c (main): Likewise.
28344         * tests/test-mbscasestr2.c (main): Likewise.
28345         * tests/test-memmem.c (main): Likewise.
28346         * tests/test-strstr.c (main): Likewise.
28347         * tests/test-strcasestr.c (main): Likewise.
28348
28349 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28350
28351         init.sh: change framework_failure_ to fail with status 99, not 1
28352         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
28353         automake's parallel-tests rule that this is an unexpected failure,
28354         even if the test is listed in XFAIL_TESTS.
28355
28356 2010-06-11  Jim Meyering  <meyering@redhat.com>
28357
28358         test-inttostr: avoid warnings about 4-6KB literal strings
28359         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
28360         Include "macros.h", for its definition of ASSERT.
28361         (CK): s/assert/ASSERT/
28362         * modules/inttostr-tests (Files): Add macros.h.
28363
28364         init.sh: don't use $ME_ or skip_ before they are defined
28365         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
28366         their first uses.  Also hoist their companions: warn_, fail_,
28367         framework_failure_, $stderr_fileno.  Prompted by a patch from
28368         Stefano Lattarini.
28369
28370         test-sys_socket: avoid set-but-not-used warnings from gcc
28371         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
28372         avoid warning about set-but-not-used variables.
28373
28374         test-xvasprintf: avoid 'const' discard warnings
28375         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
28376         "const" when assigning from literal strings.
28377         (test_xasprintf): Add "void" in function argument list to placate
28378         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
28379
28380         tests: avoid compilation warnings in argmatch and exclude tests...
28381         in packages that define ARGMATCH_DIE_DECL, like coreutils.
28382         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
28383         Since it always exits, declare with the "noreturn" attribute.
28384         * tests/test-argmatch.c: Likewise.
28385
28386         tests: avoid 'const' discard warnings in mbsstr tests
28387         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
28388         * tests/test-mbsstr2.c (main): Likewise.
28389
28390         test-verify: avoid warning from gcc's -Wmissing-declarations
28391         * tests/test-verify.c (function): Declare to be static.
28392
28393         test-inttostr.c: include <string.h> for use of strcmp
28394         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
28395
28396         test-linkat: avoid failed assertion on "other" architectures
28397         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
28398         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
28399         sparc: https://bugs.launchpad.net/bugs/591968
28400
28401 2010-06-11  Jim Meyering  <meyering@redhat.com>
28402
28403         printf.m4: avoid autoconf's "Expanded Before Required" warning
28404         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
28405         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
28406         autoconf warning.
28407
28408 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
28409
28410         Replacement header templates are now named with ".in", not "_".
28411         * doc/gnulib-intro.texi: Correct.
28412
28413 2010-06-10  Jim Meyering  <meyering@redhat.com>
28414
28415         inttostr-tests: depend on snprintf, not snprintf-posix
28416         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
28417         snprintf-posix, to avoid this aclocal failure:
28418           missing file gnulib-tests/vasnprintf.c
28419           configure.ac:45: error: expected source file, required through \
28420           AC_LIBSOURCES, not found
28421
28422 2010-06-10  Jim Meyering  <meyering@redhat.com>
28423
28424         inttostr: add a new function, inttostr, and tests
28425         The namesake function was not available.  The existence of the
28426         template file, inttostr.c makes its addition nontrivial.
28427         * lib/anytostr.c: Rename from inttostr.c.
28428         (anytostr): Rename from inttostr.
28429         * lib/inttostr.c: New file.
28430         * modules/inttostr (Files): Add anytostr.c.
28431         (Makefile.am): Set lib_SOURCES instead of ...
28432         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
28433         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
28434         * lib/offtostr.c: Likewise.
28435         * lib/uinttostr.c: Likewise.
28436         * lib/umaxtostr.c: Likewise.
28437         * modules/inttostr-tests: New file.
28438         * tests/test-inttostr.c: New file.  Test these functions.
28439
28440 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
28441             Bruno Haible  <bruno@clisp.org>
28442
28443         Add "Extending Gnulib" chapter to manual.
28444         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
28445         chapter.
28446         (Extending Gnulib): New chapter.
28447         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
28448         chapter.
28449
28450 2010-06-09  Bruno Haible  <bruno@clisp.org>
28451
28452         Avoid relocwrapper link errors due to gnulib replacement functions.
28453         * lib/areadlink.c: Use the system's malloc, realloc functions.
28454         (areadlink): Set errno to ENOMEM explicitly.
28455         * modules/areadlink (Depends-on): Remove malloc-posix.
28456         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28457
28458 2010-06-09  Bruno Haible  <bruno@clisp.org>
28459
28460         Avoid relocwrapper link errors due to gnulib replacement functions.
28461         * lib/canonicalize-lgpl.c: Use the system's malloc function.
28462         * lib/malloca.c: Likewise.
28463         * lib/relocatable.c: Likewise.
28464         * lib/progreloc.c: Use the system's malloc, sprintf functions.
28465         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
28466         * lib/setenv.c: Use the system's malloc, realloc functions.
28467         * lib/strerror.c: Use the system's sprintf function.
28468         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28469
28470 2010-06-04  Bruno Haible  <bruno@clisp.org>
28471
28472         Prefer documented low-level autoconf macro names.
28473         * m4/lib-link.m4: Use m4_translit instead of translit.
28474         * m4/environ.m4: Likewise.
28475         * m4/mathfunc.m4: Likewise.
28476         * m4/onceonly.m4: Likewise.
28477         * m4/stdint.m4: Likewise.
28478         Suggested by Eric Blake.
28479
28480 2010-06-04  Martin Lambers  <marlam@marlam.de>
28481             Bruno Haible  <bruno@clisp.org>
28482
28483         havelib: Allow library names with '+' characters.
28484         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
28485         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
28486
28487 2010-06-09  Bruno Haible  <bruno@clisp.org>
28488
28489         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
28490         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
28491         realloc failed.
28492
28493 2010-06-08  Peter Simons  <simons@cryp.to>
28494
28495         maint.mk: make the news-check rule more configurable
28496         * top/maint.mk (news-check-lines-spec): New variable.
28497         (news-check): Use "sed -n 1,10p" in place of "head".
28498
28499 2010-06-07  Jim Meyering  <meyering@redhat.com>
28500
28501         do-release-commit-and-tag: fix typo in --help
28502         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
28503
28504         regex: avoid new dead-code warning with gcc-4.6.0
28505         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
28506         if-block containing a while-loop.  It's been unused for at least
28507         5 years.
28508
28509 2010-06-05  Bruno Haible  <bruno@clisp.org>
28510
28511         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
28512         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
28513
28514 2010-06-04  Bruno Haible  <bruno@clisp.org>
28515
28516         Update to GNU gettext 0.18.1.
28517         * modules/gettext (configure.ac): Require gettext infrastructure from
28518         version 0.18.1.
28519
28520 2010-06-03  Bruno Haible  <bruno@clisp.org>
28521
28522         Don't use AC_LIBOBJ with file names in subdirectories.
28523         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
28524         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
28525         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
28526         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
28527         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
28528         gl_LIBUNISTRING_LIBSOURCE.
28529         (Makefile.am): Augment lib_SOURCES here, conditionally.
28530         * NEWS: Drop requirement for Automake option 'subdir-objects'.
28531
28532 2010-06-03  Bruno Haible  <bruno@clisp.org>
28533
28534         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
28535         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
28536         expansion does not end with a newline.
28537         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
28538         unnecessary newline.
28539
28540 2010-06-03  Bruno Haible  <bruno@clisp.org>
28541
28542         Reduce dependencies.
28543         * tests/test-quotearg.h: New file, extracted from
28544         tests/test-quotearg.c.
28545         * tests/test-quotearg-simple.c: New file, extracted from
28546         tests/test-quotearg.c.
28547         * tests/test-quotearg.c: Don't include <ctype.h>.
28548         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
28549         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
28550         use_quote_double_quotes, use_quotearg_colon): Moved to
28551         tests/test-quotearg.h.
28552         (results_g, flag_results, custom_quotes, custom_results): Moved
28553         to tests/test-quotearg-simple.c.
28554         (main): Moved the part that does not depend on gettext to
28555         tests/test-quotearg-simple.c. Return 77 if the test cannot be
28556         performed.
28557         * modules/quotearg-simple: New file.
28558         * modules/quotearg-simple-tests: New file.
28559         * modules/quotearg (Depends-on): Add quotearg-simple.
28560         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
28561         (Files): Add tests/test-quotearg.h.
28562         Reported by Paolo Bonzini.
28563
28564 2010-06-03  Bruno Haible  <bruno@clisp.org>
28565
28566         Reduce dependencies.
28567         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
28568
28569 2010-06-03  Bruno Haible  <bruno@clisp.org>
28570
28571         time: Undefine more broken macros.
28572         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
28573         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
28574         Reported by Eric Blake.
28575
28576 2010-06-03  Bruno Haible  <bruno@clisp.org>
28577
28578         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
28579         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
28580         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
28581         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
28582         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
28583         Reported by Ludovic Courtès <ludo@gnu.org>.
28584
28585 2010-06-02  Eric Blake  <eblake@redhat.com>
28586
28587         time: work with mingw + pthreads-win32 library
28588         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
28589         if timespec is defined only in pthread.h.
28590         * modules/time (Makefile.am): Substitute it.
28591         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
28592         <pthread.h>, when needed.
28593         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
28594         from the library.
28595
28596 2010-05-31  Bruno Haible  <bruno@clisp.org>
28597
28598         Avoid expanding two macros in the wrong order.
28599         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
28600         gl_LIBUNISTRING if it is defined.
28601         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
28602         autoconf >= 2.64.
28603         Reported by Ludovic Courtès <ludo@gnu.org>.
28604
28605 2010-05-27  Jim Meyering  <meyering@redhat.com>
28606
28607         maint.mk: also prohibit "#undef" of always-defined symbols
28608         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
28609         Allow more than one space before the symbol name.
28610         (sc_prohibit_always-defined_macros): Use grep's -E, now that
28611         the regexp uses alternation.
28612
28613 2010-05-26  Eric Blake  <eblake@redhat.com>
28614
28615         maint.mk: avoid echo -e
28616         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
28617         Convert all uses of echo -* to printf.
28618         Reported by Matthias Bolte.
28619
28620 2010-05-25  Bruno Haible  <bruno@clisp.org>
28621
28622         Update to GNU gettext 0.18, part 2.
28623         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
28624         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
28625
28626 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28627
28628         Add missing include in test-pwrite.c.
28629         * tests/test-pwrite.c: Include string.h, for strcmp.
28630
28631 2010-05-24  Bruno Haible  <bruno@clisp.org>
28632
28633         * NEWS: Mention requirement for Automake option 'subdir-objects'.
28634
28635 2010-05-24  Bruno Haible  <bruno@clisp.org>
28636
28637         Don't use conversion with transliteration in u{8,16,32}_strcoll.
28638         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
28639         iconveh_error argument.
28640         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
28641         U_STRCONV_TO_LOCALE.
28642         * lib/unistr/u16-strcoll.c: Likewise.
28643         * lib/unistr/u32-strcoll.c: Likewise.
28644         * modules/unistr/u8-strcoll (Depends-on): Add
28645         uniconv/u8-strconv-to-enc, localcharset. Remove
28646         uniconv/u8-strconv-to-locale.
28647         (configure.ac): Bump version number.
28648         * modules/unistr/u16-strcoll (Depends-on): Add
28649         uniconv/u16-strconv-to-enc, localcharset. Remove
28650         uniconv/u16-strconv-to-locale.
28651         (configure.ac): Bump version number.
28652         * modules/unistr/u32-strcoll (Depends-on): Add
28653         uniconv/u32-strconv-to-enc, localcharset. Remove
28654         uniconv/u32-strconv-to-locale.
28655         (configure.ac): Bump version number.
28656
28657 2010-05-24  Bruno Haible  <bruno@clisp.org>
28658
28659         Avoid a test failure on NetBSD 5.0.
28660         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
28661         an iconv() bug.
28662
28663 2010-05-24  Bruno Haible  <bruno@clisp.org>
28664
28665         Adjust #include directive style.
28666         * modules/regex (Includes): Recommend to write <regex.h>.
28667
28668 2010-05-24  Bruno Haible  <bruno@clisp.org>
28669
28670         regex: Don't require alloca.
28671         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
28672         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
28673         only inside if (0).
28674
28675 2010-05-23  Jim Meyering  <meyering@redhat.com>
28676
28677         test-renameat.c: include <sys/stat.h>
28678         * tests/test-renameat.c: Include <sys/stat.h>; required for
28679         definition of S_IS* macros.
28680
28681 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
28682
28683         Update maintainer documentation for 'relocatable-prog' module.
28684         * doc/relocatable-maint.texi: Update.
28685         Comments by Bruno Haible.
28686
28687 2010-05-23  Bruno Haible  <bruno@clisp.org>
28688
28689         git-merge-changelog: Enable --split-merged-entry by default.
28690         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
28691         (usage): Don't mention this option any more.
28692         Reported by Ralf Wildenhues.
28693
28694 2010-05-23  Jim Meyering  <meyering@redhat.com>
28695
28696         test-pwrite: do not leave behind a test file named "out"
28697         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
28698         The trivial-looking use of init.sh is really necessary.
28699         It ensures that the temporary file, "out", is created in
28700         a temporary directory, and removed upon termination.
28701         * tests/test-pwrite.sh: Re-add file.
28702         * modules/pwrite-tests: Reference it.
28703
28704 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28705
28706         Fix output redirection buglet in init.sh.
28707         * tests/init.sh: Fix redirection of stderr.
28708
28709 2010-05-20  Simon Josefsson  <simon@josefsson.org>
28710
28711         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
28712
28713 2010-05-17  Simon Josefsson  <simon@josefsson.org>
28714
28715         * modules/valgrind-tests: New file.
28716         * m4/valgrind-tests.m4: New file.
28717         * doc/valgrind-tests.texi: New file.
28718         * doc/gnulib.texi (Running self-tests under valgrind): New
28719         section.
28720
28721 2010-05-19  Bruno Haible  <bruno@clisp.org>
28722
28723         Clean up dead code in recent commit.
28724         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
28725         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
28726         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
28727         Suggested by Paolo Bonzini.
28728
28729 2010-05-19  Bruno Haible  <bruno@clisp.org>
28730
28731         Avoid valgrind error reports from libunistring.
28732         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
28733         * modules/libunistring (Files): Add it.
28734         * modules/libunistring-optional (Files): Likewise.
28735
28736 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
28737             Bruno Haible  <bruno@clisp.org>
28738
28739         New module 'libunistring-optional'.
28740         * modules/libunistring-optional: New file.
28741         * m4/libunistring-base.m4: New file.
28742         * m4/libunistring-optional.m4: New file.
28743         * lib/unicase.in.h: Renamed from lib/unicase.h.
28744         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
28745         * lib/unictype.in.h: Renamed from lib/unictype.h.
28746         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
28747         * lib/uniname.in.h: Renamed from lib/uniname.h.
28748         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
28749         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
28750         * lib/unistr.in.h: Renamed from lib/unistr.h.
28751         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
28752         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
28753         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
28754         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
28755         gl_LIBUNISTRING. If the library was found, determine the installed
28756         version and set LIBUNISTRING_VERSION.
28757         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
28758         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
28759         handle a configuration option --with-included-libunistring.
28760         * modules/libunistring (Files): Add m4/absolute-header.m4.
28761         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
28762         Add m4/libunistring-base.m4.
28763         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28764         (Makefile.am): Build unicase.h from unicase.in.h.
28765         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
28766         Add m4/libunistring-base.m4.
28767         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28768         (Makefile.am): Build uniconv.h from uniconv.in.h.
28769         * modules/unictype/base (Files): Use unictype.in.h instead of
28770         unictype.h. Add m4/libunistring-base.m4.
28771         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28772         (Makefile.am): Build unictype.h from unictype.in.h.
28773         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
28774         Add m4/libunistring-base.m4.
28775         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28776         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
28777         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
28778         Add m4/libunistring-base.m4.
28779         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28780         (Makefile.am): Build uniname.h from uniname.in.h.
28781         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
28782         Add m4/libunistring-base.m4.
28783         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28784         (Makefile.am): Build uninorm.h from uninorm.in.h.
28785         * modules/unistdio/base (Files): Use unistdio.in.h instead of
28786         unistdio.h. Add m4/libunistring-base.m4.
28787         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28788         (Makefile.am): Build unistdio.h from unistdio.in.h.
28789         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
28790         Add m4/libunistring-base.m4.
28791         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28792         (Makefile.am): Build unistr.h from unistr.in.h.
28793         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
28794         Add m4/libunistring-base.m4.
28795         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28796         (Makefile.am): Build unitypes.h from unitypes.in.h.
28797         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
28798         Add m4/libunistring-base.m4.
28799         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28800         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
28801         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
28802         uniwidth.h. Add m4/libunistring-base.m4.
28803         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28804         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
28805         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
28806         instead of augmenting lib_SOURCES.
28807         * modules/unicase/empty-suffix-context: Likewise.
28808         * modules/unicase/locale-language: Likewise.
28809         * modules/unicase/tolower: Likewise.
28810         * modules/unicase/totitle: Likewise.
28811         * modules/unicase/toupper: Likewise.
28812         * modules/unicase/u8-casecmp: Likewise.
28813         * modules/unicase/u8-casecoll: Likewise.
28814         * modules/unicase/u8-casefold: Likewise.
28815         * modules/unicase/u8-casexfrm: Likewise.
28816         * modules/unicase/u8-ct-casefold: Likewise.
28817         * modules/unicase/u8-ct-tolower: Likewise.
28818         * modules/unicase/u8-ct-totitle: Likewise.
28819         * modules/unicase/u8-ct-toupper: Likewise.
28820         * modules/unicase/u8-is-cased: Likewise.
28821         * modules/unicase/u8-is-casefolded: Likewise.
28822         * modules/unicase/u8-is-lowercase: Likewise.
28823         * modules/unicase/u8-is-titlecase: Likewise.
28824         * modules/unicase/u8-is-uppercase: Likewise.
28825         * modules/unicase/u8-prefix-context: Likewise.
28826         * modules/unicase/u8-suffix-context: Likewise.
28827         * modules/unicase/u8-tolower: Likewise.
28828         * modules/unicase/u8-totitle: Likewise.
28829         * modules/unicase/u8-toupper: Likewise.
28830         * modules/unicase/u16-casecmp: Likewise.
28831         * modules/unicase/u16-casecoll: Likewise.
28832         * modules/unicase/u16-casefold: Likewise.
28833         * modules/unicase/u16-casexfrm: Likewise.
28834         * modules/unicase/u16-ct-casefold: Likewise.
28835         * modules/unicase/u16-ct-tolower: Likewise.
28836         * modules/unicase/u16-ct-totitle: Likewise.
28837         * modules/unicase/u16-ct-toupper: Likewise.
28838         * modules/unicase/u16-is-cased: Likewise.
28839         * modules/unicase/u16-is-casefolded: Likewise.
28840         * modules/unicase/u16-is-lowercase: Likewise.
28841         * modules/unicase/u16-is-titlecase: Likewise.
28842         * modules/unicase/u16-is-uppercase: Likewise.
28843         * modules/unicase/u16-prefix-context: Likewise.
28844         * modules/unicase/u16-suffix-context: Likewise.
28845         * modules/unicase/u16-tolower: Likewise.
28846         * modules/unicase/u16-totitle: Likewise.
28847         * modules/unicase/u16-toupper: Likewise.
28848         * modules/unicase/u32-casecmp: Likewise.
28849         * modules/unicase/u32-casecoll: Likewise.
28850         * modules/unicase/u32-casefold: Likewise.
28851         * modules/unicase/u32-casexfrm: Likewise.
28852         * modules/unicase/u32-ct-casefold: Likewise.
28853         * modules/unicase/u32-ct-tolower: Likewise.
28854         * modules/unicase/u32-ct-totitle: Likewise.
28855         * modules/unicase/u32-ct-toupper: Likewise.
28856         * modules/unicase/u32-is-cased: Likewise.
28857         * modules/unicase/u32-is-casefolded: Likewise.
28858         * modules/unicase/u32-is-lowercase: Likewise.
28859         * modules/unicase/u32-is-titlecase: Likewise.
28860         * modules/unicase/u32-is-uppercase: Likewise.
28861         * modules/unicase/u32-prefix-context: Likewise.
28862         * modules/unicase/u32-suffix-context: Likewise.
28863         * modules/unicase/u32-tolower: Likewise.
28864         * modules/unicase/u32-totitle: Likewise.
28865         * modules/unicase/u32-toupper: Likewise.
28866         * modules/unicase/ulc-casecmp: Likewise.
28867         * modules/unicase/ulc-casecoll: Likewise.
28868         * modules/unicase/ulc-casexfrm: Likewise.
28869         * modules/uniconv/u8-conv-from-enc: Likewise.
28870         * modules/uniconv/u8-conv-to-enc: Likewise.
28871         * modules/uniconv/u8-strconv-from-enc: Likewise.
28872         * modules/uniconv/u8-strconv-from-locale: Likewise.
28873         * modules/uniconv/u8-strconv-to-enc: Likewise.
28874         * modules/uniconv/u8-strconv-to-locale: Likewise.
28875         * modules/uniconv/u16-conv-from-enc: Likewise.
28876         * modules/uniconv/u16-conv-to-enc: Likewise.
28877         * modules/uniconv/u16-strconv-from-enc: Likewise.
28878         * modules/uniconv/u16-strconv-from-locale: Likewise.
28879         * modules/uniconv/u16-strconv-to-enc: Likewise.
28880         * modules/uniconv/u16-strconv-to-locale: Likewise.
28881         * modules/uniconv/u32-conv-from-enc: Likewise.
28882         * modules/uniconv/u32-conv-to-enc: Likewise.
28883         * modules/uniconv/u32-strconv-from-enc: Likewise.
28884         * modules/uniconv/u32-strconv-from-locale: Likewise.
28885         * modules/uniconv/u32-strconv-to-enc: Likewise.
28886         * modules/uniconv/u32-strconv-to-locale: Likewise.
28887         * modules/unictype/bidicategory-byname: Likewise.
28888         * modules/unictype/bidicategory-name: Likewise.
28889         * modules/unictype/bidicategory-of: Likewise.
28890         * modules/unictype/bidicategory-test: Likewise.
28891         * modules/unictype/block-list: Likewise.
28892         * modules/unictype/block-test: Likewise.
28893         * modules/unictype/category-C: Likewise.
28894         * modules/unictype/category-Cc: Likewise.
28895         * modules/unictype/category-Cf: Likewise.
28896         * modules/unictype/category-Cn: Likewise.
28897         * modules/unictype/category-Co: Likewise.
28898         * modules/unictype/category-Cs: Likewise.
28899         * modules/unictype/category-L: Likewise.
28900         * modules/unictype/category-Ll: Likewise.
28901         * modules/unictype/category-Lm: Likewise.
28902         * modules/unictype/category-Lo: Likewise.
28903         * modules/unictype/category-Lt: Likewise.
28904         * modules/unictype/category-Lu: Likewise.
28905         * modules/unictype/category-M: Likewise.
28906         * modules/unictype/category-Mc: Likewise.
28907         * modules/unictype/category-Me: Likewise.
28908         * modules/unictype/category-Mn: Likewise.
28909         * modules/unictype/category-N: Likewise.
28910         * modules/unictype/category-Nd: Likewise.
28911         * modules/unictype/category-Nl: Likewise.
28912         * modules/unictype/category-No: Likewise.
28913         * modules/unictype/category-P: Likewise.
28914         * modules/unictype/category-Pc: Likewise.
28915         * modules/unictype/category-Pd: Likewise.
28916         * modules/unictype/category-Pe: Likewise.
28917         * modules/unictype/category-Pf: Likewise.
28918         * modules/unictype/category-Pi: Likewise.
28919         * modules/unictype/category-Po: Likewise.
28920         * modules/unictype/category-Ps: Likewise.
28921         * modules/unictype/category-S: Likewise.
28922         * modules/unictype/category-Sc: Likewise.
28923         * modules/unictype/category-Sk: Likewise.
28924         * modules/unictype/category-Sm: Likewise.
28925         * modules/unictype/category-So: Likewise.
28926         * modules/unictype/category-Z: Likewise.
28927         * modules/unictype/category-Zl: Likewise.
28928         * modules/unictype/category-Zp: Likewise.
28929         * modules/unictype/category-Zs: Likewise.
28930         * modules/unictype/category-and: Likewise.
28931         * modules/unictype/category-and-not: Likewise.
28932         * modules/unictype/category-byname: Likewise.
28933         * modules/unictype/category-name: Likewise.
28934         * modules/unictype/category-none: Likewise.
28935         * modules/unictype/category-of: Likewise.
28936         * modules/unictype/category-or: Likewise.
28937         * modules/unictype/category-test: Likewise.
28938         * modules/unictype/combining-class: Likewise.
28939         * modules/unictype/ctype-alnum: Likewise.
28940         * modules/unictype/ctype-alpha: Likewise.
28941         * modules/unictype/ctype-blank: Likewise.
28942         * modules/unictype/ctype-cntrl: Likewise.
28943         * modules/unictype/ctype-digit: Likewise.
28944         * modules/unictype/ctype-graph: Likewise.
28945         * modules/unictype/ctype-lower: Likewise.
28946         * modules/unictype/ctype-print: Likewise.
28947         * modules/unictype/ctype-punct: Likewise.
28948         * modules/unictype/ctype-space: Likewise.
28949         * modules/unictype/ctype-upper: Likewise.
28950         * modules/unictype/ctype-xdigit: Likewise.
28951         * modules/unictype/decimal-digit: Likewise.
28952         * modules/unictype/digit: Likewise.
28953         * modules/unictype/mirror: Likewise.
28954         * modules/unictype/numeric: Likewise.
28955         * modules/unictype/property-alphabetic: Likewise.
28956         * modules/unictype/property-ascii-hex-digit: Likewise.
28957         * modules/unictype/property-bidi-arabic-digit: Likewise.
28958         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
28959         * modules/unictype/property-bidi-block-separator: Likewise.
28960         * modules/unictype/property-bidi-boundary-neutral: Likewise.
28961         * modules/unictype/property-bidi-common-separator: Likewise.
28962         * modules/unictype/property-bidi-control: Likewise.
28963         * modules/unictype/property-bidi-embedding-or-override: Likewise.
28964         * modules/unictype/property-bidi-eur-num-separator: Likewise.
28965         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
28966         * modules/unictype/property-bidi-european-digit: Likewise.
28967         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
28968         * modules/unictype/property-bidi-left-to-right: Likewise.
28969         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
28970         * modules/unictype/property-bidi-other-neutral: Likewise.
28971         * modules/unictype/property-bidi-pdf: Likewise.
28972         * modules/unictype/property-bidi-segment-separator: Likewise.
28973         * modules/unictype/property-bidi-whitespace: Likewise.
28974         * modules/unictype/property-byname: Likewise.
28975         * modules/unictype/property-combining: Likewise.
28976         * modules/unictype/property-composite: Likewise.
28977         * modules/unictype/property-currency-symbol: Likewise.
28978         * modules/unictype/property-dash: Likewise.
28979         * modules/unictype/property-decimal-digit: Likewise.
28980         * modules/unictype/property-default-ignorable-code-point: Likewise.
28981         * modules/unictype/property-deprecated: Likewise.
28982         * modules/unictype/property-diacritic: Likewise.
28983         * modules/unictype/property-extender: Likewise.
28984         * modules/unictype/property-format-control: Likewise.
28985         * modules/unictype/property-grapheme-base: Likewise.
28986         * modules/unictype/property-grapheme-extend: Likewise.
28987         * modules/unictype/property-grapheme-link: Likewise.
28988         * modules/unictype/property-hex-digit: Likewise.
28989         * modules/unictype/property-hyphen: Likewise.
28990         * modules/unictype/property-id-continue: Likewise.
28991         * modules/unictype/property-id-start: Likewise.
28992         * modules/unictype/property-ideographic: Likewise.
28993         * modules/unictype/property-ids-binary-operator: Likewise.
28994         * modules/unictype/property-ids-trinary-operator: Likewise.
28995         * modules/unictype/property-ignorable-control: Likewise.
28996         * modules/unictype/property-iso-control: Likewise.
28997         * modules/unictype/property-join-control: Likewise.
28998         * modules/unictype/property-left-of-pair: Likewise.
28999         * modules/unictype/property-line-separator: Likewise.
29000         * modules/unictype/property-logical-order-exception: Likewise.
29001         * modules/unictype/property-lowercase: Likewise.
29002         * modules/unictype/property-math: Likewise.
29003         * modules/unictype/property-non-break: Likewise.
29004         * modules/unictype/property-not-a-character: Likewise.
29005         * modules/unictype/property-numeric: Likewise.
29006         * modules/unictype/property-other-alphabetic: Likewise.
29007         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
29008         * modules/unictype/property-other-grapheme-extend: Likewise.
29009         * modules/unictype/property-other-id-continue: Likewise.
29010         * modules/unictype/property-other-id-start: Likewise.
29011         * modules/unictype/property-other-lowercase: Likewise.
29012         * modules/unictype/property-other-math: Likewise.
29013         * modules/unictype/property-other-uppercase: Likewise.
29014         * modules/unictype/property-paired-punctuation: Likewise.
29015         * modules/unictype/property-paragraph-separator: Likewise.
29016         * modules/unictype/property-pattern-syntax: Likewise.
29017         * modules/unictype/property-pattern-white-space: Likewise.
29018         * modules/unictype/property-private-use: Likewise.
29019         * modules/unictype/property-punctuation: Likewise.
29020         * modules/unictype/property-quotation-mark: Likewise.
29021         * modules/unictype/property-radical: Likewise.
29022         * modules/unictype/property-sentence-terminal: Likewise.
29023         * modules/unictype/property-soft-dotted: Likewise.
29024         * modules/unictype/property-space: Likewise.
29025         * modules/unictype/property-terminal-punctuation: Likewise.
29026         * modules/unictype/property-test: Likewise.
29027         * modules/unictype/property-titlecase: Likewise.
29028         * modules/unictype/property-unassigned-code-value: Likewise.
29029         * modules/unictype/property-unified-ideograph: Likewise.
29030         * modules/unictype/property-uppercase: Likewise.
29031         * modules/unictype/property-variation-selector: Likewise.
29032         * modules/unictype/property-white-space: Likewise.
29033         * modules/unictype/property-xid-continue: Likewise.
29034         * modules/unictype/property-xid-start: Likewise.
29035         * modules/unictype/property-zero-width: Likewise.
29036         * modules/unictype/scripts: Likewise.
29037         * modules/unictype/syntax-c-ident: Likewise.
29038         * modules/unictype/syntax-c-whitespace: Likewise.
29039         * modules/unictype/syntax-java-ident: Likewise.
29040         * modules/unictype/syntax-java-whitespace: Likewise.
29041         * modules/unilbrk/u8-possible-linebreaks: Likewise.
29042         * modules/unilbrk/u8-width-linebreaks: Likewise.
29043         * modules/unilbrk/u16-possible-linebreaks: Likewise.
29044         * modules/unilbrk/u16-width-linebreaks: Likewise.
29045         * modules/unilbrk/u32-possible-linebreaks: Likewise.
29046         * modules/unilbrk/u32-width-linebreaks: Likewise.
29047         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
29048         * modules/unilbrk/ulc-width-linebreaks: Likewise.
29049         * modules/uniname/uniname: Likewise.
29050         * modules/uninorm/canonical-decomposition: Likewise.
29051         * modules/uninorm/composition: Likewise.
29052         * modules/uninorm/decomposing-form: Likewise.
29053         * modules/uninorm/decomposition: Likewise.
29054         * modules/uninorm/filter: Likewise.
29055         * modules/uninorm/nfc: Likewise.
29056         * modules/uninorm/nfd: Likewise.
29057         * modules/uninorm/nfkc: Likewise.
29058         * modules/uninorm/nfkd: Likewise.
29059         * modules/uninorm/u8-normalize: Likewise.
29060         * modules/uninorm/u8-normcmp: Likewise.
29061         * modules/uninorm/u8-normcoll: Likewise.
29062         * modules/uninorm/u8-normxfrm: Likewise.
29063         * modules/uninorm/u16-normalize: Likewise.
29064         * modules/uninorm/u16-normcmp: Likewise.
29065         * modules/uninorm/u16-normcoll: Likewise.
29066         * modules/uninorm/u16-normxfrm: Likewise.
29067         * modules/uninorm/u32-normalize: Likewise.
29068         * modules/uninorm/u32-normcmp: Likewise.
29069         * modules/uninorm/u32-normcoll: Likewise.
29070         * modules/uninorm/u32-normxfrm: Likewise.
29071         * modules/unistdio/u8-asnprintf: Likewise.
29072         * modules/unistdio/u8-asprintf: Likewise.
29073         * modules/unistdio/u8-snprintf: Likewise.
29074         * modules/unistdio/u8-sprintf: Likewise.
29075         * modules/unistdio/u8-u8-asnprintf: Likewise.
29076         * modules/unistdio/u8-u8-asprintf: Likewise.
29077         * modules/unistdio/u8-u8-snprintf: Likewise.
29078         * modules/unistdio/u8-u8-sprintf: Likewise.
29079         * modules/unistdio/u8-u8-vasnprintf: Likewise.
29080         * modules/unistdio/u8-u8-vasprintf: Likewise.
29081         * modules/unistdio/u8-u8-vsnprintf: Likewise.
29082         * modules/unistdio/u8-u8-vsprintf: Likewise.
29083         * modules/unistdio/u8-vasnprintf: Likewise.
29084         * modules/unistdio/u8-vasprintf: Likewise.
29085         * modules/unistdio/u8-vsnprintf: Likewise.
29086         * modules/unistdio/u8-vsprintf: Likewise.
29087         * modules/unistdio/u16-asnprintf: Likewise.
29088         * modules/unistdio/u16-asprintf: Likewise.
29089         * modules/unistdio/u16-snprintf: Likewise.
29090         * modules/unistdio/u16-sprintf: Likewise.
29091         * modules/unistdio/u16-u16-asnprintf: Likewise.
29092         * modules/unistdio/u16-u16-asprintf: Likewise.
29093         * modules/unistdio/u16-u16-snprintf: Likewise.
29094         * modules/unistdio/u16-u16-sprintf: Likewise.
29095         * modules/unistdio/u16-u16-vasnprintf: Likewise.
29096         * modules/unistdio/u16-u16-vasprintf: Likewise.
29097         * modules/unistdio/u16-u16-vsnprintf: Likewise.
29098         * modules/unistdio/u16-u16-vsprintf: Likewise.
29099         * modules/unistdio/u16-vasnprintf: Likewise.
29100         * modules/unistdio/u16-vasprintf: Likewise.
29101         * modules/unistdio/u16-vsnprintf: Likewise.
29102         * modules/unistdio/u16-vsprintf: Likewise.
29103         * modules/unistdio/u32-asnprintf: Likewise.
29104         * modules/unistdio/u32-asprintf: Likewise.
29105         * modules/unistdio/u32-snprintf: Likewise.
29106         * modules/unistdio/u32-sprintf: Likewise.
29107         * modules/unistdio/u32-u32-asnprintf: Likewise.
29108         * modules/unistdio/u32-u32-asprintf: Likewise.
29109         * modules/unistdio/u32-u32-snprintf: Likewise.
29110         * modules/unistdio/u32-u32-sprintf: Likewise.
29111         * modules/unistdio/u32-u32-vasnprintf: Likewise.
29112         * modules/unistdio/u32-u32-vasprintf: Likewise.
29113         * modules/unistdio/u32-u32-vsnprintf: Likewise.
29114         * modules/unistdio/u32-u32-vsprintf: Likewise.
29115         * modules/unistdio/u32-vasnprintf: Likewise.
29116         * modules/unistdio/u32-vasprintf: Likewise.
29117         * modules/unistdio/u32-vsnprintf: Likewise.
29118         * modules/unistdio/u32-vsprintf: Likewise.
29119         * modules/unistdio/ulc-asnprintf: Likewise.
29120         * modules/unistdio/ulc-asprintf: Likewise.
29121         * modules/unistdio/ulc-fprintf: Likewise.
29122         * modules/unistdio/ulc-snprintf: Likewise.
29123         * modules/unistdio/ulc-sprintf: Likewise.
29124         * modules/unistdio/ulc-vasnprintf: Likewise.
29125         * modules/unistdio/ulc-vasprintf: Likewise.
29126         * modules/unistdio/ulc-vfprintf: Likewise.
29127         * modules/unistdio/ulc-vsnprintf: Likewise.
29128         * modules/unistdio/ulc-vsprintf: Likewise.
29129         * modules/unistr/u8-check: Likewise.
29130         * modules/unistr/u8-chr: Likewise.
29131         * modules/unistr/u8-cmp: Likewise.
29132         * modules/unistr/u8-cmp2: Likewise.
29133         * modules/unistr/u8-cpy: Likewise.
29134         * modules/unistr/u8-cpy-alloc: Likewise.
29135         * modules/unistr/u8-endswith: Likewise.
29136         * modules/unistr/u8-mblen: Likewise.
29137         * modules/unistr/u8-mbsnlen: Likewise.
29138         * modules/unistr/u8-mbtouc: Likewise.
29139         * modules/unistr/u8-mbtouc-unsafe: Likewise.
29140         * modules/unistr/u8-mbtoucr: Likewise.
29141         * modules/unistr/u8-move: Likewise.
29142         * modules/unistr/u8-next: Likewise.
29143         * modules/unistr/u8-prev: Likewise.
29144         * modules/unistr/u8-set: Likewise.
29145         * modules/unistr/u8-startswith: Likewise.
29146         * modules/unistr/u8-stpcpy: Likewise.
29147         * modules/unistr/u8-stpncpy: Likewise.
29148         * modules/unistr/u8-strcat: Likewise.
29149         * modules/unistr/u8-strchr: Likewise.
29150         * modules/unistr/u8-strcmp: Likewise.
29151         * modules/unistr/u8-strcoll: Likewise.
29152         * modules/unistr/u8-strcpy: Likewise.
29153         * modules/unistr/u8-strcspn: Likewise.
29154         * modules/unistr/u8-strdup: Likewise.
29155         * modules/unistr/u8-strlen: Likewise.
29156         * modules/unistr/u8-strmblen: Likewise.
29157         * modules/unistr/u8-strmbtouc: Likewise.
29158         * modules/unistr/u8-strncat: Likewise.
29159         * modules/unistr/u8-strncmp: Likewise.
29160         * modules/unistr/u8-strncpy: Likewise.
29161         * modules/unistr/u8-strnlen: Likewise.
29162         * modules/unistr/u8-strpbrk: Likewise.
29163         * modules/unistr/u8-strrchr: Likewise.
29164         * modules/unistr/u8-strspn: Likewise.
29165         * modules/unistr/u8-strstr: Likewise.
29166         * modules/unistr/u8-strtok: Likewise.
29167         * modules/unistr/u8-to-u16: Likewise.
29168         * modules/unistr/u8-to-u32: Likewise.
29169         * modules/unistr/u8-uctomb: Likewise.
29170         * modules/unistr/u16-check: Likewise.
29171         * modules/unistr/u16-chr: Likewise.
29172         * modules/unistr/u16-cmp: Likewise.
29173         * modules/unistr/u16-cmp2: Likewise.
29174         * modules/unistr/u16-cpy: Likewise.
29175         * modules/unistr/u16-cpy-alloc: Likewise.
29176         * modules/unistr/u16-endswith: Likewise.
29177         * modules/unistr/u16-mblen: Likewise.
29178         * modules/unistr/u16-mbsnlen: Likewise.
29179         * modules/unistr/u16-mbtouc: Likewise.
29180         * modules/unistr/u16-mbtouc-unsafe: Likewise.
29181         * modules/unistr/u16-mbtoucr: Likewise.
29182         * modules/unistr/u16-move: Likewise.
29183         * modules/unistr/u16-next: Likewise.
29184         * modules/unistr/u16-prev: Likewise.
29185         * modules/unistr/u16-set: Likewise.
29186         * modules/unistr/u16-startswith: Likewise.
29187         * modules/unistr/u16-stpcpy: Likewise.
29188         * modules/unistr/u16-stpncpy: Likewise.
29189         * modules/unistr/u16-strcat: Likewise.
29190         * modules/unistr/u16-strchr: Likewise.
29191         * modules/unistr/u16-strcmp: Likewise.
29192         * modules/unistr/u16-strcoll: Likewise.
29193         * modules/unistr/u16-strcpy: Likewise.
29194         * modules/unistr/u16-strcspn: Likewise.
29195         * modules/unistr/u16-strdup: Likewise.
29196         * modules/unistr/u16-strlen: Likewise.
29197         * modules/unistr/u16-strmblen: Likewise.
29198         * modules/unistr/u16-strmbtouc: Likewise.
29199         * modules/unistr/u16-strncat: Likewise.
29200         * modules/unistr/u16-strncmp: Likewise.
29201         * modules/unistr/u16-strncpy: Likewise.
29202         * modules/unistr/u16-strnlen: Likewise.
29203         * modules/unistr/u16-strpbrk: Likewise.
29204         * modules/unistr/u16-strrchr: Likewise.
29205         * modules/unistr/u16-strspn: Likewise.
29206         * modules/unistr/u16-strstr: Likewise.
29207         * modules/unistr/u16-strtok: Likewise.
29208         * modules/unistr/u16-to-u32: Likewise.
29209         * modules/unistr/u16-to-u8: Likewise.
29210         * modules/unistr/u16-uctomb: Likewise.
29211         * modules/unistr/u32-check: Likewise.
29212         * modules/unistr/u32-chr: Likewise.
29213         * modules/unistr/u32-cmp: Likewise.
29214         * modules/unistr/u32-cmp2: Likewise.
29215         * modules/unistr/u32-cpy: Likewise.
29216         * modules/unistr/u32-cpy-alloc: Likewise.
29217         * modules/unistr/u32-endswith: Likewise.
29218         * modules/unistr/u32-mblen: Likewise.
29219         * modules/unistr/u32-mbsnlen: Likewise.
29220         * modules/unistr/u32-mbtouc: Likewise.
29221         * modules/unistr/u32-mbtouc-unsafe: Likewise.
29222         * modules/unistr/u32-mbtoucr: Likewise.
29223         * modules/unistr/u32-move: Likewise.
29224         * modules/unistr/u32-next: Likewise.
29225         * modules/unistr/u32-prev: Likewise.
29226         * modules/unistr/u32-set: Likewise.
29227         * modules/unistr/u32-startswith: Likewise.
29228         * modules/unistr/u32-stpcpy: Likewise.
29229         * modules/unistr/u32-stpncpy: Likewise.
29230         * modules/unistr/u32-strcat: Likewise.
29231         * modules/unistr/u32-strchr: Likewise.
29232         * modules/unistr/u32-strcmp: Likewise.
29233         * modules/unistr/u32-strcoll: Likewise.
29234         * modules/unistr/u32-strcpy: Likewise.
29235         * modules/unistr/u32-strcspn: Likewise.
29236         * modules/unistr/u32-strdup: Likewise.
29237         * modules/unistr/u32-strlen: Likewise.
29238         * modules/unistr/u32-strmblen: Likewise.
29239         * modules/unistr/u32-strmbtouc: Likewise.
29240         * modules/unistr/u32-strncat: Likewise.
29241         * modules/unistr/u32-strncmp: Likewise.
29242         * modules/unistr/u32-strncpy: Likewise.
29243         * modules/unistr/u32-strnlen: Likewise.
29244         * modules/unistr/u32-strpbrk: Likewise.
29245         * modules/unistr/u32-strrchr: Likewise.
29246         * modules/unistr/u32-strspn: Likewise.
29247         * modules/unistr/u32-strstr: Likewise.
29248         * modules/unistr/u32-strtok: Likewise.
29249         * modules/unistr/u32-to-u16: Likewise.
29250         * modules/unistr/u32-to-u8: Likewise.
29251         * modules/unistr/u32-uctomb: Likewise.
29252         * modules/uniwbrk/u8-wordbreaks: Likewise.
29253         * modules/uniwbrk/u16-wordbreaks: Likewise.
29254         * modules/uniwbrk/u32-wordbreaks: Likewise.
29255         * modules/uniwbrk/ulc-wordbreaks: Likewise.
29256         * modules/uniwbrk/wordbreak-property: Likewise.
29257         * modules/uniwidth/u8-strwidth: Likewise.
29258         * modules/uniwidth/u8-width: Likewise.
29259         * modules/uniwidth/u16-strwidth: Likewise.
29260         * modules/uniwidth/u16-width: Likewise.
29261         * modules/uniwidth/u32-strwidth: Likewise.
29262         * modules/uniwidth/u32-width: Likewise.
29263         * modules/uniwidth/width: Likewise.
29264         * modules/unicase/cased-tests (Makefile.am): Link all test programs
29265         with $(LIBUNISTRING).
29266         * modules/unicase/ignorable-tests: Likewise.
29267         * modules/unicase/locale-language-tests: Likewise.
29268         * modules/unicase/tolower-tests: Likewise.
29269         * modules/unicase/totitle-tests: Likewise.
29270         * modules/unicase/toupper-tests: Likewise.
29271         * modules/unicase/u8-casecmp-tests: Likewise.
29272         * modules/unicase/u8-casecoll-tests: Likewise.
29273         * modules/unicase/u8-casefold-tests: Likewise.
29274         * modules/unicase/u8-is-cased-tests: Likewise.
29275         * modules/unicase/u8-is-casefolded-tests: Likewise.
29276         * modules/unicase/u8-is-lowercase-tests: Likewise.
29277         * modules/unicase/u8-is-titlecase-tests: Likewise.
29278         * modules/unicase/u8-is-uppercase-tests: Likewise.
29279         * modules/unicase/u8-tolower-tests: Likewise.
29280         * modules/unicase/u8-totitle-tests: Likewise.
29281         * modules/unicase/u8-toupper-tests: Likewise.
29282         * modules/unicase/u16-casecmp-tests: Likewise.
29283         * modules/unicase/u16-casecoll-tests: Likewise.
29284         * modules/unicase/u16-casefold-tests: Likewise.
29285         * modules/unicase/u16-is-cased-tests: Likewise.
29286         * modules/unicase/u16-is-casefolded-tests: Likewise.
29287         * modules/unicase/u16-is-lowercase-tests: Likewise.
29288         * modules/unicase/u16-is-titlecase-tests: Likewise.
29289         * modules/unicase/u16-is-uppercase-tests: Likewise.
29290         * modules/unicase/u16-tolower-tests: Likewise.
29291         * modules/unicase/u16-totitle-tests: Likewise.
29292         * modules/unicase/u16-toupper-tests: Likewise.
29293         * modules/unicase/u32-casecmp-tests: Likewise.
29294         * modules/unicase/u32-casecoll-tests: Likewise.
29295         * modules/unicase/u32-casefold-tests: Likewise.
29296         * modules/unicase/u32-is-cased-tests: Likewise.
29297         * modules/unicase/u32-is-casefolded-tests: Likewise.
29298         * modules/unicase/u32-is-lowercase-tests: Likewise.
29299         * modules/unicase/u32-is-titlecase-tests: Likewise.
29300         * modules/unicase/u32-is-uppercase-tests: Likewise.
29301         * modules/unicase/u32-tolower-tests: Likewise.
29302         * modules/unicase/u32-totitle-tests: Likewise.
29303         * modules/unicase/u32-toupper-tests: Likewise.
29304         * modules/unicase/ulc-casecmp-tests: Likewise.
29305         * modules/unicase/ulc-casecoll-tests: Likewise.
29306         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
29307         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
29308         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
29309         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
29310         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
29311         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
29312         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
29313         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
29314         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
29315         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
29316         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
29317         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
29318         * modules/unictype/bidicategory-byname-tests: Likewise.
29319         * modules/unictype/bidicategory-name-tests: Likewise.
29320         * modules/unictype/bidicategory-of-tests: Likewise.
29321         * modules/unictype/bidicategory-test-tests: Likewise.
29322         * modules/unictype/block-list-tests: Likewise.
29323         * modules/unictype/block-of-tests: Likewise.
29324         * modules/unictype/block-test-tests: Likewise.
29325         * modules/unictype/category-C-tests: Likewise.
29326         * modules/unictype/category-Cc-tests: Likewise.
29327         * modules/unictype/category-Cf-tests: Likewise.
29328         * modules/unictype/category-Cn-tests: Likewise.
29329         * modules/unictype/category-Co-tests: Likewise.
29330         * modules/unictype/category-Cs-tests: Likewise.
29331         * modules/unictype/category-L-tests: Likewise.
29332         * modules/unictype/category-Ll-tests: Likewise.
29333         * modules/unictype/category-Lm-tests: Likewise.
29334         * modules/unictype/category-Lo-tests: Likewise.
29335         * modules/unictype/category-Lt-tests: Likewise.
29336         * modules/unictype/category-Lu-tests: Likewise.
29337         * modules/unictype/category-M-tests: Likewise.
29338         * modules/unictype/category-Mc-tests: Likewise.
29339         * modules/unictype/category-Me-tests: Likewise.
29340         * modules/unictype/category-Mn-tests: Likewise.
29341         * modules/unictype/category-N-tests: Likewise.
29342         * modules/unictype/category-Nd-tests: Likewise.
29343         * modules/unictype/category-Nl-tests: Likewise.
29344         * modules/unictype/category-No-tests: Likewise.
29345         * modules/unictype/category-P-tests: Likewise.
29346         * modules/unictype/category-Pc-tests: Likewise.
29347         * modules/unictype/category-Pd-tests: Likewise.
29348         * modules/unictype/category-Pe-tests: Likewise.
29349         * modules/unictype/category-Pf-tests: Likewise.
29350         * modules/unictype/category-Pi-tests: Likewise.
29351         * modules/unictype/category-Po-tests: Likewise.
29352         * modules/unictype/category-Ps-tests: Likewise.
29353         * modules/unictype/category-S-tests: Likewise.
29354         * modules/unictype/category-Sc-tests: Likewise.
29355         * modules/unictype/category-Sk-tests: Likewise.
29356         * modules/unictype/category-Sm-tests: Likewise.
29357         * modules/unictype/category-So-tests: Likewise.
29358         * modules/unictype/category-Z-tests: Likewise.
29359         * modules/unictype/category-Zl-tests: Likewise.
29360         * modules/unictype/category-Zp-tests: Likewise.
29361         * modules/unictype/category-Zs-tests: Likewise.
29362         * modules/unictype/category-and-not-tests: Likewise.
29363         * modules/unictype/category-and-tests: Likewise.
29364         * modules/unictype/category-byname-tests: Likewise.
29365         * modules/unictype/category-name-tests: Likewise.
29366         * modules/unictype/category-none-tests: Likewise.
29367         * modules/unictype/category-of-tests: Likewise.
29368         * modules/unictype/category-or-tests: Likewise.
29369         * modules/unictype/category-test-withtable-tests: Likewise.
29370         * modules/unictype/combining-class-tests: Likewise.
29371         * modules/unictype/ctype-alnum-tests: Likewise.
29372         * modules/unictype/ctype-alpha-tests: Likewise.
29373         * modules/unictype/ctype-blank-tests: Likewise.
29374         * modules/unictype/ctype-cntrl-tests: Likewise.
29375         * modules/unictype/ctype-digit-tests: Likewise.
29376         * modules/unictype/ctype-graph-tests: Likewise.
29377         * modules/unictype/ctype-lower-tests: Likewise.
29378         * modules/unictype/ctype-print-tests: Likewise.
29379         * modules/unictype/ctype-punct-tests: Likewise.
29380         * modules/unictype/ctype-space-tests: Likewise.
29381         * modules/unictype/ctype-upper-tests: Likewise.
29382         * modules/unictype/ctype-xdigit-tests: Likewise.
29383         * modules/unictype/decimal-digit-tests: Likewise.
29384         * modules/unictype/digit-tests: Likewise.
29385         * modules/unictype/mirror-tests: Likewise.
29386         * modules/unictype/numeric-tests: Likewise.
29387         * modules/unictype/property-alphabetic-tests: Likewise.
29388         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
29389         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
29390         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
29391         * modules/unictype/property-bidi-block-separator-tests: Likewise.
29392         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
29393         * modules/unictype/property-bidi-common-separator-tests: Likewise.
29394         * modules/unictype/property-bidi-control-tests: Likewise.
29395         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
29396         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
29397         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
29398         * modules/unictype/property-bidi-european-digit-tests: Likewise.
29399         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
29400         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
29401         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
29402         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
29403         * modules/unictype/property-bidi-pdf-tests: Likewise.
29404         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
29405         * modules/unictype/property-bidi-whitespace-tests: Likewise.
29406         * modules/unictype/property-byname-tests: Likewise.
29407         * modules/unictype/property-combining-tests: Likewise.
29408         * modules/unictype/property-composite-tests: Likewise.
29409         * modules/unictype/property-currency-symbol-tests: Likewise.
29410         * modules/unictype/property-dash-tests: Likewise.
29411         * modules/unictype/property-decimal-digit-tests: Likewise.
29412         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
29413         * modules/unictype/property-deprecated-tests: Likewise.
29414         * modules/unictype/property-diacritic-tests: Likewise.
29415         * modules/unictype/property-extender-tests: Likewise.
29416         * modules/unictype/property-format-control-tests: Likewise.
29417         * modules/unictype/property-grapheme-base-tests: Likewise.
29418         * modules/unictype/property-grapheme-extend-tests: Likewise.
29419         * modules/unictype/property-grapheme-link-tests: Likewise.
29420         * modules/unictype/property-hex-digit-tests: Likewise.
29421         * modules/unictype/property-hyphen-tests: Likewise.
29422         * modules/unictype/property-id-continue-tests: Likewise.
29423         * modules/unictype/property-id-start-tests: Likewise.
29424         * modules/unictype/property-ideographic-tests: Likewise.
29425         * modules/unictype/property-ids-binary-operator-tests: Likewise.
29426         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
29427         * modules/unictype/property-ignorable-control-tests: Likewise.
29428         * modules/unictype/property-iso-control-tests: Likewise.
29429         * modules/unictype/property-join-control-tests: Likewise.
29430         * modules/unictype/property-left-of-pair-tests: Likewise.
29431         * modules/unictype/property-line-separator-tests: Likewise.
29432         * modules/unictype/property-logical-order-exception-tests: Likewise.
29433         * modules/unictype/property-lowercase-tests: Likewise.
29434         * modules/unictype/property-math-tests: Likewise.
29435         * modules/unictype/property-non-break-tests: Likewise.
29436         * modules/unictype/property-not-a-character-tests: Likewise.
29437         * modules/unictype/property-numeric-tests: Likewise.
29438         * modules/unictype/property-other-alphabetic-tests: Likewise.
29439         * modules/unictype/property-other-default-ignorable-code-point-tests:
29440         Likewise.
29441         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
29442         * modules/unictype/property-other-id-continue-tests: Likewise.
29443         * modules/unictype/property-other-id-start-tests: Likewise.
29444         * modules/unictype/property-other-lowercase-tests: Likewise.
29445         * modules/unictype/property-other-math-tests: Likewise.
29446         * modules/unictype/property-other-uppercase-tests: Likewise.
29447         * modules/unictype/property-paired-punctuation-tests: Likewise.
29448         * modules/unictype/property-paragraph-separator-tests: Likewise.
29449         * modules/unictype/property-pattern-syntax-tests: Likewise.
29450         * modules/unictype/property-pattern-white-space-tests: Likewise.
29451         * modules/unictype/property-private-use-tests: Likewise.
29452         * modules/unictype/property-punctuation-tests: Likewise.
29453         * modules/unictype/property-quotation-mark-tests: Likewise.
29454         * modules/unictype/property-radical-tests: Likewise.
29455         * modules/unictype/property-sentence-terminal-tests: Likewise.
29456         * modules/unictype/property-soft-dotted-tests: Likewise.
29457         * modules/unictype/property-space-tests: Likewise.
29458         * modules/unictype/property-terminal-punctuation-tests: Likewise.
29459         * modules/unictype/property-test-tests: Likewise.
29460         * modules/unictype/property-titlecase-tests: Likewise.
29461         * modules/unictype/property-unassigned-code-value-tests: Likewise.
29462         * modules/unictype/property-unified-ideograph-tests: Likewise.
29463         * modules/unictype/property-uppercase-tests: Likewise.
29464         * modules/unictype/property-variation-selector-tests: Likewise.
29465         * modules/unictype/property-white-space-tests: Likewise.
29466         * modules/unictype/property-xid-continue-tests: Likewise.
29467         * modules/unictype/property-xid-start-tests: Likewise.
29468         * modules/unictype/property-zero-width-tests: Likewise.
29469         * modules/unictype/scripts-tests: Likewise.
29470         * modules/unictype/syntax-c-ident-tests: Likewise.
29471         * modules/unictype/syntax-c-whitespace-tests: Likewise.
29472         * modules/unictype/syntax-java-ident-tests: Likewise.
29473         * modules/unictype/syntax-java-whitespace-tests: Likewise.
29474         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
29475         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
29476         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
29477         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
29478         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
29479         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
29480         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
29481         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
29482         * modules/uniname/uniname-tests: Likewise.
29483         * modules/uninorm/canonical-decomposition-tests: Likewise.
29484         * modules/uninorm/compat-decomposition-tests: Likewise.
29485         * modules/uninorm/composition-tests: Likewise.
29486         * modules/uninorm/decomposing-form-tests: Likewise.
29487         * modules/uninorm/decomposition-tests: Likewise.
29488         * modules/uninorm/filter-tests: Likewise.
29489         * modules/uninorm/nfc-tests: Likewise.
29490         * modules/uninorm/nfd-tests: Likewise.
29491         * modules/uninorm/nfkc-tests: Likewise.
29492         * modules/uninorm/nfkd-tests: Likewise.
29493         * modules/uninorm/u8-normcmp-tests: Likewise.
29494         * modules/uninorm/u8-normcoll-tests: Likewise.
29495         * modules/uninorm/u16-normcmp-tests: Likewise.
29496         * modules/uninorm/u16-normcoll-tests: Likewise.
29497         * modules/uninorm/u32-normcmp-tests: Likewise.
29498         * modules/uninorm/u32-normcoll-tests: Likewise.
29499         * modules/unistdio/u8-asnprintf-tests: Likewise.
29500         * modules/unistdio/u8-vasnprintf-tests: Likewise.
29501         * modules/unistdio/u8-vasprintf-tests: Likewise.
29502         * modules/unistdio/u8-vsnprintf-tests: Likewise.
29503         * modules/unistdio/u8-vsprintf-tests: Likewise.
29504         * modules/unistdio/u16-asnprintf-tests: Likewise.
29505         * modules/unistdio/u16-vasnprintf-tests: Likewise.
29506         * modules/unistdio/u16-vasprintf-tests: Likewise.
29507         * modules/unistdio/u16-vsnprintf-tests: Likewise.
29508         * modules/unistdio/u16-vsprintf-tests: Likewise.
29509         * modules/unistdio/u32-asnprintf-tests: Likewise.
29510         * modules/unistdio/u32-vasnprintf-tests: Likewise.
29511         * modules/unistdio/u32-vasprintf-tests: Likewise.
29512         * modules/unistdio/u32-vsnprintf-tests: Likewise.
29513         * modules/unistdio/u32-vsprintf-tests: Likewise.
29514         * modules/unistdio/ulc-asnprintf-tests: Likewise.
29515         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
29516         * modules/unistdio/ulc-vasprintf-tests: Likewise.
29517         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
29518         * modules/unistdio/ulc-vsprintf-tests: Likewise.
29519         * modules/unistr/u8-check-tests: Likewise.
29520         * modules/unistr/u8-chr-tests: Likewise.
29521         * modules/unistr/u8-cmp-tests: Likewise.
29522         * modules/unistr/u8-cmp2-tests: Likewise.
29523         * modules/unistr/u8-cpy-alloc-tests: Likewise.
29524         * modules/unistr/u8-cpy-tests: Likewise.
29525         * modules/unistr/u8-mblen-tests: Likewise.
29526         * modules/unistr/u8-mbsnlen-tests: Likewise.
29527         * modules/unistr/u8-mbtouc-tests: Likewise.
29528         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
29529         * modules/unistr/u8-mbtoucr-tests: Likewise.
29530         * modules/unistr/u8-move-tests: Likewise.
29531         * modules/unistr/u8-next-tests: Likewise.
29532         * modules/unistr/u8-prev-tests: Likewise.
29533         * modules/unistr/u8-set-tests: Likewise.
29534         * modules/unistr/u8-stpcpy-tests: Likewise.
29535         * modules/unistr/u8-stpncpy-tests: Likewise.
29536         * modules/unistr/u8-strcat-tests: Likewise.
29537         * modules/unistr/u8-strcmp-tests: Likewise.
29538         * modules/unistr/u8-strcoll-tests: Likewise.
29539         * modules/unistr/u8-strcpy-tests: Likewise.
29540         * modules/unistr/u8-strdup-tests: Likewise.
29541         * modules/unistr/u8-strlen-tests: Likewise.
29542         * modules/unistr/u8-strmblen-tests: Likewise.
29543         * modules/unistr/u8-strmbtouc-tests: Likewise.
29544         * modules/unistr/u8-strncat-tests: Likewise.
29545         * modules/unistr/u8-strncmp-tests: Likewise.
29546         * modules/unistr/u8-strncpy-tests: Likewise.
29547         * modules/unistr/u8-strnlen-tests: Likewise.
29548         * modules/unistr/u8-to-u16-tests: Likewise.
29549         * modules/unistr/u8-to-u32-tests: Likewise.
29550         * modules/unistr/u8-uctomb-tests: Likewise.
29551         * modules/unistr/u16-check-tests: Likewise.
29552         * modules/unistr/u16-chr-tests: Likewise.
29553         * modules/unistr/u16-cmp-tests: Likewise.
29554         * modules/unistr/u16-cmp2-tests: Likewise.
29555         * modules/unistr/u16-cpy-alloc-tests: Likewise.
29556         * modules/unistr/u16-cpy-tests: Likewise.
29557         * modules/unistr/u16-mblen-tests: Likewise.
29558         * modules/unistr/u16-mbsnlen-tests: Likewise.
29559         * modules/unistr/u16-mbtouc-tests: Likewise.
29560         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
29561         * modules/unistr/u16-mbtoucr-tests: Likewise.
29562         * modules/unistr/u16-move-tests: Likewise.
29563         * modules/unistr/u16-next-tests: Likewise.
29564         * modules/unistr/u16-prev-tests: Likewise.
29565         * modules/unistr/u16-set-tests: Likewise.
29566         * modules/unistr/u16-stpcpy-tests: Likewise.
29567         * modules/unistr/u16-stpncpy-tests: Likewise.
29568         * modules/unistr/u16-strcat-tests: Likewise.
29569         * modules/unistr/u16-strcmp-tests: Likewise.
29570         * modules/unistr/u16-strcoll-tests: Likewise.
29571         * modules/unistr/u16-strcpy-tests: Likewise.
29572         * modules/unistr/u16-strdup-tests: Likewise.
29573         * modules/unistr/u16-strlen-tests: Likewise.
29574         * modules/unistr/u16-strmblen-tests: Likewise.
29575         * modules/unistr/u16-strmbtouc-tests: Likewise.
29576         * modules/unistr/u16-strncat-tests: Likewise.
29577         * modules/unistr/u16-strncmp-tests: Likewise.
29578         * modules/unistr/u16-strncpy-tests: Likewise.
29579         * modules/unistr/u16-strnlen-tests: Likewise.
29580         * modules/unistr/u16-to-u32-tests: Likewise.
29581         * modules/unistr/u16-to-u8-tests: Likewise.
29582         * modules/unistr/u16-uctomb-tests: Likewise.
29583         * modules/unistr/u32-check-tests: Likewise.
29584         * modules/unistr/u32-chr-tests: Likewise.
29585         * modules/unistr/u32-cmp-tests: Likewise.
29586         * modules/unistr/u32-cmp2-tests: Likewise.
29587         * modules/unistr/u32-cpy-alloc-tests: Likewise.
29588         * modules/unistr/u32-cpy-tests: Likewise.
29589         * modules/unistr/u32-mblen-tests: Likewise.
29590         * modules/unistr/u32-mbsnlen-tests: Likewise.
29591         * modules/unistr/u32-mbtouc-tests: Likewise.
29592         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
29593         * modules/unistr/u32-mbtoucr-tests: Likewise.
29594         * modules/unistr/u32-move-tests: Likewise.
29595         * modules/unistr/u32-next-tests: Likewise.
29596         * modules/unistr/u32-prev-tests: Likewise.
29597         * modules/unistr/u32-set-tests: Likewise.
29598         * modules/unistr/u32-stpcpy-tests: Likewise.
29599         * modules/unistr/u32-stpncpy-tests: Likewise.
29600         * modules/unistr/u32-strcat-tests: Likewise.
29601         * modules/unistr/u32-strcmp-tests: Likewise.
29602         * modules/unistr/u32-strcoll-tests: Likewise.
29603         * modules/unistr/u32-strcpy-tests: Likewise.
29604         * modules/unistr/u32-strdup-tests: Likewise.
29605         * modules/unistr/u32-strlen-tests: Likewise.
29606         * modules/unistr/u32-strmblen-tests: Likewise.
29607         * modules/unistr/u32-strmbtouc-tests: Likewise.
29608         * modules/unistr/u32-strncat-tests: Likewise.
29609         * modules/unistr/u32-strncmp-tests: Likewise.
29610         * modules/unistr/u32-strncpy-tests: Likewise.
29611         * modules/unistr/u32-strnlen-tests: Likewise.
29612         * modules/unistr/u32-to-u16-tests: Likewise.
29613         * modules/unistr/u32-to-u8-tests: Likewise.
29614         * modules/unistr/u32-uctomb-tests: Likewise.
29615         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
29616         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
29617         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
29618         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
29619         * modules/uniwidth/u8-strwidth-tests: Likewise.
29620         * modules/uniwidth/u8-width-tests: Likewise.
29621         * modules/uniwidth/u16-strwidth-tests: Likewise.
29622         * modules/uniwidth/u16-width-tests: Likewise.
29623         * modules/uniwidth/u32-strwidth-tests: Likewise.
29624         * modules/uniwidth/u32-width-tests: Likewise.
29625         * modules/uniwidth/width-tests: Likewise.
29626
29627 2010-05-18  Richard Jones  <rjones@redhat.com>
29628
29629         doc: users.txt: list hivex
29630         * users.txt: Add hivex.
29631
29632 2010-05-18  Richard Jones  <rjones@redhat.com>
29633
29634         doc: users.txt: list febootstrap
29635         * users.txt: Add febootstrap.
29636
29637 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
29638
29639         bootstrap: fix an error when gnulib is not used as a git submodule
29640         * build-aux/bootstrap (gnulib_path): If its length is zero then
29641         assign "gnulib" to it.
29642         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
29643
29644 2010-05-16  Bruno Haible  <bruno@clisp.org>
29645
29646         Avoid autoconf warnings about AM_ICONV.
29647         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
29648         2.64.
29649
29650 2010-05-16  Bruno Haible  <bruno@clisp.org>
29651
29652         absolute-header: Make the macro usable in more situations.
29653         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
29654         from gl_ABSOLUTE_HEADER.
29655         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
29656
29657 2010-05-16  James Youngman  <jay@gnu.org>
29658
29659         doc: update users.txt
29660         * users.txt: Add CSSC.
29661
29662 2010-05-16  Jim Meyering  <meyering@redhat.com>
29663
29664         init.sh: fix an error in the previous change; add more comments
29665         * tests/init.sh: Compare exit code in loop against 9, not 2.
29666         Patch by Bruno Haible.
29667         Make the two tests more similar by adding an empty "then" clause.
29668         Add comments.
29669
29670         init.sh: avoid unnecessary shell re-exec
29671         * tests/init.sh: Improve the re-exec-required check to first test the
29672         current shell.  If it passes the test, do not search for a shell that
29673         does pass, and do not re-exec.  This test is particularly contorted to
29674         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
29675         of $(...) evokes a syntax error and causes immediate shell exit with
29676         status 2.  Bruno Haible reported that the re-exec made it impossible
29677         to single-step through any init.sh-using script.
29678
29679 2010-05-16  Bruno Haible  <bruno@clisp.org>
29680
29681         Fix collision between gnulib's and libintl's printf replacements.
29682         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
29683         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
29684         (printf): When using GNU C, map the __printf__ function to rpl_printf
29685         via __asm__. When not using GNU C, define rpl_printf instead of
29686         __printf__.
29687         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
29688         commit.
29689         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
29690         commit.
29691         * m4/asm-underscore.m4: New file.
29692         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
29693         * modules/stdio (Files): Add m4/asm-underscore.m4.
29694         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
29695         Reported by Ben Pfaff.
29696
29697 2010-05-16  Bruno Haible  <bruno@clisp.org>
29698
29699         verify: Avoid skipping the test on openSUSE 11.0.
29700         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
29701
29702 2010-05-13  Bruno Haible  <bruno@clisp.org>
29703
29704         Avoid useless warnings from G++.
29705         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
29706         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
29707         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29708
29709 2010-05-11  Jim Meyering  <meyering@redhat.com>
29710
29711         maint.mk: tweak preceding change
29712         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
29713         regexps tighter by anchoring at EOL, and make the new group "shy"
29714         for slightly decreased overhead.
29715
29716 2010-05-11  Eric Blake  <eblake@redhat.com>
29717
29718         maint.mk: gnulib doesn't guarantee NSIG
29719         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
29720
29721 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29722
29723         test-pwrite.c: Remove unused variable declaration.
29724         * tests/test-pwrite.c (main): Remove read_buf declaration.
29725
29726         Remove useless test-pwrite.sh file.
29727         * tests/test-pwrite.sh: Delete file.
29728         * modules/pwrite-tests: Remove references.
29729         Reported by Bruno Haible.
29730
29731 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29732
29733         init.sh: fix a typo
29734         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
29735
29736 2010-05-10  Jim Meyering  <meyering@redhat.com>
29737
29738         maint.mk: avoid using a temporary file in the always-defined-macros check
29739         * top/maint.mk (.re-defmac): Remove rule.
29740         (gl_trap_): Remove definition.
29741         (sc_prohibit_always-defined_macros): Rewrite not to create and
29742         depend on a temporary file.  Instead, depend on GNU grep's ability
29743         to read a list of regular expressions from stdin when given "-f -".
29744
29745 2010-05-09  Bruno Haible  <bruno@clisp.org>
29746
29747         Update to GNU gettext 0.18, part 1.
29748         * m4/gettext.m4: Update to GNU gettext 0.18.
29749         * m4/intl.m4: Likewise.
29750         * m4/po.m4: Likewise.
29751         * modules/gettext (Files): Add m4/fcntl-o.m4.
29752         (configure.ac): Require gettext infrastructure from version 0.18.
29753
29754 2010-05-09  Jim Meyering  <meyering@redhat.com>
29755
29756         init.sh: enable MALLOC_PERTURB_
29757         * tests/init.sh: Enable glibc's malloc-perturbing option.
29758
29759         maint.mk: improve sc_cross_check_PATH_usage_in_tests
29760         With my recent change in init.sh from the two-line form:
29761             -#   : ${srcdir=.}
29762             -#   . "$srcdir/init.sh"; path_prepend_ .
29763             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
29764         I noticed that using the one-line form would cause this test
29765         to fail with a false-positive, or to stop working altogether,
29766         depending on whether help-version changed or all the tests did.
29767         * top/maint.mk (_hv_regex): Remove this definition.
29768         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
29769         (_hv_regex_strong): Use a stronger regex to check for conformance.
29770         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
29771         Give a separate diagnostic for lack of conforming use.
29772
29773         maint.mk: prohibit definition of symbols defined by gnulib
29774         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
29775         definition of symbols defined by gnulib.
29776
29777 2010-05-09  Bruno Haible  <bruno@clisp.org>
29778
29779         acl: Avoid test failure on Cygwin-hosted mingw.
29780         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
29781
29782 2010-05-09  Bruno Haible  <bruno@clisp.org>
29783
29784         error: Use system's fcntl function.
29785         * lib/error.c (fcntl): Undefine.
29786
29787 2010-05-09  Jim Meyering  <meyering@redhat.com>
29788
29789         verify: adjust formatting to be more consistent
29790         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
29791         argument-list '('s, and after one comma.
29792
29793 2010-05-09  Bruno Haible  <bruno@clisp.org>
29794
29795         error: More reliable output on mingw.
29796         * lib/error.c: Include <windows.h>.
29797         (is_open): New function.
29798         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
29799         defined.
29800
29801 2010-05-09  Bruno Haible  <bruno@clisp.org>
29802
29803         vasnprintf: Fix syntax errors in libintl build on mingw.
29804         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
29805         pad_ourselves and prec_ourselves after use.
29806
29807 2010-05-08  Bruno Haible  <bruno@clisp.org>
29808
29809         * lib/config.charset: Update comments for Cygwin 1.7.
29810         * lib/localcharset.c: Likewise.
29811
29812 2010-05-07  Jim Meyering  <meyering@redhat.com>
29813
29814         init.sh: improve comments
29815         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
29816         . "${srcdir=.}/init.sh"; path_prepend_ .
29817         Add a note about path_prepend_ and the alternative of using
29818         TESTS_ENVIRONMENT.
29819
29820 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
29821
29822         exclude: Unescape hashed patterns in wildcard mode.
29823         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
29824         to the hash list.
29825         * tests/test-exclude8.sh: New test case.
29826         * modules/exclude-tests: Add new test.
29827
29828 2010-05-05  Eric Blake  <eblake@redhat.com>
29829
29830         verify: automate tests
29831         * modules/verify-tests: New module.
29832         * tests/test-verify.sh: New file.
29833         * tests/test-verify.c: Guard each negative test with a unique id.
29834         Also avoid warning about unused left hand of comma expressions.
29835
29836 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
29837
29838         Further improvements to verify.h, suggested by Eric Blake.
29839         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
29840         the GL_* versions, to avoid collision with OpenGL.
29841         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
29842         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
29843         than testing merely whether it's defined.
29844
29845         Modify verify.h to pacify gcc -Wredundant_decls.
29846         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
29847         These use the prefix "GL_" since they're likely to be useful elsewhere.
29848         We may need to break them out into a different .h file.
29849         (__COUNTER__): Define to 0 if the compiler doesn't support it.
29850         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
29851         of verify_function__.
29852
29853 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
29854
29855         Tests for module pwrite.
29856         * modules/pwrite-tests: New file.
29857         * tests/test-pwrite.sh: New file.
29858         * tests/test-pwrite.c: New file.
29859
29860         New module pwrite.
29861         * lib/unistd.in.h (pwrite): New declaration.
29862         * lib/pwrite.c: New file, from glibc with modifications.
29863         * m4/pwrite.m4: New file.
29864         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
29865         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
29866         REPLACE_PWRITE.
29867         * modules/pwrite: New file.
29868         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
29869         REPLACE_PWRITE.
29870         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
29871         * doc/posix-functions/pwrite.texi: Mention the new module.
29872
29873 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
29874
29875         pread: Update documentation.
29876         * doc/posix-functions/pread.texi: Mention the 'pread' module.
29877
29878 2010-05-04  Eric Blake  <eblake@redhat.com>
29879
29880         docs: update cygwin progress
29881         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
29882         this bug.
29883         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
29884         Added in cygwin 1.7.2.
29885         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
29886         Likewise.
29887         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
29888         Likewise.
29889         * doc/glibc-functions/dup3.texi (dup3): Likewise.
29890         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
29891         * doc/glibc-functions/accept4.texi (accept4): Likewise.
29892         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
29893         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
29894         Mention nproc module.
29895         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
29896         bug in cygwin 1.7.5 addition.
29897         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
29898         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
29899         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
29900         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
29901         1.7.5.
29902         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
29903         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
29904         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
29905         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
29906         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
29907         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
29908         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
29909         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
29910         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
29911         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
29912         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
29913         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
29914         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
29915         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
29916         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
29917         Likewise.
29918         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
29919         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
29920         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
29921         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
29922         Likewise.
29923         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
29924         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
29925         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
29926         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
29927         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
29928         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
29929         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
29930         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
29931         Likewise.
29932         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
29933         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
29934         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
29935         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
29936         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
29937         Likewise.
29938         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
29939         Likewise.
29940         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
29941         Likewise.
29942         * doc/glibc-functions/xdrrec_endofrecord.texi
29943         (xdrrec_endofrecord): Likewise.
29944         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
29945         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
29946         Likewise.
29947         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
29948         Likewise.
29949
29950 2010-05-04  Jim Meyering  <meyering@redhat.com>
29951
29952         gendocs.sh: make its "-s FILE" option more useful
29953         * build-aux/gendocs.sh: When honoring the -s FILE option, update
29954         $PACKAGE to reflect the probably-different basename of "FILE".
29955
29956 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
29957
29958         bootstrap: don't ignore download_po_files failure
29959         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
29960         failure.
29961
29962 2010-05-03  Jim Meyering  <meyering@redhat.com>
29963
29964         maint.mk: allow to pass options to gendocs.sh
29965         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
29966         (gendocs_options_): New overridable variable.
29967
29968         gnu-web-doc-update: don't ignore configure or build failure
29969         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
29970
29971         announce-gen: backslash-escape '@'s in --help output
29972         * build-aux/announce-gen: Fix syntax errors.
29973
29974         maint.mk, announce-gen: allow project-specific announcement mail headers
29975         * top/maint.mk (translation_project_): Define default.
29976         (announcement_Cc_, announcement_mail_headers_): Likewise.
29977         (announcement): Invoke announce-gen with new --mail-headers option.
29978         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
29979
29980         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
29981         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
29982         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
29983         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
29984         line in the "err2" output file when running "make check" in verbose
29985         mode (i.e., with set -x enabled).
29986
29987 2010-05-03  Bruno Haible  <bruno@clisp.org>
29988
29989         wctob: Fix for weird platforms.
29990         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
29991         argument value.
29992
29993 2010-05-03  Jim Meyering  <meyering@redhat.com>
29994
29995         maint.mk: prohibit unwarranted use of <strings.h>
29996         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
29997         strings.h in a file that does not also use strcasecmp, strncasecmp,
29998         ffs or ffsll.
29999
30000         maint.mk: remove obsolete comments
30001         * top/maint.mk: Remove stale, commented-out rules.
30002
30003 2010-05-02  Bruno Haible  <bruno@clisp.org>
30004
30005         wcwidth: Declare also when it's aliased.
30006         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
30007         macro.
30008
30009 2010-05-02  Bruno Haible  <bruno@clisp.org>
30010
30011         Fix regression from 2010-04-25.
30012         * gnulib-tool (func_modules_transitive_closure): Check the status of
30013         all modules, not only of the tests that are of the form foo-tests where
30014         foo is a module.
30015
30016 2010-05-02  Bruno Haible  <bruno@clisp.org>
30017
30018         wctob: Work around nasty Cygwin 1.7.2 bug.
30019         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
30020         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
30021
30022 2010-05-01  Bruno Haible  <bruno@clisp.org>
30023
30024         fpurge: Sharper test.
30025         * tests/test-fpurge.c (main): Add one more ftell check.
30026         * modules/fpurge-tests (Depends-on): Add ftell.
30027         Suggested by Eric Blake.
30028
30029 2010-05-01  Bruno Haible  <bruno@clisp.org>
30030
30031         ftello: Another test.
30032         * tests/test-ftello3.c: New file.
30033         * modules/ftello-tests (Files): Add it.
30034         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
30035         MOSTLYCLEANFILES.
30036
30037         ftell: Another test.
30038         * tests/test-ftell3.c: New file.
30039         * modules/ftell-tests (Files): Add it.
30040         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
30041         MOSTLYCLEANFILES.
30042
30043 2010-05-01  Bruno Haible  <bruno@clisp.org>
30044
30045         ftell, ftello: Work around Solaris bug.
30046         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
30047         * lib/ftello.c: Include stdio-impl.h.
30048         (ftello): On Solaris, when _IOWRT is set, compute the result without
30049         looking at _IOREAD.
30050         * modules/ftello (Files): Add lib/stdio-impl.h.
30051         * doc/posix-functions/ftell.texi: Mention Solaris bug.
30052         * doc/posix-functions/ftello.texi: Likewise.
30053         Reported by Eric Blake.
30054
30055 2010-05-01  Bruno Haible  <bruno@clisp.org>
30056
30057         freading: Adapt to special meaning of _IOREAD flag on Solaris.
30058         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
30059         the _IOWRT flag is also set.
30060
30061 2010-05-01  Bruno Haible  <bruno@clisp.org>
30062
30063         Fix doc about a HP-UX stdio bug.
30064         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
30065         * doc/posix-functions/ftello.texi: Likewise.
30066
30067 2010-05-01  Bruno Haible  <bruno@clisp.org>
30068
30069         lseek test: Fix failure on Solaris.
30070         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
30071         output.
30072
30073 2010-04-30  Jim Meyering  <meyering@redhat.com>
30074
30075         bootstrap: don't ignore failure to generate po*/Makevars
30076         * build-aux/bootstrap (with_gettext): Don't ignore failure
30077         to create po/Makevars or runtime-po/Makevars.
30078
30079 2010-04-29  Eric Blake  <eblake@redhat.com>
30080
30081         headers: relax license to LGPLv2+
30082         * modules/fcntl-h (License): Relax license.
30083         * modules/getopt-posix (License): Likewise.
30084         * modules/locale (License): Likewise.
30085         * modules/math (License): Likewise.
30086         * modules/pty (License): Likewise.
30087         * modules/sched (License): Likewise.
30088         * modules/search (License): Likewise.
30089         * modules/spawn (License): Likewise.
30090         * modules/stdarg (License): Likewise.
30091         * modules/sysexits (License): Likewise.
30092
30093 2010-04-29  Jim Meyering  <meyering@redhat.com>
30094
30095         inttypes: relax license to LGPLv2+
30096         * modules/inttypes (License): Relax license.
30097
30098 2010-04-29  Simon Josefsson  <simon@josefsson.org>
30099
30100         * top/maint.mk (indent): Run twice to produce idempotent results.
30101
30102 2010-04-28  Bruno Haible  <bruno@clisp.org>
30103
30104         getdate: Generate getdate.c in the source directory.
30105         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
30106         MOSTLYCLEANFILES.
30107         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
30108
30109 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
30110
30111         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
30112         is not declared as a const *; avoid warnings in that case.
30113
30114 2010-04-28  Eric Blake  <eblake@redhat.com>
30115
30116         canonicalize-lgpl: avoid compiler warning
30117         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
30118         declaration' / 'extraneous semicolon' warning with some compilers.
30119         Reported by Andreas Gruenbacher.
30120
30121 2010-04-28  Jim Meyering  <meyering@redhat.com>
30122
30123         init.sh: ensure a more reliable exit status when exiting via trap
30124         * tests/init.sh (setup_): Don't rely on $? in signal handler.
30125         Inspired by patches from Dmitry V. Levin.
30126         Also trap on signal 3 (SIGQUIT).
30127
30128 2010-04-27  Bruno Haible  <bruno@clisp.org>
30129
30130         Update doc about utimes().
30131         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
30132         'utimens' module.
30133         Reported by Andreas Gruenbacher <agruen@suse.de>.
30134
30135 2010-04-27  Eric Blake  <eblake@redhat.com>
30136
30137         full-read, full-write: relax license
30138         * modules/full-read (License): Drop to LGPLv2+.
30139         * modules/full-write (License): Likewise.
30140         * modules/safe-read (License): Likewise.
30141         * modules/safe-write (License): Likewise.
30142
30143         pthread: mention library for linking
30144         * modules/pthread (Link): Mention $(LIB_PTHREAD).
30145
30146 2010-04-27  Jim Meyering  <meyering@redhat.com>
30147
30148         maint.mk: fix a bug introduced in last change
30149         * top/maint.mk (gl_assured_headers_): Now that all names are on
30150         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
30151         is not anchored to end of word, it should be adequate.
30152
30153         maint.mk: avoid side-effect in latest syntax-check
30154         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
30155         to run commands via $(shell...), and hence to incur cost only when
30156         the new rule is actually run.
30157
30158         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
30159         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
30160         and use that to create a regexp used to detect all #if HAVE_..._H uses.
30161         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
30162         (gl_assured_headers_, az_, AZ_): Define.
30163         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
30164
30165 2010-04-26  Jim Meyering  <jim@meyering.net>
30166             Bruno Haible  <bruno@clisp.org>
30167
30168         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
30169         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
30170         Prompted by an exchange with Gilles Espinasse.
30171
30172 2010-04-26  Jim Meyering  <meyering@redhat.com>
30173
30174         git-version-gen: aesthetic tweak
30175         * build-aux/git-version-gen: Use "$nl" rather than a literal,
30176         so that the command remains on a single line.
30177
30178 2010-04-26  Eric Blake  <eblake@redhat.com>
30179
30180         git-version-gen: allow use on EBCDIC hosts
30181         * build-aux/git-version-gen (dirty): Use literal rather than tying
30182         ourselves to ascii.
30183         Reported by Steve Goetze.
30184
30185 2010-04-25  Bruno Haible  <bruno@clisp.org>
30186
30187         netdb: Add support for GNULIB_POSIXCHECK.
30188         * lib/netdb.in.h: Include warn-on-use.h.
30189         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
30190         functions are used when GNULIB_POSIXCHECK is defined and the
30191         getaddrinfo module is not in use.
30192         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
30193         freeaddrinfo, gai_strerror, getnameinfo are declared.
30194         * modules/netdb (Depends-on): Add warn-on-use.
30195         (Makefile.am): Include warn-on-use.h in netdb.h.
30196
30197 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
30198
30199         build: avoid "make check" failure without .git/ directory
30200         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
30201         there is no .git/ directory.
30202
30203 2010-04-25  Bruno Haible  <bruno@clisp.org>
30204
30205         ptsname: Fix misuse of ttyname_r.
30206         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
30207         of errno.
30208
30209 2010-04-25  Bruno Haible  <bruno@clisp.org>
30210
30211         ttyname_r: Make it work on Solaris 10.
30212         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
30213         if the system function has the POSIX declaration. Test whether the
30214         function fails if the buffer is less than 128 bytes large.
30215         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
30216         system's ttyname_r function. Provide a reasonably large buffer.
30217         * modules/ttyname_r (Depends-on): Add extensions.
30218         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
30219
30220 2010-04-25  Bruno Haible  <bruno@clisp.org>
30221
30222         Use the 'extensions' module for some more functions on Solaris.
30223         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
30224         module.
30225         * doc/posix-functions/ctime_r.texi: Likewise.
30226         * doc/posix-functions/getgrgid_r.texi: Likewise.
30227         * doc/posix-functions/getgrnam_r.texi: Likewise.
30228         * doc/posix-functions/getpwnam_r.texi: Likewise.
30229         * doc/posix-functions/getpwuid_r.texi: Likewise.
30230         * doc/posix-functions/readdir_r.texi: Likewise.
30231         * doc/posix-functions/sigwait.texi: Likewise.
30232         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
30233         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
30234
30235 2010-04-25  Bruno Haible  <bruno@clisp.org>
30236
30237         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
30238         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
30239         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
30240         * lib/ttyname_r.c: Include <limits.h>.
30241         (ttyname_r): Define using the system's ttyname_r function, if it exists
30242         and not on Solaris.
30243         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
30244         set.
30245         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
30246         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
30247         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
30248         Reported by Simon Josefsson.
30249
30250 2010-04-25  Bruno Haible  <bruno@clisp.org>
30251
30252         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
30253         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
30254         * doc/posix-functions/ctime_r.texi: Likewise.
30255         * doc/posix-functions/getgrgid_r.texi: Likewise.
30256         * doc/posix-functions/getgrnam_r.texi: Likewise.
30257         * doc/posix-functions/getlogin_r.texi: Likewise.
30258         * doc/posix-functions/getpwnam_r.texi: Likewise.
30259         * doc/posix-functions/getpwuid_r.texi: Likewise.
30260         * doc/posix-functions/readdir_r.texi: Likewise.
30261         * doc/posix-functions/sigwait.texi: Likewise.
30262         * doc/posix-functions/ttyname_r.texi: Likewise.
30263         Reported by Simon Josefsson.
30264
30265 2010-04-25  Bruno Haible  <bruno@clisp.org>
30266
30267         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
30268         * gnulib-tool (func_usage): Document that --with-*-tests options apply
30269         also to --create-testdir.
30270         (func_acceptable): Don't consider the status of *-tests modules here.
30271         (func_modules_transitive_closure): Consider it here, before including a
30272         test module.
30273         (func_import, func_create_testdir): Set inc_all_direct_tests,
30274         inc_all_indirect_tests.
30275         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
30276         --create-testdir and --create-megatestdir.
30277
30278 2010-04-25  Bruno Haible  <bruno@clisp.org>
30279
30280         gnulib-tool: Add --without-*-tests options.
30281         * gnulib-tool (func_usage): Document the --without-*-tests options.
30282         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
30283         excl_unportable_tests): New variables.
30284         Fail if they are specified with --import or --update.
30285         (func_acceptable): Respect the excl_*_tests variables.
30286         (func_import): Set the excl_*_tests variables to empty.
30287
30288 2010-04-25  Simon Josefsson  <simon@josefsson.org>
30289             Bruno Haible  <bruno@clisp.org>
30290
30291         Work around a MacOS X 10.4 bug with openpty.
30292         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
30293         * tests/test-openpty.c (main): Close the master side explicitly.
30294
30295 2010-04-25  Bruno Haible  <bruno@clisp.org>
30296
30297         strnlen: Fix a C++ test error on MacOS X and Solaris.
30298         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
30299         the function is not declared.
30300         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
30301         Simon Josefsson.
30302
30303 2010-04-24  Bruno Haible  <bruno@clisp.org>
30304
30305         Avoid a gcc warning.
30306         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
30307         of correct type for %08lx directive.
30308         Reported by Eric Blake.
30309
30310 2010-04-24  Bruno Haible  <bruno@clisp.org>
30311
30312         vasnprintf: Correct errno value in case of out-of-memory.
30313         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
30314         or sprintf. Use the errno value from SNPRINTF or sprintf.
30315         Reported by Ian Beckwith <ianb@erislabs.net>.
30316
30317 2010-04-24  Bruno Haible  <bruno@clisp.org>
30318
30319         ansi-c++-opt: Find correct compiler when cross-compiling.
30320         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
30321         AC_CHECK_PROGS.
30322         Reported by Simon Josefsson.
30323
30324 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
30325
30326         vc-list-files: Add support for subversion
30327         * build-aux/vc-list-files: Use "svn list" to generate the list of
30328         files controlled by subversion.
30329
30330 2010-04-23  Jim Meyering  <meyering@redhat.com>
30331
30332         vc-list-files tests: convert to use init.sh
30333         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
30334         path_prepend_.
30335         Use Exit, not exit.
30336         Use skip_ rather than open coding it.
30337         Remove trap set-up and compare definitions.
30338         * tests/test-vc-list-files-git.sh: Likewise.
30339         * modules/vc-list-files-tests (Files): Add tests/init.sh.
30340
30341 2010-04-22  Simon Josefsson  <simon@josefsson.org>
30342
30343         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
30344         backup files.
30345
30346 2010-04-21  Simon Josefsson  <simon@josefsson.org>
30347
30348         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
30349
30350 2010-04-20  Eric Blake  <eblake@redhat.com>
30351
30352         tests: be robust to ignored SIGPIPE
30353         * tests/test-select-in.sh: Consume all output.
30354         * tests/test-lseek.sh: Check correct exit status, while avoiding
30355         EPIPE.
30356
30357 2010-04-20  Simon Josefsson  <simon@josefsson.org>
30358             Bruno Haible  <bruno@clisp.org>
30359
30360         visibility: Don't use -fvisibility if it leads to a warning.
30361         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
30362         yes, don't pretend that visibility works if it leads to a warning.
30363         Reported by Mike Gran <spk121@yahoo.com>.
30364
30365 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
30366
30367         * build-aux/bootstrap: Use "git -h" for testing for supported options
30368         instead of "git --help".  The short-form option only shows a summary,
30369         and doesn't layout the full man page.  Grep for the full option name
30370         in the summary, too.
30371
30372 2010-04-19  Bruno Haible  <bruno@clisp.org>
30373
30374         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
30375         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
30376         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
30377         mention of RELOCATABLE_STRIP.
30378         Reported by Sylvain Beucler <beuc@beuc.net>.
30379
30380 2010-04-19  Bruno Haible  <bruno@clisp.org>
30381
30382         * lib/diffseq.h: Fix typo in comment.
30383         Reported by Eric Blake.
30384
30385 2010-04-19  Bruno Haible  <bruno@clisp.org>
30386
30387         ioctl: Move autoconf macro to a .m4 file.
30388         * m4/ioctl.m4: New file, extracted from modules/ioctl.
30389         * modules/ioctl (Files): Add it.
30390         (configure.ac): Simply invoke gl_FUNC_IOCTL.
30391         Reported by Ian Beckwith <ianb@erislabs.net>.
30392
30393 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
30394             Bruno Haible  <bruno@clisp.org>
30395
30396         diffseq: Accommodate use-case with abstract arrays.
30397         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
30398         is not defined.
30399         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
30400         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
30401
30402 2010-04-18  Bruno Haible  <bruno@clisp.org>
30403
30404         * doc/posix-headers/stdbool.texi: More precise wording.
30405
30406 2010-04-17  Jim Meyering  <meyering@redhat.com>
30407
30408         maint.mk: use gnu-style indentation in an embedded perl script
30409         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
30410         Rename variable: s/two/last_two_bytes/
30411
30412 2010-04-16  Eric Blake  <eblake@redhat.com>
30413
30414         test-stdbool: skip test that fails with Solaris CC
30415         * tests/test-stdbool.c (f): Skip test that causes compilation
30416         error under buggy C++ compiler.
30417         * lib/stdbool.in.h: Document the limitation.
30418         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
30419
30420         setenv: allow compilation with C++
30421         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
30422         register keyword.
30423
30424         stdint: allow test to pass with C++
30425         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
30426
30427         getopt: allow compilation with C++
30428         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
30429         struct.
30430         * lib/getopt.c (_getopt_internal_r): Use correct type.
30431         Reported by Dagobert Michelson, via Joel E. Denny.
30432
30433 2010-04-16  Bruno Haible  <bruno@clisp.org>
30434
30435         Override netdb.h always.
30436         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
30437         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
30438         Reported by Ludovic Courtès <ludo@gnu.org>.
30439
30440 2010-04-15  Bruno Haible  <bruno@clisp.org>
30441
30442         openpty: Fix mistake from 2010-03-21.
30443         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
30444         Reported by Simon Josefsson.
30445
30446 2010-04-15  Eric Blake  <eblake@redhat.com>
30447
30448         test-forkpty: fix expected signature
30449         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
30450         Reported by Simon Josefsson.
30451
30452 2010-04-15  Jim Meyering  <meyering@redhat.com>
30453
30454         maint.mk: texinfo_suffix_re_: correct the default regexp
30455         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
30456
30457         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
30458         make it configurable via texinfo_suffix_re_.
30459
30460 2010-04-14  Eric Blake  <eblake@redhat.com>
30461
30462         strtok_r: relax license to LGPLv2+
30463         * modules/strtok_r (License): Relax license.
30464         Reported by Matthias Bolte.
30465
30466 2010-04-14  Simon Josefsson  <simon@josefsson.org>
30467
30468         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
30469         version 1.4.4 by default instead of requiring the libgcrypt
30470         version used during build.  This makes it possible to use the
30471         application with older but still binary compatible libgcrypt
30472         versions.
30473
30474 2010-04-13  Eric Blake  <eblake@redhat.com>
30475
30476         getopt-gnu: match recent glibc fixes and posix ruling
30477         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
30478         '+' handling, when requesting extensions.
30479         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
30480         'W;' handling.
30481         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
30482         * doc/posix-functions/getopt.texi (getopt): Document this.
30483         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
30484         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30485         Likewise.
30486
30487         getopt: merge bug fixes from glibc
30488         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
30489         diagnostics.  Honor '+:' correctly.  Reject ';'.
30490
30491         getopt-posix: detect MacOS bug
30492         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
30493         optind when missing a required argument.
30494         * doc/posix-functions/getopt.texi (getopt): Document the bug.
30495         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
30496         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30497         Likewise.
30498
30499         getopt-posix: avoid spurious failure on Solaris
30500         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
30501         an indicator that setting optind=1 is sufficient for reset.
30502
30503         getopt-posix: avoid spurious failure on FreeBSD
30504         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
30505         in POSIX mode, since the m4 test uses it.
30506
30507         gnulib-tool: silence warning on BSD sh
30508         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
30509
30510 2010-04-13  Jim Meyering  <meyering@redhat.com>
30511
30512         doc: users.txt: GNU patch now uses gnulib
30513         * users.txt: Add patch.
30514
30515 2010-04-12  Jim Meyering  <meyering@redhat.com>
30516
30517         maint.mk: generate more concise timing data for syntax-check rules
30518         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
30519         " done" from each line that reports a syntax-check test duration.
30520
30521 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
30522
30523         git-version-gen: use "git update-index..." rather than "git status"
30524         * build-aux/git-version-gen: Use git update-index --refresh, not
30525         "git status".  With some versions of git, "git status" would fail
30526         to update the index and result in an unwarranted "-dirty" suffix.
30527
30528 2010-04-11  Jim Meyering  <meyering@redhat.com>
30529
30530         openat: correct formatting (no semantic change)
30531         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
30532         Suggested by Bruno Haible.
30533
30534 2010-04-11  Bruno Haible  <bruno@clisp.org>
30535
30536         Stricter declaration checking in testdirs.
30537         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30538         If for_tests is true, augment AM_CPPFLAGS to define
30539         GNULIB_STRICT_CHECKING.
30540         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
30541         GNULIB_STRICT_CHECKING is defined, verify that the function is
30542         declared.
30543
30544 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
30545             Bruno Haible  <bruno@clisp.org>
30546
30547         libunistring: Improve configure output.
30548         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
30549         Don't say "consider installing GNU libunistring" when checking again
30550         with libiconv.
30551
30552 2010-04-11  Bruno Haible  <bruno@clisp.org>
30553
30554         libunistring: Correct value of $LTLIBUNISTRING.
30555         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
30556         correct the value of $LTLIBUNISTRING.
30557
30558 2010-04-11  Bruno Haible  <bruno@clisp.org>
30559
30560         havelib: Add static libraries to LIBS in the right order.
30561         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
30562         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
30563
30564 2010-04-11  Bruno Haible  <bruno@clisp.org>
30565
30566         libunistring: Detect libunistring also when it depends on libiconv.
30567         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
30568         the second AC_LIB_HAVE_LINKFLAGS invocation.
30569
30570 2010-04-11  James Youngman  <jay@gnu.org>
30571
30572         close-stream: declare local scalars to be "const"
30573         * lib/close-stream.c (close_stream): Make boolean variables const
30574         to document the fact that we set but do not change them.
30575
30576 2010-04-11  Bruno Haible  <bruno@clisp.org>
30577
30578         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
30579
30580 2010-04-11  Jim Meyering  <meyering@redhat.com>
30581
30582         maint.mk: don't include dist-check.mk
30583         * top/maint.mk: Remove bogus include directive.
30584
30585         maint.mk: improve empty-line-at-EOF check
30586         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
30587         solution, rather than tail+Perl-based one.  The latter would read
30588         a few kilobytes from the end of each file, and did not handle empty
30589         files properly.
30590
30591         maint.mk: print the elapsed time for each syntax-check rule
30592         * top/maint.mk (sc_m_rules_): Save start time in a file.
30593         (sc_z_rules_): New rules: remove temp file and print elapsed time.
30594         (local-check): Interpose the .z rules
30595
30596 2010-04-11  Jim Meyering  <meyering@redhat.com>
30597
30598         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
30599         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
30600         empty file with one that ends in an empty line.
30601
30602 2010-04-10  Bruno Haible  <bruno@clisp.org>
30603
30604         mkdir: Make it work on mingw64.
30605         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
30606         * lib/mkdir.c: Update comment.
30607         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
30608
30609 2010-04-10  Bruno Haible  <bruno@clisp.org>
30610
30611         Don't override improved macro from newer autoconf.
30612         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
30613         autoconf >= 2.62.
30614         Reported by Joel E. Denny <jdenny@clemson.edu>.
30615
30616 2010-04-10  Jim Meyering  <meyering@redhat.com>
30617
30618         maint.mk: new syntax-check rule: prohibit empty lines at end of file
30619         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
30620
30621         maint.mk: correct a diagnostic
30622         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
30623         in diagnostic; now use $prohibit.
30624
30625 2010-04-10  Bruno Haible  <address@hidden>
30626
30627         fchownat: Fix a C++ test error on Solaris 8.
30628         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
30629         the function does not exist.
30630
30631 2010-04-10  Bruno Haible  <bruno@clisp.org>
30632
30633         vasnprintf: Add more tests.
30634         * tests/test-vasnprintf-posix.c: Include <errno.h>.
30635         (test_function): Test converting an invalid wide string.
30636
30637         vasnprintf: Correct handling of unconvertible wide string arguments.
30638         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
30639         VASNPRINTF.
30640         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
30641         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
30642         smaller than the expected maximum need for the directive. Set errno to
30643         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
30644         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
30645         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
30646         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
30647         * modules/vasnprintf (Files): Add m4/printf.m4.
30648         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30649
30650 2010-04-10  Bruno Haible  <bruno@clisp.org>
30651
30652         vasnprintf: Fix crash in %ls directive.
30653         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
30654         string is passed as argument to %ls, with no precision and no width.
30655         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30656
30657 2010-04-10  Bruno Haible  <bruno@clisp.org>
30658
30659         vasnprintf: Fix multiple test failures on mingw.
30660         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
30661         _snprintf, or snwprintf, not _snwprintf.
30662
30663 2010-04-10  Bruno Haible  <bruno@clisp.org>
30664
30665         write: Fix a C++ test error on mingw.
30666         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
30667
30668 2010-04-10  Bruno Haible  <bruno@clisp.org>
30669
30670         vasnprintf test: Reduce code duplication.
30671         * tests/test-vasnprintf.c (test_function): New function, extracted from
30672         test_vasnprintf.
30673         (test_vasnprintf, test_asnprintf): Invoke it.
30674
30675 2010-04-10  Bruno Haible  <bruno@clisp.org>
30676
30677         strnlen: Fix warning in C++ mode on MacOS X.
30678         * lib/string.in.h (strnlen): Use the modern idiom.
30679         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
30680         defining strnlen as a macro already in <config.h>.
30681         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30682         REPLACE_STRNLEN.
30683         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
30684         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30685
30686 2010-04-08  James Youngman  <jay@gnu.org>
30687
30688         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
30689         the example.
30690
30691 2010-04-09  Jim Meyering  <meyering@redhat.com>
30692
30693         maint.mk: print better diagnostic when there is no $(_hv_file)
30694         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
30695         announce that when $(_hv_file) (aka help-version) does not exist.
30696
30697         init.sh: run tr in the "C" locale to avoid multibyte interpretation
30698         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
30699         not try to interpret its random input bytes.  Jarno Rajahalme reported
30700         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
30701         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
30702         (mktempd_): Likewise, just in case.
30703
30704         ftruncate: add two years to projected module removal date: 2012
30705         * m4/ftruncate.m4: Adjust comments.
30706
30707         ftruncate: mark module as obsolete; even MinGW provides it, now
30708         * modules/ftruncate (Status): Obsolete.
30709         (Notice): Say that.
30710         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
30711         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
30712
30713 2010-04-08  Bruno Haible  <bruno@clisp.org>
30714
30715         Fix side effects from tests-related modules.
30716         * modules/dprintf-posix (Comment): New section.
30717         * modules/fprintf-posix (Comment): Likewise.
30718         * modules/obstack-printf-posix (Comment): Likewise.
30719         * modules/printf-posix (Comment): Likewise.
30720         * modules/snprintf-posix (Comment): Likewise.
30721         * modules/sprintf-posix (Comment): Likewise.
30722         * modules/vasnprintf-posix (Comment): Likewise.
30723         * modules/vasprintf-posix (Comment): Likewise.
30724         * modules/vdprintf-posix (Comment): Likewise.
30725         * modules/vfprintf-posix (Comment): Likewise.
30726         * modules/vprintf-posix (Comment): Likewise.
30727         * modules/vsnprintf-posix (Comment): Likewise.
30728         * modules/vsprintf-posix (Comment): Likewise.
30729         * modules/xprintf-posix (Comment): Likewise.
30730         * modules/xvasprintf-posix (Comment): Likewise.
30731         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
30732         * modules/floorf-tests (Depends-on): Likewise.
30733         * modules/round-tests (Depends-on): Likewise.
30734         * modules/roundf-tests (Depends-on): Likewise.
30735         * modules/trunc-tests (Depends-on): Likewise.
30736         * modules/truncf-tests (Depends-on): Likewise.
30737         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
30738         'fprintf-posix' module is not present.
30739         * tests/test-floorf2.c (check): Likewise.
30740         * tests/test-trunc2.c (check): Likewise.
30741         * tests/test-truncf2.c (check): Likewise.
30742         * tests/test-round2.c (equal): Likewise.
30743         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30744
30745 2010-04-07  Karl Berry  <karl@gnu.org>
30746
30747         * config/srclist.txt,
30748         * config/srclistvars.sh,
30749         * config/srclist-update: doc fixes.
30750
30751 2010-04-07  Jim Meyering  <meyering@redhat.com>
30752
30753         maint.mk: add a PATH crosschecking syntax-check rule
30754         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
30755         Useful if you use a test like the one in help-version (coreutils,
30756         diffutils, grep, gzip) that ensures $(VERSION) matches what is
30757         printed by prog --version.
30758
30759 2010-04-06  Bruno Haible  <bruno@clisp.org>
30760
30761         Fix link error on mingw.
30762         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
30763         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
30764
30765 2010-04-06  Bruno Haible  <bruno@clisp.org>
30766
30767         Assume rmdir exists.
30768         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
30769
30770 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
30771
30772         doc: update users.txt
30773         * users.txt: Add gcal.
30774
30775 2010-04-06  Jim Meyering  <meyering@redhat.com>
30776
30777         init.sh: simply unset TMPDIR rather than risking env -i
30778         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
30779         although it probably works fine on all Unix-based systems, some
30780         systems (Cygwin?) cannot tolerate a totally cleared environment.
30781         Suggestion from Eric Blake.
30782
30783 2010-04-06  Jim Meyering  <meyering@redhat.com>
30784
30785         init.sh: portability fix: use env's POSIX-specified -i option not -u
30786         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
30787         than unportable env -u.  Solaris 5.11's env lacks support for -u.
30788
30789 2010-04-05  Bruno Haible  <bruno@clisp.org>
30790
30791         btowc: Work around Cygwin 1.7.2 bug.
30792         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
30793         does not map NUL to 0.
30794         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
30795
30796 2010-04-05  Bruno Haible  <bruno@clisp.org>
30797
30798         Make the multithread modules work on Cygwin 1.7.2.
30799         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
30800         imported symbols can be declared weak, so that it returns "no" on
30801         Cygwin 1.7.2.
30802
30803 2010-04-05  Bruno Haible  <bruno@clisp.org>
30804
30805         Use the module 'strncat'.
30806         * modules/unistr/u8-strncat (Depends-on): Add strncat.
30807
30808         Tests for module 'strncat'.
30809         * modules/strncat-tests: New file.
30810         * tests/test-strncat.c: New file.
30811
30812         New module 'strncat'.
30813         * lib/string.in.h (strncat): New declaration.
30814         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
30815         * m4/strncat.m4: New file, based on m4/memchr.m4.
30816         * modules/strncat: New file.
30817         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
30818         is declared.
30819         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
30820         REPLACE_STRNCAT.
30821         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
30822         REPLACE_STRNCAT.
30823         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
30824         module.
30825         * tests/test-string-c++.cc: Check signature of strncat.
30826
30827 2010-04-05  Jim Meyering  <meyering@redhat.com>
30828
30829         xstrtoumax-tests: convert to use init.sh
30830         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
30831         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30832         Use Exit, not exit.
30833         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30834
30835         xstrtoimax-tests: convert to use init.sh
30836         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
30837         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30838         Use Exit, not exit.
30839         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30840
30841 2010-04-05  Bruno Haible  <bruno@clisp.org>
30842
30843         sys_socket: Avoid #define replacements in C++ mode.
30844         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
30845         warning to the function if possible, rather than #defining the symbol
30846         to a dysfunctional alias.
30847
30848 2010-04-05  Bruno Haible  <bruno@clisp.org>
30849
30850         fseeko: Fix C++ test error on mingw.
30851         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
30852         gl_FUNC_FSEEKO.
30853         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
30854         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
30855         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
30856         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
30857
30858 2010-04-05  Bruno Haible  <bruno@clisp.org>
30859
30860         duplocale: Improve test output.
30861         * tests/test-duplocale.c (main): Print reason for skipped test.
30862
30863 2010-04-05  Bruno Haible  <bruno@clisp.org>
30864
30865         Assume rmdir exists.
30866         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
30867         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
30868
30869 2010-04-05  Bruno Haible  <bruno@clisp.org>
30870
30871         Fix link error on Solaris 8 with cc.
30872         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
30873
30874 2010-04-05  Bruno Haible  <bruno@clisp.org>
30875
30876         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
30877         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
30878
30879 2010-04-05  Bruno Haible  <bruno@clisp.org>
30880
30881         vasprintf: Update documentation.
30882         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
30883
30884 2010-04-05  Bruno Haible  <bruno@clisp.org>
30885
30886         ptsname: Improve test.
30887         * tests/test-ptsname.c (main): Also try the various master names of BSD
30888         systems.
30889
30890 2010-04-05  Bruno Haible  <bruno@clisp.org>
30891
30892         memchr: Avoid a possible C++ test error.
30893         * lib/string.in.h (memchr): Provide declaration if function is missing.
30894         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
30895         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
30896         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
30897         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
30898
30899 2010-04-05  Bruno Haible  <bruno@clisp.org>
30900
30901         strtok_r: Improve idiom.
30902         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
30903         AC_LIBOBJ is used.
30904
30905 2010-04-05  Bruno Haible  <bruno@clisp.org>
30906
30907         strdup: Improve idiom.
30908         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
30909         AC_LIBOBJ is used.
30910         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
30911         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
30912         when AC_LIBOBJ is used.
30913
30914 2010-04-05  Bruno Haible  <bruno@clisp.org>
30915
30916         mbsinit, mbrtowc, wcrtomb: Improve idioms.
30917         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
30918         don't set REPLACE_MBSINIT to 1.
30919         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
30920         don't set REPLACE_MBRTOWC to 1.
30921         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
30922         exist, don't set REPLACE_MBSRTOWCS to 1.
30923         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
30924         exist, don't set REPLACE_MBSNRTOWCS to 1.
30925         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
30926         don't set REPLACE_WCRTOMB to 1.
30927         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
30928         exist, don't set REPLACE_WCSRTOMBS to 1.
30929         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
30930         exist, don't set REPLACE_WCSNRTOMBS to 1.
30931
30932 2010-04-05  Bruno Haible  <bruno@clisp.org>
30933
30934         ldexpl: Improve idiom.
30935         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
30936         make sure to set HAVE_DECL_LDEXPL to 0.
30937
30938 2010-04-05  Jim Meyering  <meyering@redhat.com>
30939
30940         xstrtol-tests: convert to use init.sh
30941         * modules/xstrtol-tests (Files): Add tests/init.sh.
30942         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30943         Use Exit, not exit.
30944         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30945
30946         atexit-tests: convert to use init.sh
30947         * modules/atexit-tests (Files): Add tests/init.sh.
30948         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30949         Use Exit, not exit.
30950         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30951
30952         init.sh: fix typo
30953         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
30954
30955         init.sh: make it easier for a test script to write to the tty, ...
30956         when using automake's parallel-tests mode.
30957         * tests/init.sh (stderr_fileno_): Define overridable variable.
30958         (warn_): New function, to use it.
30959         (fail_, skip_, framework_failure_): Use warn_.
30960
30961 2010-04-04  Bruno Haible  <bruno@clisp.org>
30962
30963         btowc: Avoid warning.
30964         * lib/btowc.c: Include <stdlib.h>.
30965         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
30966
30967 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
30968             Bruno Haible  <bruno@clisp.org>
30969
30970         wchar: Port to NetBSD 1.5.
30971         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
30972         * lib/wctype.in.h (WEOF): Likewise.
30973
30974 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
30975             Bruno Haible  <bruno@clisp.org>
30976
30977         Port extended stdio to NetBSD 1.5.
30978         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
30979         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
30980         older.
30981
30982 2010-04-04  Bruno Haible  <bruno@clisp.org>
30983
30984         string: Remove unused substitution.
30985         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
30986         HAVE_DECL_STRERROR.
30987         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
30988
30989 2010-04-04  Bruno Haible  <bruno@clisp.org>
30990
30991         strtod: Avoid a possible C++ test error.
30992         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
30993         set REPLACE_STRTOD.
30994
30995 2010-04-04  Bruno Haible  <bruno@clisp.org>
30996
30997         strerror: Update documentation.
30998         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
30999
31000 2010-04-04  Bruno Haible  <bruno@clisp.org>
31001
31002         stdio: Fix some C++ test errors on Solaris 8 with GCC.
31003         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
31004         _GL_CXXALIAS_SYS_CAST.
31005
31006 2010-04-04  Bruno Haible  <bruno@clisp.org>
31007
31008         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
31009         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
31010         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
31011         REPLACE_FREXPL to 1.
31012         * doc/posix-functions/frexpl.texi: Update documentation.
31013
31014 2010-04-04  Bruno Haible  <bruno@clisp.org>
31015
31016         math: Fix some C++ test errors on Solaris 8 and Cygwin.
31017         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
31018
31019 2010-04-04  Bruno Haible  <bruno@clisp.org>
31020
31021         Implement nanosleep for native Windows.
31022         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
31023
31024 2010-04-04  Bruno Haible  <bruno@clisp.org>
31025
31026         math: Fix some C++ test errors on Solaris 8.
31027         * lib/math.in.h (truncf, trunc): Use simpler idiom.
31028
31029 2010-04-04  Bruno Haible  <bruno@clisp.org>
31030
31031         math: Fix some C++ test errors on Cygwin.
31032         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
31033         truncl): Provide declaration if the system does not have it.
31034         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
31035         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
31036         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
31037         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
31038         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
31039         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
31040         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
31041         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
31042         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
31043         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
31044         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
31045         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
31046         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
31047         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
31048         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
31049         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
31050         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
31051         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
31052         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
31053         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
31054         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
31055         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
31056
31057 2010-04-04  Bruno Haible  <bruno@clisp.org>
31058
31059         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
31060         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
31061         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
31062         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
31063         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
31064         * m4/isinf.m4 (gl_ISINF): Likewise.
31065         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31066
31067 2010-04-04  Bruno Haible  <bruno@clisp.org>
31068
31069         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
31070         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31071
31072 2010-04-04  Bruno Haible  <bruno@clisp.org>
31073
31074         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
31075         * modules/tmpfile (configure.ac): Update.
31076
31077         tmpfile: Fix C++ test error on mingw.
31078         * lib/stdio.in.h (tmpfile): New declaration.
31079         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
31080         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
31081         * modules/tmpfile (Depends-on): Add stdio.
31082         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
31083         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
31084         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
31085         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
31086         REPLACE_TMPFILE.
31087         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
31088
31089 2010-04-04  Bruno Haible  <bruno@clisp.org>
31090
31091         ioctl: Fix C++ test error on mingw.
31092         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
31093         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
31094         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
31095
31096 2010-04-03  Bruno Haible  <bruno@clisp.org>
31097
31098         wcwidth: Fix C++ test error on mingw.
31099         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
31100         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
31101         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
31102
31103 2010-04-03  Bruno Haible  <bruno@clisp.org>
31104
31105         nanosleep: Fix C++ test error on mingw.
31106         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
31107         * lib/time.in.h (nanosleep): Use modern idiom.
31108         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
31109         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
31110         REPLACE_NANOSLEEP to 1.
31111         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
31112         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
31113
31114 2010-04-03  Bruno Haible  <bruno@clisp.org>
31115
31116         strptime: Fix C++ test error on mingw.
31117         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
31118         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
31119         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
31120         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
31121         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
31122         not REPLACE_STRPTIME.
31123         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
31124         REPLACE_STRPTIME.
31125
31126 2010-04-03  Bruno Haible  <bruno@clisp.org>
31127
31128         timegm: Fix C++ test error on mingw.
31129         * lib/time.in.h (timegm): Use modern idiom.
31130         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
31131         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
31132         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
31133         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
31134
31135 2010-04-03  Bruno Haible  <bruno@clisp.org>
31136
31137         timegm: Assume declaration if function exists.
31138         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
31139         if it exists. Don't clobber ac_cv_func_timegm.
31140
31141 2010-04-03  Bruno Haible  <bruno@clisp.org>
31142
31143         time_r: Fix C++ test error on mingw.
31144         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
31145         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
31146         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
31147         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
31148         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
31149
31150 2010-04-03  Bruno Haible  <bruno@clisp.org>
31151
31152         time_r: Minor updates.
31153         * modules/time_r (Description): Mention the provided functions.
31154         * lib/time_r.c: Don't include <string.h>.
31155         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
31156         * doc/posix-functions/localtime_r.texi: Likewise.
31157
31158 2010-04-03  Bruno Haible  <bruno@clisp.org>
31159
31160         time: Fix regression introduced on 2010-03-08.
31161         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
31162         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
31163
31164 2010-04-03  Jim Meyering  <meyering@redhat.com>
31165
31166         maint.mk: don't silently disable project-specific syntax-check rules
31167         * top/maint.mk (_prohibit_regexp): Define, to help people realize
31168         that they need to convert their project-specific syntax-check rules
31169         to use the new _sc_search_regexp.
31170
31171 2010-04-03  Bruno Haible  <bruno@clisp.org>
31172
31173         fchdir: Fix regression introduced on 2010-03-08.
31174         * lib/unistd.in.h (fchdir): Fix declaration.
31175         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
31176         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
31177         REPLACE_FCHDIR.
31178         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
31179         REPLACE_FCHDIR.
31180
31181 2010-04-03  Bruno Haible  <bruno@clisp.org>
31182
31183         getpagesize: Fix C++ test error on mingw.
31184         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
31185         system does not declare the function.
31186         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
31187         declared.
31188         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31189         HAVE_DECL_GETPAGESIZE.
31190         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
31191
31192 2010-04-03  Bruno Haible  <bruno@clisp.org>
31193
31194         stdio: Make C++ tests work on mingw.
31195         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
31196         does not declare the function.
31197
31198 2010-04-03  Bruno Haible  <bruno@clisp.org>
31199
31200         ftello: Fix C++ test error on mingw.
31201         * lib/stdio.in.h (ftello): Use modern idiom.
31202         * lib/ftello.c (ftello): Renamed from rpl_ftello.
31203         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
31204         is missing and that it needs to be replaced.
31205         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
31206         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
31207         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
31208
31209 2010-04-03  Bruno Haible  <bruno@clisp.org>
31210
31211         fseeko: Fix C++ test error on mingw.
31212         * lib/stdio.in.h (fseeko): Use modern idiom.
31213         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
31214         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
31215         is missing and that it needs to be replaced.
31216         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
31217         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
31218         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
31219
31220 2010-04-03  Bruno Haible  <bruno@clisp.org>
31221
31222         mkstemp: Fix C++ test error on mingw.
31223         * lib/stdlib.in.h (mkstemp): Use modern idiom.
31224         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
31225         function is missing and that it needs to be replaced.
31226         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
31227         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
31228
31229 2010-04-03  Bruno Haible  <bruno@clisp.org>
31230
31231         stpncpy: Fix C++ test error on mingw.
31232         * lib/string.in.h (stpncpy): Use modern idiom.
31233         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
31234         function is missing and that it needs to be replaced.
31235         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31236         REPLACE_STPNCPY.
31237         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
31238
31239 2010-04-03  Bruno Haible  <bruno@clisp.org>
31240
31241         sys_stat: Fix C++ test error on mingw.
31242         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
31243         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
31244
31245 2010-04-03  Bruno Haible  <bruno@clisp.org>
31246
31247         pty: Update doc.
31248         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
31249
31250 2010-04-03  Bruno Haible  <bruno@clisp.org>
31251
31252         unistd: Fix C++ test error on mingw.
31253         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
31254
31255 2010-04-03  Bruno Haible  <bruno@clisp.org>
31256
31257         Update doc regarding mingw.
31258         * doc/glibc-functions/openpty.texi: Update regarding mingw.
31259         * doc/glibc-functions/login_tty.texi: Likewise.
31260         * doc/glibc-functions/forkpty.texi: Likewise.
31261
31262 2010-04-03  Bruno Haible  <bruno@clisp.org>
31263
31264         stdlib: Avoid compilation failure of c-strtold on mingw.
31265         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
31266
31267 2010-04-03  Bruno Haible  <bruno@clisp.org>
31268
31269         locale: Make C++ tests work on Cygwin and mingw.
31270         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
31271         cannot provide the function.
31272         Reported by Simon Josefsson.
31273
31274 2010-04-03  Bruno Haible  <bruno@clisp.org>
31275
31276         localename: Port to MacOS X 10.6.
31277         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
31278         memory layout of the locales in MacOS X 10.6 as well.
31279         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
31280
31281 2010-04-02  Bruno Haible  <bruno@clisp.org>
31282
31283         gnulib-tool: Ensure that long-running tests are executed last.
31284         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
31285         running tests after the one for the other tests.
31286
31287 2010-04-02  Bruno Haible  <bruno@clisp.org>
31288
31289         gnulib-tool: Ensure the tests in the main directory are executed first.
31290         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
31291         start with the current directory.
31292
31293 2010-04-02  Bruno Haible  <bruno@clisp.org>
31294
31295         Tests for module 'havelib', moved here from GNU gettext.
31296         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
31297         modifications.
31298         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
31299         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
31300         with modifications.
31301         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
31302         modifications.
31303         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
31304         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
31305         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
31306         with modifications.
31307         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
31308         with modifications.
31309         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
31310         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
31311         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
31312         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
31313         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
31314         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
31315         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
31316         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
31317         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
31318         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
31319         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
31320         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
31321         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
31322         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
31323         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
31324         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
31325         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
31326         with modifications.
31327         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
31328         with modifications.
31329         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
31330         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
31331         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
31332         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
31333         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
31334         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
31335         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
31336         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
31337         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
31338         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
31339         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
31340         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
31341         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
31342         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
31343         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
31344         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
31345         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
31346         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
31347         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
31348         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
31349         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
31350         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
31351         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
31352         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
31353         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
31354         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
31355         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
31356         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
31357         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
31358         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
31359         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
31360         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
31361         * tests/havelib/rpathx/rpathx.c: New file, from
31362         gettext/autoconf-lib-link.
31363         * tests/havelib/rpathx/Makefile.am: New file, from
31364         gettext/autoconf-lib-link.
31365         * tests/havelib/rpathx/configure.ac: New file, from
31366         gettext/autoconf-lib-link with modifications.
31367         * tests/havelib/rpathy/rpathy.c: New file, from
31368         gettext/autoconf-lib-link.
31369         * tests/havelib/rpathy/Makefile.am: New file, from
31370         gettext/autoconf-lib-link.
31371         * tests/havelib/rpathy/configure.ac: New file, from
31372         gettext/autoconf-lib-link with modifications.
31373         * tests/havelib/rpathz/rpathz.c: New file, from
31374         gettext/autoconf-lib-link.
31375         * tests/havelib/rpathz/Makefile.am: New file, from
31376         gettext/autoconf-lib-link.
31377         * tests/havelib/rpathz/configure.ac: New file, from
31378         gettext/autoconf-lib-link with modifications.
31379         * tests/havelib/rpathlx/usex.c: New file, from
31380         gettext/autoconf-lib-link.
31381         * tests/havelib/rpathlx/Makefile.am: New file, from
31382         gettext/autoconf-lib-link.
31383         * tests/havelib/rpathlx/configure.ac: New file, from
31384         gettext/autoconf-lib-link with modifications.
31385         * tests/havelib/rpathly/usey.c: New file, from
31386         gettext/autoconf-lib-link.
31387         * tests/havelib/rpathly/Makefile.am: New file, from
31388         gettext/autoconf-lib-link.
31389         * tests/havelib/rpathly/configure.ac: New file, from
31390         gettext/autoconf-lib-link with modifications.
31391         * tests/havelib/rpathlz/usez.c: New file, from
31392         gettext/autoconf-lib-link.
31393         * tests/havelib/rpathlz/Makefile.am: New file, from
31394         gettext/autoconf-lib-link.
31395         * tests/havelib/rpathlz/configure.ac: New file, from
31396         gettext/autoconf-lib-link with modifications.
31397         * tests/havelib/rpathlyx/usey.c: New file, from
31398         gettext/autoconf-lib-link.
31399         * tests/havelib/rpathlyx/Makefile.am: New file, from
31400         gettext/autoconf-lib-link.
31401         * tests/havelib/rpathlyx/configure.ac: New file, from
31402         gettext/autoconf-lib-link with modifications.
31403         * tests/havelib/rpathlzyx/usez.c: New file, from
31404         gettext/autoconf-lib-link.
31405         * tests/havelib/rpathlzyx/Makefile.am: New file, from
31406         gettext/autoconf-lib-link.
31407         * tests/havelib/rpathlzyx/configure.ac: New file, from
31408         gettext/autoconf-lib-link with modifications.
31409         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
31410         with modifications.
31411
31412 2010-04-02  Bruno Haible  <bruno@clisp.org>
31413
31414         gnulib-tool: Create distributed built sources also for the tests.
31415         * gnulib-tool (func_create_testdir): Also generate distributed built
31416         sources in the tests directory.
31417
31418 2010-04-02  Bruno Haible  <bruno@clisp.org>
31419
31420         gnulib-tool: Obey user's environment variables.
31421         * gnulib-tool (func_create_testdir): When creating built sources,
31422         respect the environment variables for autoconf, automake, etc. given by
31423         the user.
31424
31425 2010-04-02  Bruno Haible  <bruno@clisp.org>
31426
31427         gnulib-tool: Provide the value of --m4-base to modules.
31428         * gnulib-tool (func_import, func_create_testdir): Emit a definition
31429         of gl_m4_base.
31430
31431 2010-04-02  Eric Blake  <eblake@redhat.com>
31432
31433         maint.mk: fix some fallout
31434         * NEWS: Document the incompatible change, and its effect on cfg.mk.
31435         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
31436
31437 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
31438
31439         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
31440         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
31441         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
31442         (sc_cast_of_x_alloc_return_value): Likewise.
31443         (sc_cast_of_alloca_return_value): Likewise.
31444         (sc_space_tab): Likewise.
31445         (sc_prohibit_atoi_atof): Likewise.
31446         (sc_prohibit_magic_number_exit): Likewise.
31447         (sc_error_exit_success): Likewise.
31448         (sc_file_system): Likewise.
31449         (sc_prohibit_have_config_h): Likewise.
31450         (sc_require_config_h): Likewise.
31451         (sc_prohibit_HAVE_MBRTOWC): Likewise.
31452         (sc_obsolete_symbols): Likewise.
31453         (sc_changelog): Likewise.
31454         (sc_program_name): Likewise.
31455         (sc_the_the): Likewise.
31456         (sc_trailing_blank): Likewise.
31457         (sc_two_space_separator_in_usage): Likewise.
31458         (sc_useless_cpp_parens): Likewise.
31459         (sc_GPL_version): Likewise.
31460         (sc_GFDL_version): Likewise.
31461         (sc_texinfo_acronym): Likewise.
31462         (sc_prohibit_cvs_keyword): Likewise.
31463         (sc_prohibit_stat_st_blocks): Likewise.
31464         (sc_prohibit_S_IS_definition): Likewise.
31465         (sc_redundant_const): Likewise.
31466         (sc_makefile_TAB_only_indentation): Likewise.
31467         (sc_m4_quote_check): Likewise.
31468         (sc_makefile_path_separator_check): Likewise.
31469         (sc_copyright_check): Likewise.
31470         (sc_Wundef_boolean): Likewise.
31471         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
31472
31473         maint.mk: match 0 or more whitespace-before-function-call '('
31474         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
31475         that have zero or two-and-more spaces between the function name
31476         and the open parenthesis.
31477         (sc_error_message_warn_fatal): Likewise.
31478         (sc_error_message_uppercase): Likewise.
31479         (sc_error_message_period): Likewise.
31480
31481 2010-03-31  Eric Blake  <eblake@redhat.com>
31482
31483         maint.mk: check for [ as well as test
31484         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
31485         Based on a libvirt report by Matthias Bolte.
31486
31487         gnumakefile: don't squelch _version output
31488         * top/GNUmakefile (_version): Create one-shot dependency rather
31489         than using $(shell) when version must be regenerated.
31490         (_autoreconf): Run verbosely, by default.
31491
31492         sys_time: avoid compiler warnings
31493         * lib/sys_time.in.h (includes): Ensure gcc pragma is
31494         unconditional, fixing regression from 2010-03-29.
31495         Reported by Simon Josefsson.
31496
31497 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
31498
31499         maint.mk: s/_header_without_use/_sc_header_without_use/
31500         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
31501         (sc_prohibit_assert_without_use): Use the new name.
31502         (sc_prohibit_close_stream_without_use): Likewise.
31503         (sc_prohibit_getopt_without_use): Likewise.
31504         (sc_prohibit_quotearg_without_use): Likewise.
31505         (sc_prohibit_quote_without_use): Likewise.
31506         (sc_prohibit_long_options_without_use): Likewise.
31507         (sc_prohibit_inttostr_without_use): Likewise.
31508         (sc_prohibit_ignore_value_without_use): Likewise.
31509         (sc_prohibit_error_without_use): Likewise.
31510         (sc_prohibit_xalloc_without_use): Likewise.
31511         (sc_prohibit_hash_without_use): Likewise.
31512         (sc_prohibit_hash_pjw_without_use): Likewise.
31513         (sc_prohibit_safe_read_without_use): Likewise.
31514         (sc_prohibit_argmatch_without_use): Likewise.
31515         (sc_prohibit_canonicalize_without_use): Likewise.
31516         (sc_prohibit_root_dev_ino_without_use): Likewise.
31517         (sc_prohibit_openat_without_use): Likewise.
31518         (sc_prohibit_c_ctype_without_use): Likewise.
31519         (sc_prohibit_signal_without_use): Likewise.
31520         (sc_prohibit_intprops_without_use): Likewise.
31521
31522 2010-03-30  Eric Blake  <eblake@redhat.com>
31523
31524         maint: improve module indicators
31525         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
31526         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
31527         columns, and avoid extra macro expansion.
31528
31529         fdopendir: work around FreeBSD bug
31530         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
31531         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
31532         * modules/dirent (Makefile.am): Substitute it.
31533         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
31534         declaration.
31535         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
31536         fix.
31537         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31538
31539 2010-03-29  Bruno Haible  <bruno@clisp.org>
31540
31541         Emit #pragma system_header after the inclusion guard, not before.
31542         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
31543         guard that spans the entire file, not before. This enables an
31544         optimization in GCC's preprocessor.
31545         * lib/ctype.in.h: Likewise.
31546         * lib/dirent.in.h: Likewise.
31547         * lib/errno.in.h: Likewise.
31548         * lib/float.in.h: Likewise.
31549         * lib/getopt.in.h: Likewise.
31550         * lib/iconv.in.h: Likewise.
31551         * lib/langinfo.in.h: Likewise.
31552         * lib/locale.in.h: Likewise.
31553         * lib/math.in.h: Likewise.
31554         * lib/netdb.in.h: Likewise.
31555         * lib/netinet_in.in.h: Likewise.
31556         * lib/pty.in.h: Likewise.
31557         * lib/sched.in.h: Likewise.
31558         * lib/se-selinux.in.h: Likewise.
31559         * lib/search.in.h: Likewise.
31560         * lib/spawn.in.h: Likewise.
31561         * lib/stdarg.in.h: Likewise.
31562         * lib/stdint.in.h: Likewise.
31563         * lib/string.in.h: Likewise.
31564         * lib/strings.in.h: Likewise.
31565         * lib/sys_file.in.h: Likewise.
31566         * lib/sys_ioctl.in.h: Likewise.
31567         * lib/sys_time.in.h: Likewise.
31568         * lib/sys_times.in.h: Likewise.
31569         * lib/sys_utsname.in.h: Likewise.
31570         * lib/sys_wait.in.h: Likewise.
31571         * lib/sysexits.in.h: Likewise.
31572         * lib/wctype.in.h: Likewise.
31573
31574 2010-03-28  James Youngman  <jay@gnu.org>
31575
31576         save-cwd: don't leak a file descriptor when the caller execs.
31577         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
31578         saved file descriptor.
31579         * modules/save-cwd (Depends-on): Depend on cloexec.
31580
31581 2010-03-29  Bruno Haible  <bruno@clisp.org>
31582
31583         Remove vestiges of fts-lgpl module.
31584         * lib/fts_.h: Assume GNULIB_FTS is 1.
31585         * lib/fts.c: Likewise.
31586         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
31587
31588 2010-03-28  Bruno Haible  <bruno@clisp.org>
31589
31590         Fix definition of tests witness macro.
31591         * gnulib-tool (func_import): Fix definition of witness macro.
31592
31593 2010-03-28  Bruno Haible  <bruno@clisp.org>
31594
31595         Fix ioctl's protoype on glibc systems.
31596         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
31597         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
31598         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
31599         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
31600         signature. If not, arrange to replace the ioctl function.
31601         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
31602         REPLACE_IOCTL.
31603         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
31604         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
31605         Reported by Ludovic Courtès <ludo@gnu.org>.
31606
31607 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
31608
31609         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
31610         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
31611         made it so grep -r --include=GLOB* ... did not work.
31612
31613 2010-03-26  Jim Meyering  <meyering@redhat.com>
31614             Eric Blake  <eblake@redhat.com>
31615
31616         maint.mk: prohibit use of test's -o and -a operators
31617         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
31618
31619 2010-03-28  Bruno Haible  <bruno@clisp.org>
31620
31621         Remove unused GNULIB_XYZ macro definitions.
31622         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
31623         invocation.
31624
31625 2010-03-28  Bruno Haible  <bruno@clisp.org>
31626
31627         Mark privileged tests modules.
31628         * modules/idpriv-drop-tests (Status): New section.
31629         * modules/idpriv-droptemp-tests (Status): New section.
31630
31631 2010-03-28  Bruno Haible  <bruno@clisp.org>
31632
31633         Split C++ tests into separate tests modules.
31634         * modules/dirent-c++-tests: New file, extracted from
31635         modules/dirent-tests.
31636         * modules/dirent-tests: Depend on it.
31637         * modules/fcntl-h-c++-tests: New file, extracted from
31638         modules/fcntl-h-tests.
31639         * modules/fcntl-h-tests: Depend on it.
31640         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
31641         * modules/glob-tests: Depend on it.
31642         * modules/iconv-h-c++-tests: New file, extracted from
31643         modules/iconv-h-tests.
31644         * modules/iconv-h-tests: Depend on it.
31645         * modules/langinfo-c++-tests: New file, extracted from
31646         modules/langinfo-tests.
31647         * modules/langinfo-tests: Depend on it.
31648         * modules/locale-c++-tests: New file, extracted from
31649         modules/locale-tests.
31650         * modules/locale-tests: Depend on it.
31651         * modules/math-c++-tests: New file, extracted from modules/math-tests.
31652         * modules/math-tests: Depend on it.
31653         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
31654         * modules/pty-tests: Depend on it.
31655         * modules/search-c++-tests: New file, extracted from
31656         modules/search-tests.
31657         * modules/search-tests: Depend on it.
31658         * modules/signal-c++-tests: New file, extracted from
31659         modules/signal-tests.
31660         * modules/signal-tests: Depend on it.
31661         * modules/spawn-c++-tests: New file, extracted from
31662         modules/spawn-tests.
31663         * modules/spawn-tests: Depend on it.
31664         * modules/stdio-c++-tests: New file, extracted from
31665         modules/stdio-tests.
31666         * modules/stdio-tests: Depend on it.
31667         * modules/stdlib-c++-tests: New file, extracted from
31668         modules/stdlib-tests.
31669         * modules/stdlib-tests: Depend on it.
31670         * modules/string-c++-tests: New file, extracted from
31671         modules/string-tests.
31672         * modules/string-tests: Depend on it.
31673         * modules/sys_ioctl-c++-tests: New file, extracted from
31674         modules/sys_ioctl-tests.
31675         * modules/sys_ioctl-tests: Depend on it.
31676         * modules/sys_select-c++-tests: New file, extracted from
31677         modules/sys_select-tests.
31678         * modules/sys_select-tests: Depend on it.
31679         * modules/sys_socket-c++-tests: New file, extracted from
31680         modules/sys_socket-tests.
31681         * modules/sys_socket-tests: Depend on it.
31682         * modules/sys_stat-c++-tests: New file, extracted from
31683         modules/sys_stat-tests.
31684         * modules/sys_stat-tests: Depend on it.
31685         * modules/sys_time-c++-tests: New file, extracted from
31686         modules/sys_time-tests.
31687         * modules/sys_time-tests: Depend on it.
31688         * modules/time-c++-tests: New file, extracted from modules/time-tests.
31689         * modules/time-tests: Depend on it.
31690         * modules/unistd-c++-tests: New file, extracted from
31691         modules/unistd-tests.
31692         * modules/unistd-tests: Depend on it.
31693         * modules/wchar-c++-tests: New file, extracted from
31694         modules/wchar-tests.
31695         * modules/wchar-tests: Depend on it.
31696         * modules/wctype-c++-tests: New file, extracted from
31697         modules/wctype-tests.
31698         * modules/wctype-tests: Depend on it.
31699         Reported by Simon Josefsson.
31700
31701 2010-03-28  Bruno Haible  <bruno@clisp.org>
31702
31703         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
31704         * gnulib-tool (func_exists_module): New function, extracted from
31705         func_verify_module.
31706         (func_verify_module): Use it.
31707         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
31708         'foo' only if 'foo' exists.
31709         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
31710         module.
31711
31712 2010-03-28  Bruno Haible  <bruno@clisp.org>
31713
31714         gnulib-tool: Add support for special categories of tests.
31715         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
31716         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
31717         (func_usage): Document them.
31718         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
31719         inc_unportable_tests, inc_all_tests): New variables.
31720         (func_acceptable): Consider these variables.
31721         (func_modules_transitive_closure): Make it work when the 'Status' field
31722         consists of multiple words.
31723         (func_import): Store and restore the values of inc_cxx_tests,
31724         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
31725         inc_all_tests in gnulib-comp.m4.
31726         (func_create_testdir): Set inc_all_tests to true.
31727         * doc/gnulib.texi (Extra tests modules): New section.
31728         Suggested by Jim Meyering.
31729
31730 2010-03-28  Bruno Haible  <bruno@clisp.org>
31731
31732         ansi-c++-opt: Allow turning off the C++ build by default.
31733         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
31734         gl_CXX_CHOICE_DEFAULT_NO is defined.
31735         Requested by Eric Blake.
31736
31737 2010-03-28  Bruno Haible  <bruno@clisp.org>
31738
31739         unistd: Avoid #define replacements in C++ mode.
31740         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
31741         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
31742         setsockopt, shutdown, select): In C++, attach a warning to the function
31743         if possible, rather than #defining the symbol to a dysfunctional alias.
31744         Reported by John W. Eaton <jwe@gnu.org>.
31745
31746 2010-03-28  Bruno Haible  <bruno@clisp.org>
31747
31748         Fix link errors on mingw.
31749         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
31750         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
31751         $(LIBSOCKET).
31752         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
31753         $(LIBSOCKET).
31754
31755 2010-03-28  Bruno Haible  <bruno@clisp.org>
31756             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31757
31758         lib-ignore: Determine different options for different compilers.
31759         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
31760         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
31761         Add comments.
31762         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
31763         * NEWS: Mention the change.
31764
31765 2010-03-27  Bruno Haible  <bruno@clisp.org>
31766
31767         Remove unused GNULIB_XYZ macro definitions.
31768         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
31769         * modules/fseek (configure.ac): Likewise.
31770         * modules/ioctl (configure.ac): Likewise.
31771         * modules/open (configure.ac): Likewise.
31772         * modules/stdlib-safer (configure.ac): Likewise.
31773
31774 2010-03-27  Bruno Haible  <bruno@clisp.org>
31775
31776         Add a remark about certain modules.
31777         * modules/malloc (Comment): New section.
31778         * modules/realloc (Comment): Likewise.
31779         * modules/sigpipe (Comment): Likewise.
31780
31781 2010-03-27  Bruno Haible  <bruno@clisp.org>
31782
31783         Resolve conflict between the two kinds of module indicators.
31784         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
31785         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
31786         * modules/canonicalize (configure.ac): Invoke
31787         gl_MODULE_INDICATOR_FOR_TESTS.
31788         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
31789         GNULIB_XYZ.
31790         * tests/test-dirent-c++.cc: Likewise.
31791         * tests/test-dirent-safer.c: Likewise.
31792         * tests/test-dup2.c: Likewise.
31793         * tests/test-fchdir.c: Likewise.
31794         * tests/test-fcntl-h-c++.cc: Likewise.
31795         * tests/test-getopt.c: Likewise.
31796         * tests/test-getopt.h: Likewise.
31797         * tests/test-langinfo-c++.cc: Likewise.
31798         * tests/test-locale-c++.cc: Likewise.
31799         * tests/test-math-c++.cc: Likewise.
31800         * tests/test-pty-c++.cc: Likewise.
31801         * tests/test-search-c++.cc: Likewise.
31802         * tests/test-signal-c++.cc: Likewise.
31803         * tests/test-spawn-c++.cc: Likewise.
31804         * tests/test-stdio-c++.cc: Likewise.
31805         * tests/test-stdlib-c++.cc: Likewise.
31806         * tests/test-string-c++.cc: Likewise.
31807         * tests/test-sys_ioctl-c++.cc: Likewise.
31808         * tests/test-sys_select-c++.cc: Likewise.
31809         * tests/test-sys_socket-c++.cc: Likewise.
31810         * tests/test-sys_stat-c++.cc: Likewise.
31811         * tests/test-sys_time-c++.cc: Likewise.
31812         * tests/test-time-c++.cc: Likewise.
31813         * tests/test-unistd-c++.cc: Likewise.
31814         * tests/test-wchar-c++.cc: Likewise.
31815         * tests/uninorm/test-u8-nfc.c: Likewise.
31816         * tests/uninorm/test-u8-nfd.c: Likewise.
31817         * tests/uninorm/test-u8-nfkc.c: Likewise.
31818         * tests/uninorm/test-u8-nfkd.c: Likewise.
31819         * tests/uninorm/test-u16-nfc.c: Likewise.
31820         * tests/uninorm/test-u16-nfd.c: Likewise.
31821         * tests/uninorm/test-u16-nfkc.c: Likewise.
31822         * tests/uninorm/test-u16-nfkd.c: Likewise.
31823         * tests/uninorm/test-u32-nfc.c: Likewise.
31824         * tests/uninorm/test-u32-nfc-big.c: Likewise.
31825         * tests/uninorm/test-u32-nfd.c: Likewise.
31826         * tests/uninorm/test-u32-nfd-big.c: Likewise.
31827         * tests/uninorm/test-u32-nfkc.c: Likewise.
31828         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
31829         * tests/uninorm/test-u32-nfkd.c: Likewise.
31830         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
31831         * tests/uninorm/test-u32-normalize-big.c: Likewise.
31832
31833 2010-03-27  Bruno Haible  <bruno@clisp.org>
31834
31835         Distinguish two kinds of module indicators.
31836         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
31837         gl_MODULE_INDICATOR.
31838         (gl_MODULE_INDICATOR): New macro.
31839         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
31840         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
31841         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
31842         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
31843         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
31844         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
31845         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
31846         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
31847         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
31848         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
31849         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
31850         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
31851         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
31852         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
31853         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
31854         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
31855         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
31856         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
31857         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
31858         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
31859         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
31860         * modules/cloexec (configure.ac): Likewise.
31861         * modules/getopt-gnu (configure.ac): Likewise.
31862         * modules/uninorm/u8-normalize (configure.ac): Likewise.
31863         * modules/uninorm/u16-normalize (configure.ac): Likewise.
31864         * modules/uninorm/u32-normalize (configure.ac): Likewise.
31865         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
31866
31867 2010-03-27  Bruno Haible  <bruno@clisp.org>
31868
31869         New module description field 'Comment'.
31870         * gnulib-tool: New option --extract-comment.
31871         (func_usage): Document it.
31872         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
31873         (func_get_comment): New function.
31874         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
31875
31876 2010-03-27  Bruno Haible  <bruno@clisp.org>
31877
31878         Addendum to 2010-02-07 commit.
31879         * gnulib-tool (func_usage): Document --extract-applicability option.
31880
31881 2010-03-27  Bruno Haible  <bruno@clisp.org>
31882
31883         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
31884         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
31885         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
31886         rather than link errors.
31887
31888 2010-03-27  Bruno Haible  <bruno@clisp.org>
31889
31890         Avoid side effects from tests-related modules on the compilation of lib.
31891         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
31892         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
31893         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
31894         parameter. Emit into AM_CPPFLAGS a definition of the designated C
31895         macro.
31896         (func_import): Define a witness macro. Assign it a value that depends
31897         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
31898         tests-related modules.
31899         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
31900         Reported by Jim Meyering.
31901
31902 2010-03-27  Bruno Haible  <bruno@clisp.org>
31903
31904         Factorize common .m4 code.
31905         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
31906         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
31907         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
31908         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
31909         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
31910         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
31911         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
31912         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
31913         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
31914         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
31915         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
31916         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
31917         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
31918         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
31919         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
31920         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
31921         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
31922         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
31923         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
31924         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
31925         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
31926         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
31927         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
31928         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
31929         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
31930         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
31931         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
31932         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
31933         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
31934         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
31935         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
31936         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
31937
31938 2010-03-27  Bruno Haible  <bruno@clisp.org>
31939
31940         Fix a compilation error on Cygwin with g++ >= 4.3.
31941         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
31942         if it is undefined or if we alias it to chmod.
31943         (lstat): Don't warn about the use of this function if it is undefined
31944         or if we alias it to stat.
31945         Reported by Simon Josefsson.
31946
31947 2010-03-27  Bruno Haible  <bruno@clisp.org>
31948
31949         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
31950         * modules/getlogin (configure.ac): Update.
31951
31952         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
31953         * modules/getlogin_r (configure.ac): Update.
31954
31955         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
31956         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
31957         * modules/inet_ntop (configure.ac): Update.
31958
31959         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
31960         * modules/inet_pton (configure.ac): Update.
31961
31962         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
31963         * modules/mbslen (configure.ac): Update.
31964
31965         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
31966         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
31967         * modules/forkpty (configure.ac): Update.
31968         * modules/openpty (configure.ac): Update.
31969
31970 2010-03-26  Simon Josefsson  <simon@josefsson.org>
31971
31972         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
31973         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
31974
31975 2010-03-25  Eric Blake  <eblake@redhat.com>
31976
31977         maint: use pragma consistently across replacement headers
31978         * lib/ctype.in.h (system_header): Hoist for consistent placement.
31979         * lib/dirent.in.h (system_header): Likewise.
31980         * lib/errno.in.h (system_header): Likewise.
31981         * lib/float.in.h (system_header): Likewise.
31982         * lib/getopt.in.h (system_header): Likewise.
31983         * lib/iconv.in.h (system_header): Likewise.
31984         * lib/inttypes.in.h (system_header): Likewise.
31985         * lib/langinfo.in.h (system_header): Likewise.
31986         * lib/locale.in.h (system_header): Likewise.
31987         * lib/math.in.h (system_header): Likewise.
31988         * lib/netdb.in.h (system_header): Likewise.
31989         * lib/netinet_in.in.h (system_header): Likewise.
31990         * lib/pty.in.h (system_header): Likewise.
31991         * lib/sched.in.h (system_header): Likewise.
31992         * lib/se-selinux.in.h (system_header): Likewise.
31993         * lib/search.in.h (system_header): Likewise.
31994         * lib/spawn.in.h (system_header): Likewise.
31995         * lib/stdarg.in.h (system_header): Likewise.
31996         * lib/stdint.in.h (system_header): Likewise.
31997         * lib/string.in.h (system_header): Likewise.
31998         * lib/strings.in.h (system_header): Likewise.
31999         * lib/sys_file.in.h (system_header): Likewise.
32000         * lib/sys_ioctl.in.h (system_header): Likewise.
32001         * lib/sys_socket.in.h (system_header): Likewise.
32002         * lib/sys_times.in.h (system_header): Likewise.
32003         * lib/sys_utsname.in.h (system_header): Likewise.
32004         * lib/sys_wait.in.h (system_header): Likewise.
32005         * lib/sysexits.in.h (system_header): Likewise.
32006         * lib/unistd.in.h (system_header): Likewise.
32007         * lib/wctype.in.h (system_header): Likewise.
32008
32009         arpa/inet: fix mingw compilation warning
32010         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
32011         Reported by Matthew Bolte.
32012
32013 2010-03-25  Bruno Haible  <bruno@clisp.org>
32014
32015         Avoid collision between gnulib wrapper and libintl wrapper.
32016         * lib/printf.c (printf): Don't define if a printf wrapper is already
32017         defined in intl/printf.c.
32018         Reported by Michel Boaventura <michel@michelboaventura.com>.
32019
32020 2010-03-25  Bruno Haible  <bruno@clisp.org>
32021
32022         Use ANSI C.
32023         * lib/readutmp.h (getutent): Provide ANSI C prototype.
32024
32025 2010-03-25  Bruno Haible  <bruno@clisp.org>
32026
32027         Minor formatting changes.
32028         * lib/acosl.c: Insert space before function argument list.
32029         * lib/argz.c: Likewise.
32030         * lib/asinl.c: Likewise.
32031         * lib/expl.c: Likewise.
32032         * lib/gen-uni-tables.c: Likewise.
32033         * lib/gettext.h: Likewise.
32034         * lib/glthread/lock.h: Likewise.
32035         * lib/tanl.c: Likewise.
32036         * lib/uniname/uniname.c: Likewise.
32037         * tests/test-idpriv-drop.c: Likewise.
32038         * tests/test-idpriv-droptemp.c: Likewise.
32039         * tests/test-lock.c: Likewise.
32040         * tests/test-tls.c: Likewise.
32041         * lib/argp-help.c: Insert space before function-like macro argument
32042         list.
32043         * lib/memcmp.c: Likewise.
32044         * tests/test-base64.c: Likewise.
32045         * lib/localename.c: Insert space before sizeof's argument list.
32046         * lib/safe-alloc.h: Likewise.
32047         * lib/file-set.h: Insert space before macro argument list.
32048         * tests/test-argp.c: Likewise.
32049         * lib/argp-namefrob.h: Insert space before function parameter list.
32050         * lib/getaddrinfo.c: Likewise.
32051         * lib/netdb.in.h: Likewise.
32052         * lib/parse-duration.h: Likewise.
32053         * lib/parse-duration.c: Likewise.
32054         * lib/poll.c: Likewise.
32055         * lib/select.c: Likewise.
32056         * lib/trim.h: Likewise.
32057         * tests/test-usleep.c: Likewise.
32058         * lib/ldexpl.c: Insert space before function parameter list and before
32059         function argument list.
32060         * lib/logl.c: Likewise.
32061         * lib/sqrtl.c: Likewise.
32062         * lib/trim.c: Likewise.
32063         * lib/cosl.c: Use GNU style indentation. Insert space before function
32064         argument list.
32065         * lib/sinl.c: Likewise.
32066         * lib/tsearch.c: Insert space after 'for'.
32067         Reported by Jim Meyering.
32068
32069 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
32070
32071         * maint.mk (sc_Wundef_boolean): Check for the presence of the
32072         config header before grepping, as it's not present before
32073         autoreconf/configure are run.  Reported by Simon Josefsson.
32074
32075 2010-03-23  Bruno Haible  <bruno@clisp.org>
32076
32077         pt_chown: Make it work with automake < 1.11.
32078         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
32079         Reported by Simon Josefsson.
32080
32081 2010-03-23  Bruno Haible  <bruno@clisp.org>
32082
32083         pt_chown: Don't depend on GPLed modules.
32084         * lib/pt_chown.c: Don't include idpriv.h.
32085         (main): Don't drop privileges.
32086         * modules/pt_chown (Depends-on): Remove idpriv-drop.
32087         Reported by Simon Josefsson.
32088
32089 2010-03-24  Simon Josefsson  <simon@josefsson.org>
32090
32091         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
32092         suggestions from karl@freefriends.org (Karl Berry).
32093
32094 2010-03-22  Eric Blake  <eblake@redhat.com>
32095
32096         gethostname: further tweaks
32097         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
32098         are overriding gethostname.
32099         Suggested by Bruno Haible.
32100
32101 2010-03-21  Bruno Haible  <bruno@clisp.org>
32102
32103         Fix comments.
32104         * lib/forkpty.c (rpl_forkpty): Fix comment.
32105         * lib/openpty.c (rpl_openpty): Likewise.
32106         Reported by Eric Blake.
32107
32108 2010-03-22  Eric Blake  <eblake@redhat.com>
32109
32110         gethostname: fix build on mingw
32111         * lib/unistd.in.h (includes): Work around fact that mingw
32112         <winsock2.h> re-includes <unistd.h>, by avoiding any
32113         redeclarations if we are being included by <winsock2.h>.
32114         Reported by Matthias Bolte.
32115
32116 2010-03-21  Bruno Haible  <bruno@clisp.org>
32117
32118         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
32119         * lib/forkpty.c (forkpty): New replacement function, from glibc with
32120         modifications.
32121         * lib/pty.in.h (forkpty): Update declaration. Add comments.
32122         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
32123         provide the replacement.
32124         * modules/forkpty (Depends-on): Add openpty, login_tty.
32125         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
32126         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
32127         * doc/glibc-functions/forkpty.texi: More supported platforms.
32128         * config/srclist.txt: Add forkpty.c (commented).
32129
32130 2010-03-21  Bruno Haible  <bruno@clisp.org>
32131
32132         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
32133         (Makefile.am): Verify that PTY_LIB is defined.
32134
32135         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
32136
32137 2010-03-21  Bruno Haible  <bruno@clisp.org>
32138
32139         Tests for module 'login_tty'.
32140         * modules/login_tty-tests: New file.
32141         * tests/test-login_tty.c: New file.
32142
32143         New module 'login_tty'.
32144         * lib/login_tty.c: New file.
32145         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
32146         * modules/login_tty: New file.
32147         * doc/glibc-functions/login_tty.texi: Mention the new module.
32148
32149 2010-03-21  Bruno Haible  <bruno@clisp.org>
32150
32151         login_tty: Documentation.
32152         * doc/glibc-functions/login_tty.texi: New file.
32153         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
32154
32155 2010-03-21  Bruno Haible  <bruno@clisp.org>
32156
32157         pty: Consistent macro naming.
32158         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
32159         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
32160         * modules/pty (configure.ac): Update.
32161
32162 2010-03-21  Bruno Haible  <bruno@clisp.org>
32163
32164         Tests for openpty: Make stricter.
32165         * tests/test-openpty.c (main): Add test of canonical processing and
32166         erase.
32167         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
32168
32169         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
32170         * lib/openpty.c (openpty): New replacement function.
32171         * lib/pty.in.h: Include <termios.h>.
32172         (openpty): Update declaration. Add comments.
32173         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
32174         is not declared, arrange to provide the replacement. Check for _getpty
32175         and posix_openpt.
32176         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
32177         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
32178         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
32179         * modules/pty-tests (test_pty_c___LDADD): New variable.
32180         * doc/glibc-functions/openpty.texi: More supported platforms.
32181
32182 2010-03-21  Bruno Haible  <bruno@clisp.org>
32183
32184         setenv: Tweaks.
32185         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
32186         the test program.
32187         * doc/posix-functions/setenv.texi: Update platforms list.
32188
32189 2010-03-21  Bruno Haible  <bruno@clisp.org>
32190
32191         New module 'unlockpt'.
32192         * lib/unlockpt.c: New file, from glibc with modifications.
32193         * m4/unlockpt.m4: New file.
32194         * modules/unlockpt: New file.
32195         * lib/stdlib.in.h (unlockpt): New declaration.
32196         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
32197         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
32198         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
32199         HAVE_UNLOCKPT.
32200         * doc/posix-functions/unlockpt.texi: Mention the new module.
32201         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
32202         * config/srclist.txt: Add unlockpt.c (commented).
32203
32204 2010-03-21  Jim Meyering  <meyering@redhat.com>
32205
32206         maint.mk: prohibit inclusion of "intprops.h" without use
32207         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
32208
32209 2010-03-21  Bruno Haible  <bruno@clisp.org>
32210
32211         New module 'grantpt'.
32212         * lib/grantpt.c: New file, from glibc with modifications.
32213         * m4/grantpt.m4: New file.
32214         * modules/grantpt: New file.
32215         * lib/stdlib.in.h (grantpt): New declaration.
32216         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
32217         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
32218         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
32219         HAVE_GRANTPT.
32220         * doc/posix-functions/grantpt.texi: Mention the new module.
32221         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
32222         * config/srclist.txt: Add grantpt.c (commented).
32223
32224 2010-03-21  Bruno Haible  <bruno@clisp.org>
32225
32226         New module 'pt_chown'.
32227         * lib/pt_chown.c: New file, from glibc with modifications.
32228         * lib/pty-private.h: New file, from glibc with modifications.
32229         * modules/pt_chown: New file.
32230         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
32231
32232 2010-03-21  Bruno Haible  <bruno@clisp.org>
32233
32234         Tests for module 'ptsname'.
32235         * modules/ptsname-tests: New file.
32236         * tests/test-ptsname.c: New file.
32237
32238         New module 'ptsname'.
32239         * lib/ptsname.c: New file, from glibc with modifications.
32240         * m4/ptsname.m4: New file.
32241         * modules/ptsname: New file.
32242         * lib/stdlib.in.h (ptsname): New declaration.
32243         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
32244         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
32245         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
32246         HAVE_PTSNAME.
32247         * doc/posix-functions/ptsname.texi: Mention the new module.
32248         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
32249         * config/srclist.txt: Add ptsname.c (commented).
32250
32251 2010-03-21  Bruno Haible  <bruno@clisp.org>
32252
32253         Tests for module 'ttyname_r'.
32254         * modules/ttyname_r-tests: New file.
32255         * tests/test-ttyname_r.c: New file.
32256
32257         New module 'ttyname_r'.
32258         * lib/ttyname_r.c: New file.
32259         * m4/ttyname_r.m4: New file.
32260         * modules/ttyname_r: New file.
32261         * lib/unistd.in.h (ttyname_r): New declaration.
32262         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
32263         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
32264         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
32265         HAVE_TTYNAME_R.
32266         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
32267         * doc/posix-functions/ttyname_r.texi: Mention the new module.
32268
32269 2010-03-20  Bruno Haible  <bruno@clisp.org>
32270
32271         signal: Undefine macro definitions in C++ mode.
32272         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
32273         sigfillset): Undefine macro definitions from the system header in C++
32274         mode.
32275         Reported by John W. Eaton <jwe@gnu.org>.
32276
32277 2010-03-20  Bruno Haible  <bruno@clisp.org>
32278
32279         Ensure no #include statements inside extern "C" { ... }.
32280         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
32281         contain #include statements.
32282         * lib/time.in.h: Likewise.
32283
32284 2010-03-20  Bruno Haible  <bruno@clisp.org>
32285
32286         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
32287         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
32288         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
32289         Reported by John W. Eaton <jwe@gnu.org>.
32290
32291 2010-03-20  Bruno Haible  <bruno@clisp.org>
32292
32293         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
32294         Reported by Jim Meyering.
32295
32296 2010-03-20  Bruno Haible  <bruno@clisp.org>
32297
32298         pipe: Set errno upon failure.
32299         * lib/pipe.h: Specify that when -1 is returned, errno is set.
32300         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
32301         errno value in error message.
32302
32303 2010-03-20  Bruno Haible  <bruno@clisp.org>
32304             Jim Meyering  <meyering@redhat.com>
32305
32306         lchown: Avoid "unused variable" warning.
32307         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
32308
32309 2010-03-20  Bruno Haible  <bruno@clisp.org>
32310
32311         Work around unlink() bug on MacOS X 10.5.6.
32312         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
32313         attempting to unlink a parent directory.
32314         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
32315         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
32316         activate for the replacement function.
32317         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
32318
32319 2010-03-20  Bruno Haible  <bruno@clisp.org>
32320
32321         Fix link errors on Solaris 8.
32322         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
32323         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
32324
32325 2010-03-19  Jim Meyering  <meyering@redhat.com>
32326
32327         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
32328         The _LIBC implementation of build_range_exp correctly honors the
32329         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
32330         However, the non-_LIBC implementation would ignore that syntax-bit
32331         flag and return REG_ERANGE unconditionally.
32332         This change makes it honor that flag.
32333         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
32334         Make two pointer parameters "const".
32335         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
32336         (parse_bracket_exp): Update caller.
32337
32338         regex.m4: correct the reversed range endpoint ([b-a]) test
32339         * m4/regex.m4: When requiring that [b-a] evoke failure,
32340         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
32341         test pass once again for x86-based systems.
32342
32343 2010-03-19  Bruno Haible  <bruno@clisp.org>
32344
32345         scandir: Fix link error on Solaris 8.
32346         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
32347         macros.
32348
32349 2010-03-19  Bruno Haible  <bruno@clisp.org>
32350
32351         getusershell: Fix documentation.
32352         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
32353         module.
32354         * doc/glibc-functions/setusershell.texi: Likewise.
32355
32356         getusershell: Provide declaration, missing on Solaris 9.
32357         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
32358         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
32359         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
32360         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
32361         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32362         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
32363         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
32364         HAVE_GETUSERSHELL.
32365         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
32366
32367 2010-03-19  Bruno Haible  <bruno@clisp.org>
32368
32369         wctype: Provide iswblank function.
32370         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
32371         exists and is fine.
32372         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
32373         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
32374         * tests/test-wctype.c (main): Re-enable the iswblank tests.
32375         * doc/posix-functions/iswblank.texi: Update.
32376
32377 2010-03-19  Bruno Haible  <bruno@clisp.org>
32378
32379         Tests of module 'pty' in C++ mode.
32380         * modules/pty-tests: New file.
32381         * tests/test-pty-c++.cc: New file.
32382         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32383
32384 2010-03-19  Eric Blake  <eblake@redhat.com>
32385
32386         logb: fix documentation
32387         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
32388         1.5 declaration bug.
32389
32390         forkpty, openpty: prefer glibc's const-safe prototype
32391         * lib/forkpty.c (rpl_forkpty): New file.
32392         * lib/openpty.c (rpl_openpty): Likewise.
32393         * modules/forkpty (Files): Distribute it.
32394         * modules/openpty (Files): Likewise.
32395         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
32396         check...
32397         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
32398         replacement for for non-const BSD signature.
32399         * modules/pty (Makefile.am): Substitute witnesses.
32400         * lib/pty.in.h (forkpty, openpty): Declare replacements.
32401         * tests/test-forkpty.c: Update signature check.
32402         * tests/test-openpty.c: Likewise.
32403         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
32404         * doc/glibc-functions/openpty.texi (openpty): Likewise.
32405
32406         forkpty, openpty: split functions into new modules
32407         * modules/pty (Makefile.am): Substitute new witnesses.
32408         (Libraries): Move library detection...
32409         * modules/forkpty: ...into new module.
32410         * modules/openpty: Another new module.
32411         * modules/pty-tests: Rename and split...
32412         * modules/forkpty-tests: ...to this...
32413         * modules/openpty-tests: ...and this.
32414         * tests/test-pty.c: Rename and split...
32415         * tests/test-forkpty.c: ...to this...
32416         * tests/test-openpty.c: ...and this.
32417         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
32418         (gl_PTY): Split library searching...
32419         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
32420         (gl_FORKPTY, gl_OPENPTY): New macros.
32421         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
32422         * NEWS: Mention the split.
32423         * MODULES.html.sh (Misc): Document the modules.
32424         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
32425         * doc/glibc-functions/openpty.texi (openpty): Likewise.
32426
32427         pty: improve replacement header
32428         * lib/pty.in.h: New file.
32429         * modules/pty (Files): Ship it.
32430         (Makefile.am): Always build replacement.
32431         * m4/pty.m4: Rename...
32432         * m4/pty_h.m4: ...to this.
32433         (gl_PTY): Modernize setting of witness macros; update check of
32434         forkpty to take proper advantage of cache.
32435         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
32436
32437         getopt: avoid compiler warning
32438         * lib/getopt.c (attribute_hidden): Remove unused macro.
32439
32440 2010-03-18  Bruno Haible  <bruno@clisp.org>
32441
32442         Fix link errors on Solaris 8.
32443         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
32444         * modules/search-tests (test_search_c___LDADD): Likewise.
32445         * modules/signal-tests (test_signal_c___LDADD): Likewise.
32446         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
32447         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
32448         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
32449         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
32450         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
32451         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
32452
32453 2010-03-18  Bruno Haible  <bruno@clisp.org>
32454
32455         Fix bug introduced on 2010-03-14.
32456         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
32457         (gl_SPAWN_H): Require it.
32458         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
32459         Reported by Simon Josefsson.
32460
32461 2010-03-18  Bruno Haible  <bruno@clisp.org>
32462
32463         Fix typo introduced on 2009-12-31.
32464         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
32465         posix_spawn_file_actions_adddup2.
32466
32467 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
32468         and Eric Blake  <eblake@redhat.com>
32469
32470         test-vc-list-files-git: make more robust
32471         * tests/test-vc-list-files-git.sh: Unset problematic environment
32472         variables.  Chain commands together.
32473
32474 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
32475
32476         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
32477         `AC_CHECK_DECL' invocation.
32478
32479 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
32480
32481         * lib/inttostr.c (inttostr): Make sure the invocation of verify
32482         appears before executable statements. Suggested by Petr Sumbera
32483         <Petr.Sumbera@Sun.COM>.
32484
32485 2010-03-14  Bruno Haible  <bruno@clisp.org>
32486
32487         * tests/test-flock.c (test_exclusive): Comment out a test that causes
32488         portability problems. Instead use a simpler test.
32489         (main): Check that invalid arguments are rejected only on Linux.
32490
32491 2010-03-14  Bruno Haible  <bruno@clisp.org>
32492
32493         Fix bug introduced on 2009-12-31.
32494         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
32495         gl_PREREQ_SYS_H_WINSOCK2 always.
32496         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
32497         SYS_SOCKET_H variable.
32498         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
32499         Update comments.
32500         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
32501         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32502         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32503         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32504         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
32505
32506 2010-03-14  Bruno Haible  <bruno@clisp.org>
32507
32508         Fix values returned by sinl, cosl.
32509         * lib/trigl.h: Add specification comments.
32510         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
32511         that combines the values from the precomputed table with the values of
32512         the Chebyshev polynomials.
32513
32514 2010-03-14  Bruno Haible  <bruno@clisp.org>
32515
32516         Fix compilation error when modules 'posix_spawn[p]' are not used.
32517         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
32518         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
32519
32520 2010-03-14  Bruno Haible  <bruno@clisp.org>
32521
32522         Fix compilation error on mingw when module 'time_r' is not used.
32523         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
32524         is 1.
32525         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
32526         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
32527         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
32528         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
32529
32530 2010-03-14  Bruno Haible  <bruno@clisp.org>
32531
32532         Fix compilation error with Sun C.
32533         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
32534         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
32535         instead of GCC specific ULONG_LONG_MAX.
32536         * lib/xstrtoll.c: Likewise.
32537         * lib/xstrtoull.c: Likewise.
32538
32539 2010-03-13  Bruno Haible  <bruno@clisp.org>
32540
32541         Allow the user to disable C++ code and tests.
32542         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
32543         (gl_PROG_ANSI_CXX): Require it.
32544
32545 2010-03-13  Bruno Haible  <bruno@clisp.org>
32546
32547         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
32548         cases.
32549
32550 2010-03-13  Bruno Haible  <bruno@clisp.org>
32551
32552         Test that gnulib does not break the standard C++ headers.
32553         * tests/test-locale-c++2.cc: New file.
32554         * modules/locale-tests (Files): Add it.
32555         (Makefile.am): Compile it for test-locale-c++.
32556         * tests/test-math-c++2.cc: New file.
32557         * modules/math-tests (Files): Add it.
32558         (Makefile.am): Compile it for test-math-c++.
32559         * tests/test-signal-c++2.cc: New file.
32560         * modules/signal-tests (Files): Add it.
32561         (Makefile.am): Compile it for test-signal-c++.
32562         * tests/test-stdio-c++2.cc: New file.
32563         * modules/stdio-tests (Files): Add it.
32564         (Makefile.am): Compile it for test-stdio-c++.
32565         * tests/test-stdlib-c++2.cc: New file.
32566         * modules/stdlib-tests (Files): Add it.
32567         (Makefile.am): Compile it for test-stdlib-c++.
32568         * tests/test-string-c++2.cc: New file.
32569         * modules/string-tests (Files): Add it.
32570         (Makefile.am): Compile it for test-string-c++.
32571         * tests/test-time-c++2.cc: New file.
32572         * modules/time-tests (Files): Add it.
32573         (Makefile.am): Compile it for test-time-c++.
32574         Reported by John W. Eaton <jwe@gnu.org>.
32575
32576 2010-03-13  Bruno Haible  <bruno@clisp.org>
32577
32578         * gnulib-tool (func_usage): Clarify which options are available for
32579         --create-testdir and --create-megatestdir.
32580
32581 2010-03-13  Bruno Haible  <bruno@clisp.org>
32582
32583         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
32584         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
32585         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
32586         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
32587         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
32588         when appropriate.
32589         Reported by Jim Meyering.
32590
32591 2010-03-12  Simon Josefsson  <simon@josefsson.org>
32592
32593         * gnulib-tool (func_import): Explain origin of code.
32594
32595 2010-03-12  Bruno Haible  <bruno@clisp.org>
32596
32597         Fix problem with automake's definition of CXXLINK.
32598         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
32599         Reported by Simon Josefsson and Ludovic Courtès.
32600
32601 2010-03-12  Bruno Haible  <bruno@clisp.org>
32602
32603         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
32604         stable releases.
32605
32606 2010-03-11  Bruno Haible  <bruno@clisp.org>
32607
32608         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
32609         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
32610         whether the system provides one variant or multiple variants of the
32611         function.
32612         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
32613         C++ compilers.
32614         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
32615         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
32616         Reported by Jim Meyering.
32617
32618 2010-03-09  Simon Josefsson  <simon@josefsson.org>
32619
32620         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
32621
32622 2010-03-08  Bruno Haible  <bruno@clisp.org>
32623
32624         gnulib-tool: Add support for --libtool in --create-testdir.
32625         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
32626         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
32627
32628 2010-03-08  Eric Blake  <eblake@redhat.com>
32629
32630         gnulib-tool.texi: mention possibility of git submodule
32631         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
32632         submodules.
32633         * doc/.gitignore: Ignore another generated file.
32634
32635 2010-03-08  Karl Berry  <karl@gnu.org>
32636
32637         * doc/gnulib-tool.texi (VCS Issues): Mention third option
32638         of committing gnulib files while skipping others.
32639
32640 2010-03-07  Bruno Haible  <bruno@clisp.org>
32641
32642         Tests of module 'wctype' in C++ mode.
32643         * tests/test-wctype-c++.cc: New file.
32644         * modules/wctype-tests (Files): Add it and tests/signature.h.
32645         (Depends-on): Add ansi-c++-opt.
32646         (Makefile.am): Arrange to compile and run test-wctype-c++.
32647
32648         Tests of module 'wchar' in C++ mode.
32649         * tests/test-wchar-c++.cc: New file.
32650         * modules/wchar-tests (Files): Add it and tests/signature.h.
32651         (Depends-on): Add ansi-c++-opt.
32652         (Makefile.am): Arrange to compile and run test-wchar-c++.
32653         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
32654         gl_MODULE_INDICATOR.
32655
32656         Tests of module 'unistd' in C++ mode.
32657         * tests/test-unistd-c++.cc: New file.
32658         * modules/unistd-tests (Files): Add it and tests/signature.h.
32659         (Depends-on): Add ansi-c++-opt.
32660         (Makefile.am): Arrange to compile and run test-unistd-c++.
32661         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
32662         gl_MODULE_INDICATOR.
32663
32664         Tests of module 'time' in C++ mode.
32665         * tests/test-time-c++.cc: New file.
32666         * modules/time-tests (Files): Add it and tests/signature.h.
32667         (Depends-on): Add ansi-c++-opt.
32668         (Makefile.am): Arrange to compile and run test-time-c++.
32669         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32670
32671         Tests of module 'sys_time' in C++ mode.
32672         * tests/test-sys_time-c++.cc: New file.
32673         * modules/sys_time-tests (Files): Add it and tests/signature.h.
32674         (Depends-on): Add ansi-c++-opt.
32675         (Makefile.am): Arrange to compile and run test-sys_time-c++.
32676         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
32677         gl_MODULE_INDICATOR.
32678
32679         Tests of module 'sys_stat' in C++ mode.
32680         * tests/test-sys_stat-c++.cc: New file.
32681         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
32682         (Depends-on): Add ansi-c++-opt.
32683         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
32684         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
32685         gl_MODULE_INDICATOR.
32686
32687         Tests of module 'sys_socket' in C++ mode.
32688         * tests/test-sys_socket-c++.cc: New file.
32689         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
32690         (Depends-on): Add ansi-c++-opt.
32691         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
32692         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
32693         gl_MODULE_INDICATOR.
32694
32695         Tests of module 'sys_select' in C++ mode.
32696         * tests/test-sys_select-c++.cc: New file.
32697         * modules/sys_select-tests (Files): Add it and tests/signature.h.
32698         (Depends-on): Add ansi-c++-opt.
32699         (Makefile.am): Arrange to compile and run test-sys_select-c++.
32700         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
32701         gl_MODULE_INDICATOR.
32702
32703         Tests of module 'sys_ioctl' in C++ mode.
32704         * tests/test-sys_ioctl-c++.cc: New file.
32705         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
32706         (Depends-on): Add ansi-c++-opt.
32707         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
32708         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
32709         gl_MODULE_INDICATOR.
32710
32711         Tests of module 'string' in C++ mode.
32712         * tests/test-string-c++.cc: New file.
32713         * modules/string-tests (Files): Add it and tests/signature.h.
32714         (Depends-on): Add ansi-c++-opt.
32715         (Makefile.am): Arrange to compile and run test-string-c++.
32716         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
32717         gl_MODULE_INDICATOR.
32718
32719         Tests of module 'stdlib' in C++ mode.
32720         * tests/test-stdlib-c++.cc: New file.
32721         * modules/stdlib-tests (Files): Add it and tests/signature.h.
32722         (Depends-on): Add ansi-c++-opt.
32723         (Makefile.am): Arrange to compile and run test-stdlib-c++.
32724         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
32725         gl_MODULE_INDICATOR.
32726
32727         Tests of module 'stdio' in C++ mode.
32728         * tests/test-stdio-c++.cc: New file.
32729         * modules/stdio-tests (Files): Add it and tests/signature.h.
32730         (Depends-on): Add ansi-c++-opt.
32731         (Makefile.am): Arrange to compile and run test-stdio-c++.
32732         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
32733         gl_MODULE_INDICATOR.
32734
32735         Tests of module 'spawn' in C++ mode.
32736         * tests/test-spawn-c++.cc: New file.
32737         * modules/spawn-tests (Files): Add it and tests/signature.h.
32738         (Depends-on): Add ansi-c++-opt.
32739         (Makefile.am): Arrange to compile and run test-spawn-c++.
32740         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
32741         gl_MODULE_INDICATOR.
32742
32743         Tests of module 'signal' in C++ mode.
32744         * tests/test-signal-c++.cc: New file.
32745         * modules/signal-tests (Files): Add it and tests/signature.h.
32746         (Depends-on): Add ansi-c++-opt.
32747         (Makefile.am): Arrange to compile and run test-signal-c++.
32748         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
32749         gl_MODULE_INDICATOR.
32750
32751         Tests of module 'search' in C++ mode.
32752         * tests/test-search-c++.cc: New file.
32753         * modules/search-tests (Files): Add it and tests/signature.h.
32754         (Depends-on): Add ansi-c++-opt.
32755         (Makefile.am): Arrange to compile and run test-search-c++.
32756         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
32757         gl_MODULE_INDICATOR.
32758
32759         Tests of module 'math' in C++ mode.
32760         * tests/test-math-c++.cc: New file.
32761         * modules/math-tests (Files): Add it and tests/signature.h.
32762         (Depends-on): Add ansi-c++-opt.
32763         (Makefile.am): Arrange to compile and run test-math-c++.
32764         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32765
32766         Tests of module 'locale' in C++ mode.
32767         * tests/test-locale-c++.cc: New file.
32768         * modules/locale-tests (Files): Add it and tests/signature.h.
32769         (Depends-on): Add ansi-c++-opt.
32770         (Makefile.am): Arrange to compile and run test-locale-c++.
32771         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
32772         gl_MODULE_INDICATOR.
32773
32774         Tests of module 'langinfo' in C++ mode.
32775         * tests/test-langinfo-c++.cc: New file.
32776         * modules/langinfo-tests (Files): Add it and tests/signature.h.
32777         (Depends-on): Add ansi-c++-opt.
32778         (Makefile.am): Arrange to compile and run test-langinfo-c++.
32779         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
32780         gl_MODULE_INDICATOR.
32781
32782         Tests of module 'iconv-h' in C++ mode.
32783         * tests/test-iconv-h-c++.cc: New file.
32784         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
32785         (Depends-on): Add ansi-c++-opt.
32786         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
32787
32788         Tests of module 'glob' in C++ mode.
32789         * tests/test-glob-c++.cc: New file.
32790         * modules/glob-tests (Files): Add it.
32791         (Depends-on): Add ansi-c++-opt.
32792         (Makefile.am): Arrange to compile and run test-glob-c++.
32793
32794         Tests of module 'fcntl-h' in C++ mode.
32795         * tests/test-fcntl-h-c++.cc: New file.
32796         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
32797         (Depends-on): Add ansi-c++-opt.
32798         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
32799         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
32800         gl_MODULE_INDICATOR.
32801
32802         Tests of module 'dirent' in C++ mode.
32803         * tests/test-dirent-c++.cc: New file.
32804         * modules/dirent-tests (Files): Add it and tests/signature.h.
32805         (Depends-on): Add ansi-c++-opt.
32806         (Makefile.am): Arrange to compile and run test-dirent-c++.
32807         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32808         gl_MODULE_INDICATOR.
32809
32810         New module 'ansi-c++-opt'.
32811         * modules/ansi-c++-opt: New file.
32812         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
32813
32814         Document C++ namespace mode.
32815         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
32816
32817         wctype: Avoid #define replacements in C++ mode.
32818         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
32819         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
32820         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
32821         In C++, define a namespaced alias symbol.
32822         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
32823         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
32824         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
32825         rule.
32826
32827         wchar: Avoid #define replacements in C++ mode.
32828         * lib/wchar.in.h: Include c++defs.h.
32829         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
32830         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
32831         symbol.
32832         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
32833         * modules/wchar (Depends-on): Add c++defs.
32834         (Makefile.am): Update wchar.h rule.
32835
32836         unistd: Avoid #define replacements in C++ mode.
32837         * lib/unistd.in.h: Include c++defs.h.
32838         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
32839         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
32840         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
32841         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
32842         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
32843         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
32844         symbol.
32845         (environ): Update.
32846         * modules/unistd (Depends-on): Add c++defs.
32847         (Makefile.am): Update unistd.h rule.
32848
32849         time: Avoid #define replacements in C++ mode.
32850         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
32851         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
32852         define a namespaced alias symbol.
32853         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
32854         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
32855         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
32856         * modules/time (Depends-on): Add c++defs, warn-on-use.
32857         (Makefile.am): Update time.h rule.
32858         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
32859         * modules/nanosleep (configure.ac): Likewise.
32860         * modules/strptime (configure.ac): Likewise.
32861         * modules/timegm (configure.ac): Likewise.
32862
32863         sys_time: Avoid #define replacements in C++ mode.
32864         * lib/sys_time.in.h: Include c++defs.h.
32865         (gettimeofday): In C++, define a namespaced alias symbol.
32866         * modules/sys_time (Depends-on): Add c++defs.
32867         (Makefile.am): Update sys/time.h rule.
32868
32869         sys_stat: Avoid #define replacements in C++ mode.
32870         * lib/sys_stat.in.h: Include c++defs.h.
32871         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
32872         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
32873         namespaced alias symbol.
32874         In C++, define a namespaced alias symbol.
32875         * modules/sys_stat (Depends-on): Add c++defs.
32876         (Makefile.am): Update sys/stat.h rule.
32877
32878         sys_socket: Avoid #define replacements in C++ mode.
32879         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
32880         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
32881         definitions also when the system has a <sys/socket.h>.
32882         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
32883         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
32884         In C++, define a namespaced alias symbol.
32885         * modules/sys_socket (Depends-on): Add c++defs.
32886         (Makefile.am): Update sys/socket.h rule.
32887
32888         sys_select: Avoid #define replacements in C++ mode.
32889         * lib/sys_select.in.h: Include c++defs.h. Enable the function
32890         definitions also when the system has a <sys/select.h>.
32891         (select): In C++, define a namespaced alias symbol.
32892         * modules/sys_select (Depends-on): Add c++defs.
32893         (Makefile.am): Update sys/select.h rule.
32894
32895         sys_ioctl: Avoid #define replacements in C++ mode.
32896         * lib/sys_ioctl.in.h: Include c++defs.h.
32897         (ioctl): In C++, define a namespaced alias symbol.
32898         * modules/sys_ioctl (Depends-on): Add c++defs.
32899         (Makefile.am): Update sys/ioctl.h rule.
32900
32901         string: Avoid #define replacements in C++ mode.
32902         * lib/string.in.h: Include c++defs.h.
32903         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
32904         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
32905         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
32906         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
32907         strsignal, strverscmp): In C++, define a namespaced alias symbol.
32908         * modules/string (Depends-on): Add c++defs.
32909         (Makefile.am): Update string.h rule.
32910
32911         stdlib: Avoid #define replacements in C++ mode.
32912         * lib/stdlib.in.h: Include c++defs.h.
32913         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
32914         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
32915         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
32916         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
32917         symbol.
32918         * modules/stdlib (Depends-on): Add c++defs.
32919         (Makefile.am): Update stdlib.h rule.
32920
32921         stdio: Avoid #define replacements in C++ mode.
32922         * lib/stdio.in.h: Include c++defs.h.
32923         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
32924         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
32925         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
32926         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
32927         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
32928         namespaced alias symbol.
32929         * modules/stdio (Depends-on): Add c++defs.
32930         (Makefile.am): Update stdio.h rule.
32931
32932         spawn: Avoid #define replacements in C++ mode.
32933         * lib/spawn.in.h: Include c++defs.h.
32934         (posix_spawn, posix_spawnp, posix_spawnattr_init,
32935         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
32936         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
32937         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
32938         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
32939         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
32940         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
32941         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
32942         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
32943         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
32944         In C++, define a namespaced alias symbol.
32945         * modules/spawn (Depends-on): Add c++defs.
32946         (Makefile.am): Update spawn.h rule.
32947
32948         signal: Avoid #define replacements in C++ mode.
32949         * lib/signal.in.h: Include c++defs.h.
32950         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
32951         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
32952         namespaced alias symbol.
32953         * modules/signal (Depends-on): Add c++defs.
32954         (Makefile.am): Update signal.h rule.
32955
32956         search: Avoid #define replacements in C++ mode.
32957         * lib/search.in.h: Include c++defs.h.
32958         (_gl_search_compar_fn, _gl_search_action_fn): New types.
32959         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
32960         symbol.
32961         * modules/search (Depends-on): Add c++defs.
32962         (Makefile.am): Update search.h rule.
32963
32964         math: Avoid #define replacements in C++ mode.
32965         * lib/math.in.h: Include c++defs.h.
32966         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
32967         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
32968         trunc, truncl): In C++, define a namespaced alias symbol.
32969         * modules/math (Depends-on): Add c++defs.
32970         (Makefile.am): Update math.h rule.
32971
32972         locale: Avoid #define replacements in C++ mode.
32973         * lib/locale.in.h: Include c++defs.h.
32974         (duplocale): In C++, define a namespaced alias symbol.
32975         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
32976         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
32977         * modules/locale (Depends-on): Add c++defs.
32978         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
32979
32980         langinfo: Avoid #define replacements in C++ mode.
32981         * lib/langinfo.in.h: Include c++defs.h.
32982         (nl_langinfo): In C++, define a namespaced alias symbol.
32983         * modules/langinfo (Depends-on): Add c++defs.
32984         (Makefile.am): Update langinfo.h rule.
32985
32986         iconv-h: Avoid #define replacements in C++ mode.
32987         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
32988         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
32989         symbol.
32990         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
32991         whenever iconv is present.
32992         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
32993         (Makefile.am): Update iconv.h rule.
32994
32995         glob: Avoid #define replacements in C++ mode.
32996         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
32997         (_gl_glob_errfunc_fn): New type.
32998         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
32999         symbol.
33000         * modules/glob (Depends-on): Add c++defs, warn-on-use.
33001         (Makefile.am): Update glob.h rule.
33002
33003         fcntl-h: Avoid #define replacements in C++ mode.
33004         * lib/fcntl.in.h: Include c++defs.h.
33005         (fcntl, open, openat): In C++, define a namespaced alias symbol.
33006         * modules/fcntl-h (Depends-on): Add c++defs.
33007         (Makefile.am): Update fcntl.h rule.
33008
33009         dirent: Avoid #define replacements in C++ mode.
33010         * lib/dirent.in.h: Include c++defs.h.
33011         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
33012         namespaced alias symbol.
33013         (dirfd): Update declaration.
33014         * modules/dirent (Depends-on): Add c++defs.
33015         (Makefile.am): Update dirent.h rule.
33016
33017         ctype: Make it usable in C++ code.
33018         * lib/ctype.in.h: Include c++defs.h.
33019         (isblank): Declare as extern "C".
33020         * modules/ctype (Depends-on): Add c++defs.
33021         (Makefile.am): Update ctype.h rule.
33022
33023         New module 'c++defs'.
33024         * modules/c++defs: New file.
33025         * build-aux/c++defs.h: New file.
33026         Reported by John W. Eaton <jwe@gnu.org>.
33027
33028 2010-03-07  Bruno Haible  <bruno@clisp.org>
33029
33030         logb: Provide missing declaration for Cygwin.
33031         * lib/math.in.h (logb): New declaration.
33032         * m4/logb.m4: New file.
33033         * modules/logb (Files): Add m4/logb.m4.
33034         (Depends-on): Add math.
33035         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
33036         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
33037         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
33038         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
33039         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
33040
33041 2010-03-07  Bruno Haible  <bruno@clisp.org>
33042
33043         Fix test-cond link error.
33044         * tests/test-cond.c: Include <stdio.h>.
33045
33046 2010-03-07  Bruno Haible  <bruno@clisp.org>
33047
33048         Fix test-dirent-safer link error.
33049         * modules/dirent-safer-tests (Makefile.am): Define
33050         test_dirent_safer_LDADD.
33051
33052 2010-03-07  Bruno Haible  <bruno@clisp.org>
33053
33054         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
33055         among default module list.
33056
33057 2010-03-07  Bruno Haible  <bruno@clisp.org>
33058
33059         Fix link error on platforms with GNU libiconv.
33060         * modules/unistr/u8-strcoll-tests (Makefile): Define
33061         test_u8_strcoll_LDADD.
33062         * modules/unistr/u16-strcoll-tests (Makefile): Define
33063         test_u16_strcoll_LDADD.
33064         * modules/unistr/u32-strcoll-tests (Makefile): Define
33065         test_u32_strcoll_LDADD.
33066
33067 2010-03-07  Bruno Haible  <bruno@clisp.org>
33068
33069         Use POSIX declarations for socket functions.
33070         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
33071         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
33072         rpl_sendto): Change declaration to match POSIX.
33073         * lib/connect.c (rpl_connect): Likewise.
33074         * lib/accept.c (rpl_accept): Likewise.
33075         * lib/bind.c (rpl_bind): Likewise.
33076         * lib/getpeername.c (rpl_getpeername): Likewise.
33077         * lib/getsockname.c (rpl_getsockname): Likewise.
33078         * lib/recv.c (rpl_recv): Likewise.
33079         * lib/send.c (rpl_send): Likewise.
33080         * lib/recvfrom.c (rpl_recvfrom): Likewise.
33081         * lib/sendto.c (rpl_sendto): Likewise.
33082
33083 2010-03-06  Bruno Haible  <bruno@clisp.org>
33084
33085         Clarify access, euidaccess, faccessat.
33086         * doc/posix-functions/faccessat.texi: Mention security problem under
33087         "Other problems", not "Portability problems".
33088         * doc/posix-functions/access.texi: Likewise. Mention a related security
33089         problem.
33090         * doc/glibc-functions/euidaccess.texi: Mention security problems.
33091         * lib/euidaccess.c: Add comments about platforms.
33092         * lib/unistd.in.h (access, euidaccess): Add warnings.
33093
33094 2010-03-07  Bruno Haible  <bruno@clisp.org>
33095
33096         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
33097         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
33098         (POSIX_SPAWN_SETSCHEDULER): Likewise.
33099         (POSIX_SPAWN_USEVFORK): Define in a way that works when
33100         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
33101         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
33102         declare when POSIX_SPAWN_SETSCHEDULER is zero.
33103         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
33104         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
33105         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
33106         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
33107         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
33108         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
33109         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
33110         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
33111         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
33112         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
33113         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
33114         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
33115         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
33116         Likewise.
33117         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
33118         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
33119         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
33120         Likewise.
33121         * tests/test-spawn.c (main): Make it work when
33122         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
33123
33124 2010-03-07  Bruno Haible  <bruno@clisp.org>
33125
33126         Fix incorrect Makefile.am generation in German locale.
33127         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33128         Execute sed command with character range in C locale.
33129
33130 2010-03-06  Bruno Haible  <bruno@clisp.org>
33131
33132         Tests for module 'iconv-h'.
33133         * modules/iconv-h-tests: New file.
33134         * tests/test-iconv-h.c: New file.
33135
33136         New module 'iconv-h'.
33137         * modules/iconv-h: New file.
33138         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
33139         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
33140         (configure.ac): Remove gl_ICONV_H.
33141         (Makefile.am): Remove rule for iconv.h.
33142
33143 2010-03-06  Bruno Haible  <bruno@clisp.org>
33144
33145         More consistent naming of *.m4 files.
33146         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
33147         * modules/wctype (Files): Update.
33148
33149         More consistent naming of *.m4 files.
33150         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
33151         * modules/wchar (Files): Update.
33152
33153 2010-03-06  Jim Meyering  <meyering@redhat.com>
33154
33155         euidaccess: relax license to LGPLv2+
33156         * modules/euidaccess (License): Relax to LGPLv2+.
33157
33158 2010-03-06  Bruno Haible  <bruno@clisp.org>
33159
33160         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
33161         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
33162         (Makefile.am): Augment lib_SOURCES instead.
33163
33164 2010-03-04  Jim Meyering  <meyering@redhat.com>
33165
33166         utime: remove obsolete module
33167         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
33168         unnecessary for years, and has been marked as obsolete for 10 months.
33169         * modules/utime: Remove file.
33170         * lib/utime.c: Remove file.
33171         * m4/utime.m4: Remove file.
33172         * m4/utimes-null.m4: Remove file.
33173         * doc/posix-functions/utime.texi (utime): Remove reference to
33174         the module.  Move the sole "fixed by gnulib" item into the
33175         "problems not fixed by Gnulib" list.
33176         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
33177
33178 2010-03-05  Simon Josefsson  <simon@josefsson.org>
33179
33180         * modules/exit (License): Relax license to LGPLv2+.
33181         (Status): Mark as obsolete.
33182         * NEWS: Mention deprecated 'exit' module.
33183         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
33184         of now obsolete 'exit'.
33185
33186 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33187
33188         fts-lgpl: remove unused module
33189         * modules/fts-lgpl: Remove.
33190         * MODULES.html.sh (func_all_modules): Adjust.
33191         * check-module (find_included_lib_files): Adjust.
33192         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
33193
33194 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
33195
33196         copy-acl: enhance Solaris ACL error handling
33197         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
33198         * lib/set-mode-acl.c (qset_acl): Likewise.
33199
33200 2010-03-02  Bruno Haible  <bruno@clisp.org>
33201
33202         spawn: Don't override the system defined values on FreeBSD 8.
33203         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
33204         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
33205         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
33206         if HAVE_POSIX_SPAWN is 1.
33207         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
33208
33209 2010-03-01  Bruno Haible  <bruno@clisp.org>
33210
33211         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
33212         regarding Automake.
33213
33214 2010-02-25  Bruno Haible  <bruno@clisp.org>
33215
33216         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
33217         * gnulib-tool: Define 'echo' as a function only before the ksh alias
33218         setting, not afterwards.
33219         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
33220
33221 2010-02-24  Eric Blake  <eblake@redhat.com>
33222
33223         bootstrap, git-version-gen: use timestamp
33224         * build-aux/git-version-gen (scriptversion): Force UTC.
33225         * build-aux/bootstrap (scriptversion): New variable.
33226
33227         bootstrap: allow older git
33228         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
33229         older than 1.6.4.  Requested by the libvirt project.
33230
33231 2010-02-23  Eric Blake  <eblake@redhat.com>
33232
33233         warn-on-use: work with old autoconf
33234         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
33235         AS_VAR semantics of autoconf 2.60.
33236         Reported by Bruno Haible.
33237
33238         bootstrap: improve some comments
33239         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
33240         clarification comments.
33241
33242         gettimeofday: provide correct function
33243         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
33244         when replacement is declared, otherwise provide gettimeofday.
33245         Reported by Michael Goffioul.
33246
33247 2010-02-23  Jim Meyering  <meyering@redhat.com>
33248
33249         lib-ignore: relax license to "unlimited", not LGPLv2+
33250         * modules/lib-ignore (License): Relax to "unlimited".
33251
33252 2010-02-23  Jim Meyering  <meyering@redhat.com>
33253
33254         lib-ignore: relax license to LGPLv2+
33255         * modules/lib-ignore (License): Relax to LGPLv2+.
33256
33257 2010-02-22  Eric Blake  <eblake@redhat.com>
33258
33259         lseek: avoid bash 3.2 broken pipe bug
33260         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
33261         warning from bash 3.2.
33262         Reported by Ben Pfaff, with analysis from Bruno Haible.
33263
33264         bootstrap: support non-FSF copyright holder
33265         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
33266         bootstrap.conf override of COPYRIGHT_HOLDER.
33267         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
33268
33269         bootstrap: interoperate with gettext 0.14.1
33270         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
33271
33272         bootstrap: allow for alternate submodule location
33273         * build-aux/bootstrap (gnulib_path): New variable; use instead of
33274         hardcoding submodule location.
33275         (gnulib_mk): Allow direct use of Makefile.am.
33276
33277         bootstrap: use GNULIB_SRCDIR to reduce disk usage
33278         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
33279         rather than reconfiguring where the submodule points.
33280
33281         gettimeofday: restore support for platforms that lack function
33282         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
33283         replacement if function is missing.
33284         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
33285         * modules/sys_time (Makefile.am): Substitute it.
33286         * lib/sys_time.in.h (gettimeofday): Check it.
33287         Reported by Michael Goffioul.
33288
33289 2010-02-21  Bruno Haible  <bruno@clisp.org>
33290
33291         * lib/stdio.in.h (obstack_printf): Fix typo.
33292
33293 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
33294
33295         vc-list-files: use bzr ls's -R option
33296         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
33297         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
33298
33299 2010-02-21  Jim Meyering  <meyering@redhat.com>
33300
33301         init.sh: fix EXEEXT shims to work also for names like test-prog
33302         * tests/init.sh: Re-exec a better shell, when needed.
33303         If the current shell lacks support for posix $(...), an init.sh-using
33304         test will now try to find a shell that supports that.  If EXEEXT is
33305         nonempty, we also require support for hyphen-in-alias-name and shell
33306         substitutions like ${var#glob}.  Failure to find such a shell results
33307         in a skipped test.
33308
33309 2010-02-21  Bruno Haible  <bruno@clisp.org>
33310
33311         Really work around around "broken pipe" error message from bash 3.2.
33312         * gnulib-tool (func_reset_sigpipe): Remove function.
33313         (echo): In bash 3.2, define to a function that uses printf.
33314         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
33315
33316 2010-02-20  Bruno Haible  <bruno@clisp.org>
33317
33318         Restore support for automake 1.9.6 with autoconf 2.61.
33319         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
33320         Reported by James Youngman <jay@gnu.org>.
33321
33322 2010-02-20  Bruno Haible  <bruno@clisp.org>
33323
33324         Improve *printf warning condition.
33325         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
33326         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
33327         and the function is overridden due to SIGPIPE emulation.
33328
33329 2010-02-20  Bruno Haible  <bruno@clisp.org>
33330
33331         * lib/stdio.in.h: Tweak comments.
33332
33333 2010-02-19  Bruno Haible  <bruno@clisp.org>
33334
33335         Make it easier to find modules. New gnulib-tool option '--find'.
33336         * gnulib-tool: New option --find.
33337         (func_usage): Document it.
33338         (func_sanitize_modulelist): New function, extracted from
33339         func_all_modules.
33340         (func_all_modules): Invoke it.
33341         * doc/gnulib-tool.texi (Which modules?): New node.
33342
33343 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
33344
33345         * lib/sys_select.in.h: Provide select replacement even if
33346         sys/select.h exists on a system, for Interix.
33347
33348 2010-02-18  Jim Meyering  <meyering@redhat.com>
33349
33350         init.sh: don't use $(...) just yet
33351         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
33352         to accommodate e.g., Solaris' /bin/sh.
33353
33354 2010-02-17  Bruno Haible  <bruno@clisp.org>
33355
33356         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
33357         Reported by Ludovic Courtès <ludo@gnu.org>.
33358
33359 2010-02-16  Simon Josefsson  <simon@josefsson.org>
33360
33361         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
33362         linking with -lintl.
33363
33364 2010-02-17  Simon Josefsson  <simon@josefsson.org>
33365
33366         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
33367         if not provided by the system's netdb.h.  Reported by
33368         ludo@gnu.org (Ludovic Courtès).
33369
33370 2010-02-15  Jim Meyering  <meyering@redhat.com>
33371
33372         init.sh: improve portability and efficiency
33373         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
33374         "dummy" in a for loop.
33375         Use '!', not '^' to select the complement of a character set used
33376         in a "case" statement.
33377         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
33378         Suggestions from Eric Blake.
33379
33380         init.sh: automatically accommodate programs with the .exe suffix
33381         Automatically arrange for an invocation of "prog" to execute the
33382         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
33383         may use the simpler "prog", yet still work when built on a system
33384         that requires specifying the added suffix.
33385         Do this by constructing a function named "prog" that invokes
33386         "prog.exe" for each .exe file in selected directories.
33387         * tests/init.sh (find_exe_basenames_): New function.
33388         (create_exe_shim_functions_): New function.
33389         (path_prepend_): Use it.
33390
33391         maint.mk: mark syntax-check sc_*.m rules as .PHONY
33392         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
33393         "make -t syntax-check" doesn't create a ton of sc_*.m files.
33394
33395 2010-02-14  Jim Meyering  <meyering@redhat.com>
33396
33397         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
33398         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
33399         (sc_prohibit_hash_pjw_without_use): New rule.
33400
33401         maint.mk: allow the default upload destination dir to be overridden
33402         * top/maint.mk (upload_dest_dir_): Define with a default that
33403         preserves the status quo.
33404         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
33405         Reported by Peter Simons.
33406
33407         maint.mk: prohibit inclusion of "hash.h" without_use
33408         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
33409
33410 2010-02-10  Jim Meyering  <meyering@redhat.com>
33411
33412         maint.mk: prohibit inclusion of "ignore-value.h" without_use
33413         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
33414
33415 2010-02-09  Eric Blake  <ebb9@byu.net>
33416         and Bruno Haible  <bruno@clisp.org>
33417
33418         obstack-printf-posix: ensure declaration
33419         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
33420         extracted from gl_FUNC_OBSTACK_PRINTF.
33421         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
33422         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
33423         Likewise.
33424         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
33425         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
33426         0.
33427
33428 2010-02-08  Bruno Haible  <bruno@clisp.org>
33429
33430         gnulib-tool: Fix typo in 2010-02-07 commit.
33431         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
33432         Reported by Eric Blake.
33433
33434 2010-02-07  Bruno Haible  <bruno@clisp.org>
33435
33436         gnulib-tool: Fix up caching patches.
33437         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
33438         option --no-cache. Use associative arrays when supported by the shell.
33439         (sed_comments): New variable.
33440         (modcache): Renamed from do_cache.
33441         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
33442         abbreviate unnecessarily.
33443         (have_associative): New variable.
33444         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
33445         way also for ksh and zsh.
33446         (func_init_sed_convert_to_cache_statements): New function, extracted
33447         from func_cache_lookup_module. Add support for associative arrays.
33448         Don't set the c_MODULE_cached variable here. Ignore all lines before
33449         the first field header. Remove only the final newline, not all trailing
33450         newlines. Support empty fields correctly. Limit the use of 'eval' to
33451         assignments.
33452         (func_get_description, func_get_status, func_get_notice,
33453         func_get_applicability, func_get_filelist, func_get_dependencies,
33454         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
33455         func_get_automake_snippet, func_get_include_directive,
33456         func_get_link_directive, func_get_license, func_get_maintainer):
33457         Update documentation. List the unoptimized code first. Add support for
33458         associative arrays. Limit the use of 'eval' to assignments.
33459         (func_get_applicability): Undo stylistic pessimisations.
33460         (func_get_automake_snippet, func_get_include_directive): Reduce code
33461         duplication.
33462         (func_modules_transitive_closure, func_modules_add_dummy,
33463         func_modules_notice, func_modules_to_filelist, func_add_file,
33464         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
33465         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
33466         func_create_testdir, func_create_megatestdir): Update documentation.
33467
33468 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33469
33470         * gnulib-tool (func_cache_lookup_module): Store the module name
33471         belonging to the cache variable; error out if two different
33472         module names map to the same cache variable name.
33473
33474 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33475
33476         gnulib-tool: Make caching optional.
33477         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
33478         Update matching short versions of --no-changelog.
33479         (func_usage): Update.
33480         (sed_extract_cache_prog): Renamed from ...
33481         (sed_extract_prog): ... this; revert to old extraction script.
33482         (func_get_description, func_get_status)
33483         (func_get_notice, func_get_applicability, func_get_filelist)
33484         (func_get_dependencies, func_get_autoconf_early_snippet)
33485         (func_get_autoconf_snippet, func_get_automake_snippet)
33486         (func_get_include_directive, func_get_link_directive)
33487         (func_get_license, func_get_maintainer): If $do_cache is false,
33488         use old, non-caching extraction scripts.
33489         Suggestion by Bruno Haible.
33490
33491 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33492
33493         gnulib-tool: cache module metainformation.
33494         * gnulib-tool (sed_extract_prog): Match newline before each
33495         header, and rewrite header to a shell variable suffix.
33496         (func_cache_var, func_cache_lookup_module): New functions,
33497         to turn a module name into a cache variable prefix, and to
33498         look up and cache module metainformation.
33499         (func_get_description, func_get_status)
33500         (func_get_notice, func_get_applicability, func_get_filelist)
33501         (func_get_dependencies, func_get_autoconf_early_snippet)
33502         (func_get_autoconf_snippet, func_get_automake_snippet)
33503         (func_get_include_directive, func_get_link_directive)
33504         (func_get_license, func_get_maintainer): Use
33505         func_cache_lookup_module.
33506
33507 2010-02-07  Bruno Haible  <bruno@clisp.org>
33508
33509         fnctl: Fix missing dependency.
33510         * modules/fcntl (Depends-on): Add getdtablesize.
33511         Reported by John W. Eaton <jwe@gnu.org>.
33512
33513 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33514
33515         Argp: fix recognition of short alias options.
33516
33517         * lib/argp-parse.c (convert_options): Fix improper use of
33518         `|' between character values.
33519         * tests/test-argp.c (group1_option): New alias option
33520         --read (-r).
33521         (group1_parser): Special handling for 'r'.
33522         (test15): New test case.
33523         (test_fun): Add test15.
33524         * tests/test-argp-2.sh: Update expected --help and --usage
33525         outputs.
33526
33527 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33528
33529         * tests/test-argp.c: Fix indentation.
33530
33531 2010-02-04  Eric Blake  <ebb9@byu.net>
33532
33533         gettimeofday: expose type of second argument
33534         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
33535         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
33536         * tests/test-gettimeofday.c: Use it to silence warning.
33537         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
33538         the issue.
33539
33540 2010-02-03  Jim Meyering  <meyering@redhat.com>
33541
33542         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
33543         * lib/regcomp.c (TYPE_SIGNED): Define.
33544         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
33545
33546         regcomp.c: avoid a new -Wshadow warning
33547         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
33548
33549 2010-02-01  Jim Meyering  <meyering@redhat.com>
33550
33551         removing useless parentheses in cpp #define directives
33552         For motivation, see commit c0221df4, "define STREQ(a,b)
33553         consistently, removing useless parentheses"
33554         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
33555         * lib/mountlist.c (MNT_IGNORE): Likewise.
33556         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
33557
33558 2010-02-01  Eric Blake  <ebb9@byu.net>
33559
33560         sys_time: use link-warning
33561         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
33562         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
33563         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
33564         * modules/sys_time (Depends-on): Add warn-on-use.
33565         (Makefile.am): Always build replacement.
33566         (configure.ac): Update substitutions.
33567         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
33568         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
33569         bother with SYS_TIME_H.
33570         * modules/gettimeofday (configure.ac): Declare indicator.
33571         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
33572         in use.
33573
33574         closein-tests: silence compiler warning
33575         * tests/test-closein.c (main): Ignore fread result.
33576         * modules/closein-tests (Depends-on): Add ignore-value.
33577
33578         tests: silence warning about system return
33579         * tests/test-areadlink-with-size.c (main): Ignore system result.
33580         * tests/test-areadlink.c (main): Likewise.
33581         * tests/test-areadlinkat-with-size.c (main): Likewise.
33582         * tests/test-areadlinkat.c (main): Likewise.
33583         * tests/test-canonicalize-lgpl.c (main): Likewise.
33584         * tests/test-canonicalize.c (main): Likewise.
33585         * tests/test-chown.c (main): Likewise.
33586         * tests/test-fchownat.c (main): Likewise.
33587         * tests/test-fdutimensat.c (main): Likewise.
33588         * tests/test-fstatat.c (main): Likewise.
33589         * tests/test-futimens.c (main): Likewise.
33590         * tests/test-lchown.c (main): Likewise.
33591         * tests/test-link.c (main): Likewise.
33592         * tests/test-linkat.c (main): Likewise.
33593         * tests/test-lstat.c (main): Likewise.
33594         * tests/test-mkdir.c (main): Likewise.
33595         * tests/test-mkdirat.c (main): Likewise.
33596         * tests/test-mkfifo.c (main): Likewise.
33597         * tests/test-mkfifoat.c (main): Likewise.
33598         * tests/test-mknod.c (main): Likewise.
33599         * tests/test-readlink.c (main): Likewise.
33600         * tests/test-remove.c (main): Likewise.
33601         * tests/test-rename.c (main): Likewise.
33602         * tests/test-renameat.c (main): Likewise.
33603         * tests/test-rmdir.c (main): Likewise.
33604         * tests/test-symlink.c (main): Likewise.
33605         * tests/test-symlinkat.c (main): Likewise.
33606         * tests/test-unlink.c (main): Likewise.
33607         * tests/test-unlinkat.c (main): Likewise.
33608         * tests/test-utimens.c (main): Likewise.
33609         * tests/test-utimensat.c (main): Likewise.
33610         * modules/areadlink-tests (Depends-on): Add ignore-value.
33611         * modules/areadlink-with-size-tests (Depends-on): Likewise.
33612         * modules/areadlinkat-tests (Depends-on): Likewise.
33613         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
33614         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
33615         * modules/canonicalize-tests (Depends-on): Likewise.
33616         * modules/chown-tests (Depends-on): Likewise.
33617         * modules/fdutimensat-tests (Depends-on): Likewise.
33618         * modules/futimens-tests (Depends-on): Likewise.
33619         * modules/lchown-tests (Depends-on): Likewise.
33620         * modules/link-tests (Depends-on): Likewise.
33621         * modules/linkat-tests (Depends-on): Likewise.
33622         * modules/lstat-tests (Depends-on): Likewise.
33623         * modules/mkdir-tests (Depends-on): Likewise.
33624         * modules/mkfifo-tests (Depends-on): Likewise.
33625         * modules/mkfifoat-tests (Depends-on): Likewise.
33626         * modules/mknod-tests (Depends-on): Likewise.
33627         * modules/openat-tests (Depends-on): Likewise.
33628         * modules/readlink-tests (Depends-on): Likewise.
33629         * modules/remove-tests (Depends-on): Likewise.
33630         * modules/rename-tests (Depends-on): Likewise.
33631         * modules/renameat-tests (Depends-on): Likewise.
33632         * modules/rmdir-tests (Depends-on): Likewise.
33633         * modules/symlink-tests (Depends-on): Likewise.
33634         * modules/symlinkat-tests (Depends-on): Likewise.
33635         * modules/unlink-tests (Depends-on): Likewise.
33636         * modules/utimens-tests (Depends-on): Likewise.
33637         * modules/utimensat-tests (Depends-on): Likewise.
33638
33639 2010-01-31  Bruno Haible  <bruno@clisp.org>
33640
33641         Perform the same test for many <math.h> functions.
33642         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
33643         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
33644         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
33645         of gl_MATHFUNC.
33646         * modules/acos (configure.ac): Likewise.
33647         * modules/asin (configure.ac): Likewise.
33648         * modules/atan (configure.ac): Likewise.
33649         * modules/atan2 (configure.ac): Likewise.
33650         * modules/cbrt (configure.ac): Likewise.
33651         * modules/copysign (configure.ac): Likewise.
33652         * modules/cos (configure.ac): Likewise.
33653         * modules/cosh (configure.ac): Likewise.
33654         * modules/erf (configure.ac): Likewise.
33655         * modules/erfc (configure.ac): Likewise.
33656         * modules/exp (configure.ac): Likewise.
33657         * modules/fmod (configure.ac): Likewise.
33658         * modules/hypot (configure.ac): Likewise.
33659         * modules/j0 (configure.ac): Likewise.
33660         * modules/j1 (configure.ac): Likewise.
33661         * modules/jn (configure.ac): Likewise.
33662         * modules/lgamma (configure.ac): Likewise.
33663         * modules/log (configure.ac): Likewise.
33664         * modules/log10 (configure.ac): Likewise.
33665         * modules/log1p (configure.ac): Likewise.
33666         * modules/pow (configure.ac): Likewise.
33667         * modules/remainder (configure.ac): Likewise.
33668         * modules/sin (configure.ac): Likewise.
33669         * modules/sinh (configure.ac): Likewise.
33670         * modules/tan (configure.ac): Likewise.
33671         * modules/tanh (configure.ac): Likewise.
33672         * modules/y0 (configure.ac): Likewise.
33673         * modules/y1 (configure.ac): Likewise.
33674         * modules/yn (configure.ac): Likewise.
33675         Suggested by Paolo Bonzini.
33676
33677 2010-01-31  Bruno Haible  <bruno@clisp.org>
33678
33679         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
33680
33681 2010-01-31  Bruno Haible  <bruno@clisp.org>
33682
33683         Work around getdelim() bug on FreeBSD 8.0.
33684         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
33685         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
33686         not work.
33687         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
33688         is 1.
33689         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
33690         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
33691         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
33692         a non-zero size.
33693         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
33694
33695 2010-01-31  Bruno Haible  <bruno@clisp.org>
33696
33697         Work around getline() bug on FreeBSD 8.0.
33698         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
33699         and a non-zero size.
33700         * tests/test-getline.c (main): Likewise.
33701         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
33702         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
33703
33704 2010-01-28  Eric Blake  <ebb9@byu.net>
33705
33706         regex: fix build failure
33707         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
33708         platforms.
33709
33710 2010-01-28  Jim Meyering  <meyering@redhat.com>
33711
33712         regex: do not ignore memory allocation failure
33713         * lib/regex_internal.c (create_cd_newstate): Detect
33714         re_node_set_init_copy failure.   Extracted from glibc commit
33715         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33716
33717         regex: sync more white-space changes from libc
33718         * lib/regex_internal.c: White-space only changes.
33719         * lib/regexec.c: Likewise.
33720
33721         regex: add many uses of __attribute_warn_unused_result__
33722         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
33723         * lib/regexec.c: Likewise.
33724         Extracted from a messy glibc commit.
33725
33726         regcomp.c: spelling and merge-artifact from glibc
33727         * lib/regcomp.c: Merge remainder of glibc's
33728         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33729
33730         regcomp.c: sync white-space changes from glibc
33731         * lib/regcomp.c: Merge to accommodate white space
33732         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33733
33734         regcomp.c: do not ignore internal return values
33735         * lib/regcomp.c: Do not ignore internal return values.
33736         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
33737         but without its white-space changes and spelling fixes.
33738
33739         regex_internal.h: define __attribute_warn_unused_result__
33740         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
33741
33742         maint: add a syntax-check rule to check for vulnerable Makefile.in
33743         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
33744
33745 2010-01-27  Jim Meyering  <meyering@redhat.com>
33746
33747         ncftpput-ftp: clean up spaces
33748         * build-aux/ncftpput-ftp: Make Copyright line consistent.
33749         Remove trailing blanks.
33750
33751 2010-01-27  Simon Josefsson  <simon@josefsson.org>
33752
33753         * build-aux/git-version-gen: Fix copyright statement.
33754         * build-aux/gnupload: Likewise.
33755         * tests/test-arcfour.c: Likewise.
33756         * tests/test-arctwo.c: Likewise.
33757         * tests/test-count-one-bits.c: Likewise.
33758         * tests/test-crc.c: Likewise.
33759         * tests/test-des.c: Likewise.
33760         * tests/test-gc-arcfour.c: Likewise.
33761         * tests/test-gc-arctwo.c: Likewise.
33762         * tests/test-gc-des.c: Likewise.
33763         * tests/test-gc-hmac-md5.c: Likewise.
33764         * tests/test-gc-hmac-sha1.c: Likewise.
33765         * tests/test-gc-md2.c: Likewise.
33766         * tests/test-gc-md4.c: Likewise.
33767         * tests/test-gc-md5.c: Likewise.
33768         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33769         * tests/test-gc-rijndael.c: Likewise.
33770         * tests/test-gc-sha1.c: Likewise.
33771         * tests/test-gc.c: Likewise.
33772         * tests/test-gethostname.c: Likewise.
33773         * tests/test-gettimeofday.c: Likewise.
33774         * tests/test-hash.c: Likewise.
33775         * tests/test-hmac-md5.c: Likewise.
33776         * tests/test-hmac-sha1.c: Likewise.
33777         * tests/test-md2.c: Likewise.
33778         * tests/test-md4.c: Likewise.
33779         * tests/test-md5.c: Likewise.
33780         * tests/test-memchr.c: Likewise.
33781         * tests/test-memchr2.c: Likewise.
33782         * tests/test-memcmp.c: Likewise.
33783         * tests/test-memmem.c: Likewise.
33784         * tests/test-memrchr.c: Likewise.
33785         * tests/test-rawmemchr.c: Likewise.
33786         * tests/test-read-file.c: Likewise.
33787         * tests/test-rijndael.c: Likewise.
33788         * tests/test-sockets.c: Likewise.
33789         * tests/test-strchrnul.c: Likewise.
33790         * tests/test-strstr.c: Likewise.
33791         * tests/test-strtod.c: Likewise.
33792         * build-aux/ncftpput-ftp: Likewise.
33793
33794 2010-01-26  Eric Blake  <ebb9@byu.net>
33795
33796         ignore-value: update recommended header name
33797         * modules/ignore-value (Include): Only use <> for headers that
33798         exist in glibc.
33799
33800 2010-01-26  Jim Meyering  <meyering@redhat.com>
33801
33802         test-userspec.c: avoid compiler warnings
33803         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
33804         and "initialization discards qualifiers..." warnings.
33805         Put the first "uid" in its own scope, and make char* members "const".
33806
33807 2010-01-25  Bruno Haible  <bruno@clisp.org>
33808
33809         gnulib-tool: Make warning diagnostics consistent.
33810         * gnulib-tool (func_warning): New function.
33811         Use it everywhere where gnulib-tool produces output to stderr and it is
33812         not a fatal error.
33813
33814 2010-01-25  Bruno Haible  <bruno@clisp.org>
33815
33816         Fix test dependencies.
33817         * modules/xstrtol-tests (Depends-on): Add inttypes.
33818         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
33819
33820 2010-01-25 Pádraig Brady <P@draigBrady.com>
33821
33822         syntax-check: detect incorrect boolean macro values in config.h
33823         * modules/maintainer-makefile (configure.ac): Parameterize the location
33824         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
33825         The logic is from Eric Blake and the location indicated by Jim Meyering.
33826         Note the more natural CONFIG_HEADER name is prohibited by automake
33827         for backwards compatibility reasons.
33828         * top/maint.mk (sc_Wundef_boolean): New rule.
33829
33830 2010-01-25  Jim Meyering  <meyering@redhat.com>
33831
33832         bootstrap: detect MacOS 10.6's shasum, too
33833         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
33834         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
33835
33836 2010-01-23  Jim Meyering  <meyering@redhat.com>
33837
33838         xstrtoll: new module
33839         * modules/xstrtoll: New file.
33840         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
33841         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
33842         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
33843         ./configure fails if you use this module and lack "long long".
33844         * modules/xstrtoll-tests: New module.
33845         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
33846         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
33847         new init.sh-based test framework.
33848
33849 2010-01-24  Bruno Haible  <bruno@clisp.org>
33850
33851         Tests for module 'yn'.
33852         * modules/yn-tests: New file.
33853         * tests/test-yn.c: New file.
33854
33855         Tests for module 'y1'.
33856         * modules/y1-tests: New file.
33857         * tests/test-y1.c: New file.
33858
33859         Tests for module 'y0'.
33860         * modules/y0-tests: New file.
33861         * tests/test-y0.c: New file.
33862
33863         Tests for module 'tanh'.
33864         * modules/tanh-tests: New file.
33865         * tests/test-tanh.c: New file.
33866
33867         Tests for module 'tan'.
33868         * modules/tan-tests: New file.
33869         * tests/test-tan.c: New file.
33870
33871         Tests for module 'sqrt'.
33872         * modules/sqrt-tests: New file.
33873         * tests/test-sqrt.c: New file.
33874
33875         Tests for module 'sinh'.
33876         * modules/sinh-tests: New file.
33877         * tests/test-sinh.c: New file.
33878
33879         Tests for module 'sin'.
33880         * modules/sin-tests: New file.
33881         * tests/test-sin.c: New file.
33882
33883         Tests for module 'rint'.
33884         * modules/rint-tests: New file.
33885         * tests/test-rint.c: New file.
33886
33887         Tests for module 'remainder'.
33888         * modules/remainder-tests: New file.
33889         * tests/test-remainder.c: New file.
33890
33891         Tests for module 'pow'.
33892         * modules/pow-tests: New file.
33893         * tests/test-pow.c: New file.
33894
33895         Tests for module 'nextafter'.
33896         * modules/nextafter-tests: New file.
33897         * tests/test-nextafter.c: New file.
33898
33899         Tests for module 'modf'.
33900         * modules/modf-tests: New file.
33901         * tests/test-modf.c: New file.
33902
33903         Tests for module 'logb'.
33904         * modules/logb-tests: New file.
33905         * tests/test-logb.c: New file.
33906
33907         Tests for module 'log1p'.
33908         * modules/log1p-tests: New file.
33909         * tests/test-log1p.c: New file.
33910
33911         Tests for module 'log10'.
33912         * modules/log10-tests: New file.
33913         * tests/test-log10.c: New file.
33914
33915         Tests for module 'log'.
33916         * modules/log-tests: New file.
33917         * tests/test-log.c: New file.
33918
33919         Tests for module 'lgamma'.
33920         * modules/lgamma-tests: New file.
33921         * tests/test-lgamma.c: New file.
33922
33923         Tests for module 'ldexp'.
33924         * modules/ldexp-tests: New file.
33925         * tests/test-ldexp.c: New file.
33926
33927         Tests for module 'jn'.
33928         * modules/jn-tests: New file.
33929         * tests/test-jn.c: New file.
33930
33931         Tests for module 'j1'.
33932         * modules/j1-tests: New file.
33933         * tests/test-j1.c: New file.
33934
33935         Tests for module 'j0'.
33936         * modules/j0-tests: New file.
33937         * tests/test-j0.c: New file.
33938
33939         Tests for module 'hypot'.
33940         * modules/hypot-tests: New file.
33941         * tests/test-hypot.c: New file.
33942
33943         Tests for module 'fmod'.
33944         * modules/fmod-tests: New file.
33945         * tests/test-fmod.c: New file.
33946
33947         Tests for module 'fabs'.
33948         * modules/fabs-tests: New file.
33949         * tests/test-fabs.c: New file.
33950
33951         Tests for module 'exp'.
33952         * modules/exp-tests: New file.
33953         * tests/test-exp.c: New file.
33954
33955         Tests for module 'erfc'.
33956         * modules/erfc-tests: New file.
33957         * tests/test-erfc.c: New file.
33958
33959         Tests for module 'erf'.
33960         * modules/erf-tests: New file.
33961         * tests/test-erf.c: New file.
33962
33963         Tests for module 'cosh'.
33964         * modules/cosh-tests: New file.
33965         * tests/test-cosh.c: New file.
33966
33967         Tests for module 'cos'.
33968         * modules/cos-tests: New file.
33969         * tests/test-cos.c: New file.
33970
33971         Tests for module 'copysign'.
33972         * modules/copysign-tests: New file.
33973         * tests/test-copysign.c: New file.
33974
33975         Tests for module 'cbrt'.
33976         * modules/cbrt-tests: New file.
33977         * tests/test-cbrt.c: New file.
33978
33979         Tests for module 'atan2'.
33980         * modules/atan2-tests: New file.
33981         * tests/test-atan2.c: New file.
33982
33983         Tests for module 'atan'.
33984         * modules/atan-tests: New file.
33985         * tests/test-atan.c: New file.
33986
33987         Tests for module 'asin'.
33988         * modules/asin-tests: New file.
33989         * tests/test-asin.c: New file.
33990
33991         Tests for module 'acos'.
33992         * modules/acos-tests: New file.
33993         * tests/test-acos.c: New file.
33994
33995 2010-01-24  Bruno Haible  <bruno@clisp.org>
33996
33997         Fix tests for common <math.h> functions.
33998         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
33999         code snippet that references the function pointer, rather than merely
34000         calling the function. Substitute the FUNC_LIBM variable.
34001         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
34002         * modules/acos (configure.ac): Likewise.
34003         * modules/asin (configure.ac): Likewise.
34004         * modules/atan (configure.ac): Likewise.
34005         * modules/atan2 (configure.ac): Likewise.
34006         * modules/cbrt (configure.ac): Likewise.
34007         * modules/copysign (configure.ac): Likewise.
34008         * modules/cos (configure.ac): Likewise.
34009         * modules/cosh (configure.ac): Likewise.
34010         * modules/erf (configure.ac): Likewise.
34011         * modules/erfc (configure.ac): Likewise.
34012         * modules/exp (configure.ac): Likewise.
34013         * modules/fabs (configure.ac): Likewise.
34014         * modules/fmod (configure.ac): Likewise.
34015         * modules/hypot (configure.ac): Likewise.
34016         * modules/j0 (configure.ac): Likewise.
34017         * modules/j1 (configure.ac): Likewise.
34018         * modules/jn (configure.ac): Likewise.
34019         * modules/ldexp (configure.ac): Likewise.
34020         * modules/lgamma (configure.ac): Likewise.
34021         * modules/log (configure.ac): Likewise.
34022         * modules/log10 (configure.ac): Likewise.
34023         * modules/log1p (configure.ac): Likewise.
34024         * modules/logb (configure.ac): Likewise.
34025         * modules/modf (configure.ac): Likewise.
34026         * modules/nextafter (configure.ac): Likewise.
34027         * modules/pow (configure.ac): Likewise.
34028         * modules/remainder (configure.ac): Likewise.
34029         * modules/rint (configure.ac): Likewise.
34030         * modules/sin (configure.ac): Likewise.
34031         * modules/sinh (configure.ac): Likewise.
34032         * modules/tan (configure.ac): Likewise.
34033         * modules/tanh (configure.ac): Likewise.
34034         * modules/y0 (configure.ac): Likewise.
34035         * modules/y1 (configure.ac): Likewise.
34036         * modules/yn (configure.ac): Likewise.
34037
34038 2010-01-24  Bruno Haible  <bruno@clisp.org>
34039
34040         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
34041         * tests/test-acosl.c (x): New variable.
34042         (main): Store argument in x and fetch it from x.
34043         * tests/test-asinl.c (x): New variable.
34044         (main): Store argument in x and fetch it from x.
34045         * tests/test-atanl.c (x): New variable.
34046         (main): Store argument in x and fetch it from x.
34047         * tests/test-cosl.c (x): New variable.
34048         (main): Store argument in x and fetch it from x.
34049         * tests/test-expl.c (x): New variable.
34050         (main): Store argument in x and fetch it from x.
34051         * tests/test-logl.c (x): New variable.
34052         (main): Store argument in x and fetch it from x.
34053         * tests/test-sinl.c (x): New variable.
34054         (main): Store argument in x and fetch it from x.
34055         * tests/test-sqrtl.c (x): New variable.
34056         (main): Store argument in x and fetch it from x.
34057         * tests/test-tanl.c (x): New variable.
34058         (main): Store argument in x and fetch it from x.
34059
34060 2010-01-24  Bruno Haible  <bruno@clisp.org>
34061
34062         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
34063         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
34064         assignments to the initial TESTS_ENVIRONMENT.
34065         * doc/gnulib.texi (Unit test modules): Document it.
34066         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
34067         TESTS_ENVIRONMENT.
34068         * modules/btowc-tests (Makefile.am): Likewise.
34069         * modules/c-stack-tests (Makefile.am): Likewise.
34070         * modules/c-strcase-tests (Makefile.am): Likewise.
34071         * modules/copy-file-tests (Makefile.am): Likewise.
34072         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
34073         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
34074         * modules/mbrtowc-tests (Makefile.am): Likewise.
34075         * modules/mbscasecmp-tests (Makefile.am): Likewise.
34076         * modules/mbscasestr-tests (Makefile.am): Likewise.
34077         * modules/mbschr-tests (Makefile.am): Likewise.
34078         * modules/mbscspn-tests (Makefile.am): Likewise.
34079         * modules/mbsinit-tests (Makefile.am): Likewise.
34080         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
34081         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
34082         * modules/mbspbrk-tests (Makefile.am): Likewise.
34083         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
34084         * modules/mbsrchr-tests (Makefile.am): Likewise.
34085         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
34086         * modules/mbsspn-tests (Makefile.am): Likewise.
34087         * modules/mbsstr-tests (Makefile.am): Likewise.
34088         * modules/nl_langinfo-tests (Makefile.am): Likewise.
34089         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
34090         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
34091         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
34092         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
34093         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
34094         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
34095         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
34096         * modules/wcrtomb-tests (Makefile.am): Likewise.
34097         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
34098         * modules/wcsrtombs-tests (Makefile.am): Likewise.
34099         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
34100         assignments from TESTS_ENVIRONMENT.
34101         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
34102         augmentation.
34103         * modules/argp-version-etc-tests (Makefile.am): Likewise.
34104         * modules/atexit-tests (Makefile.am): Likewise.
34105         * modules/binary-io-tests (Makefile.am): Likewise.
34106         * modules/closein-tests (Makefile.am): Likewise.
34107         * modules/dprintf-posix-tests (Makefile.am): Likewise.
34108         * modules/exclude-tests (Makefile.am): Likewise.
34109         * modules/fflush-tests (Makefile.am): Likewise.
34110         * modules/fpending-tests (Makefile.am): Likewise.
34111         * modules/fprintf-posix-tests (Makefile.am): Likewise.
34112         * modules/freadahead-tests (Makefile.am): Likewise.
34113         * modules/freadptr-tests (Makefile.am): Likewise.
34114         * modules/freadseek-tests (Makefile.am): Likewise.
34115         * modules/fseek-tests (Makefile.am): Likewise.
34116         * modules/fseeko-tests (Makefile.am): Likewise.
34117         * modules/ftell-tests (Makefile.am): Likewise.
34118         * modules/ftello-tests (Makefile.am): Likewise.
34119         * modules/idpriv-drop-tests (Makefile.am): Likewise.
34120         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
34121         * modules/lseek-tests (Makefile.am): Likewise.
34122         * modules/parse-duration-tests (Makefile.am): Likewise.
34123         * modules/perror-tests (Makefile.am): Likewise.
34124         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
34125         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
34126         * modules/pipe-tests (Makefile.am): Likewise.
34127         * modules/pread-tests (Makefile.am): Likewise.
34128         * modules/printf-posix-tests (Makefile.am): Likewise.
34129         * modules/select-tests (Makefile.am): Likewise.
34130         * modules/sigpipe-tests (Makefile.am): Likewise.
34131         * modules/tsearch-tests (Makefile.am): Likewise.
34132         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
34133         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
34134         * modules/uniname/uniname-tests (Makefile.am): Likewise.
34135         * modules/uniwidth/width-tests (Makefile.am): Likewise.
34136         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
34137         * modules/version-etc-tests (Makefile.am): Likewise.
34138         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
34139         * modules/vprintf-posix-tests (Makefile.am): Likewise.
34140         * modules/xalloc-die-tests (Makefile.am): Likewise.
34141         * modules/xprintf-posix-tests (Makefile.am): Likewise.
34142         * modules/xstrtoimax-tests (Makefile.am): Likewise.
34143         * modules/xstrtol-tests (Makefile.am): Likewise.
34144         * modules/xstrtoumax-tests (Makefile.am): Likewise.
34145         * modules/yesno-tests (Makefile.am): Likewise.
34146         Suggested by Jim Meyering.
34147
34148 2010-01-24  Bruno Haible  <bruno@clisp.org>
34149
34150         More documentation.
34151         * doc/gnulib.texi (Writing modules): New chapter.
34152         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
34153         the new chapter.
34154
34155 2010-01-24  Jim Meyering  <meyering@redhat.com>
34156
34157         maint.mk: do not prepend "./" after filtering
34158         * top/maint.mk (_prepend_srcdir_prefix): New variable
34159         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
34160         "./" when $(srcdir) is ".".
34161
34162         define STREQ(a,b) consistently, removing useless parentheses
34163         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
34164         since the only risk is that "a" or "b" contains an unparenthesized
34165         comma, but if either did that, STREQ would have 3 or more arguments.
34166         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
34167         * lib/fts.c (STREQ): Remove unnecessary parentheses.
34168         * lib/hash-triple.c (STREQ): Likewise.
34169         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
34170         * lib/getugroups.c (STREQ): Likewise.
34171
34172 2010-01-23  Jim Meyering  <meyering@redhat.com>
34173
34174         maint.mk: fix syntax-check in a non-srcdir build directory
34175         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
34176         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
34177
34178 2010-01-22  Jim Meyering  <meyering@redhat.com>
34179
34180         userspec: add unit tests
34181         * tests/test-userspec.c: New file.
34182         * modules/userspec-tests: Likewise.
34183
34184 2010-01-21  Jim Meyering  <meyering@redhat.com>
34185
34186         maint.mk: handle source file names containing "." robustly
34187         * top/maint.mk (_dot_escaped_srcdir): Define.
34188         (VC_LIST): Use it in LHS of sed substitution.
34189
34190 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
34191
34192         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
34193         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
34194         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
34195         from a non-srcdir build.
34196
34197 2010-01-20  Eric Blake  <ebb9@byu.net>
34198
34199         warn-on-use: use instead of link-warning
34200         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
34201         * modules/unistd (Depends-on, Makefile.am): Likewise.
34202         * modules/arpa_inet (Depends-on): Replace link-warning with
34203         warn-on-use.
34204         (Makefile.am): Update rules accordingly.
34205         * modules/ctype (Depends-on, Makefile.am): Likewise.
34206         * modules/dirent (Depends-on, Makefile.am): Likewise.
34207         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
34208         * modules/inttypes (Depends-on, Makefile.am): Likewise.
34209         * modules/langinfo (Depends-on, Makefile.am): Likewise.
34210         * modules/locale (Depends-on, Makefile.am): Likewise.
34211         * modules/math (Depends-on, Makefile.am): Likewise.
34212         * modules/search (Depends-on, Makefile.am): Likewise.
34213         * modules/signal (Depends-on, Makefile.am): Likewise.
34214         * modules/spawn (Depends-on, Makefile.am): Likewise.
34215         * modules/stdlib (Depends-on, Makefile.am): Likewise.
34216         * modules/string (Depends-on, Makefile.am): Likewise.
34217         * modules/strings (Depends-on, Makefile.am): Likewise.
34218         * modules/sys_file (Depends-on, Makefile.am): Likewise.
34219         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
34220         * modules/sys_select (Depends-on, Makefile.am): Likewise.
34221         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
34222         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
34223         * modules/sys_times (Depends-on, Makefile.am): Likewise.
34224         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
34225         * modules/wchar (Depends-on, Makefile.am): Likewise.
34226         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
34227         should be poisoned.
34228         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
34229         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
34230         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
34231         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34232         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
34233         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
34234         * m4/math_h.m4 (gl_MATH_H): Likewise.
34235         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34236         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
34237         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
34238         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
34239         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
34240         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
34241         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
34242         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
34243         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
34244         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34245         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
34246         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
34247         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
34248         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
34249         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
34250         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34251         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
34252         GL_LINK_WARNING.
34253         * lib/ctype.in.h: Likewise.
34254         * lib/dirent.in.h: Likewise.
34255         * lib/fcntl.in.h: Likewise.
34256         * lib/inttypes.in.h: Likewise.
34257         * lib/langinfo.in.h: Likewise.
34258         * lib/locale.in.h: Likewise.
34259         * lib/math.in.h: Likewise.
34260         * lib/search.in.h: Likewise.
34261         * lib/signal.in.h: Likewise.
34262         * lib/spawn.in.h: Likewise.
34263         * lib/stdio.in.h: Likewise.
34264         * lib/stdlib.in.h: Likewise.
34265         * lib/string.in.h: Likewise.
34266         * lib/strings.in.h: Likewise.
34267         * lib/sys_file.in.h: Likewise.
34268         * lib/sys_ioctl.in.h: Likewise.
34269         * lib/sys_select.in.h: Likewise.
34270         * lib/sys_socket.in.h: Likewise.
34271         * lib/sys_stat.in.h: Likewise.
34272         * lib/sys_times.in.h: Likewise.
34273         * lib/sys_utsname.in.h: Likewise.
34274         * lib/unistd.in.h: Likewise.
34275         * lib/wchar.in.h: Likewise.
34276
34277 2010-01-20  Bruno Haible  <bruno@clisp.org>
34278
34279         Avoid duplicate -lm.
34280         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
34281         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
34282         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
34283         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
34284         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
34285         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
34286         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
34287         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
34288         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
34289         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
34290         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
34291         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
34292         Reported by Paolo Bonzini.
34293
34294 2010-01-19  Bruno Haible  <bruno@clisp.org>
34295
34296         langinfo, nl_langinfo: Relicense under LGPLv2+.
34297         * modules/langinfo (License): Change to LGPLv2+.
34298         * modules/nl_langinfo (License): Likewise.
34299         Patch by David Lutterkort <lutter@redhat.com>.
34300
34301 2010-01-19  Bruno Haible  <bruno@clisp.org>
34302
34303         Avoid compilation error with cc on OSF/1 5.1.
34304         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
34305         statement, not before.
34306         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34307
34308 2010-01-18  Bruno Haible  <bruno@clisp.org>
34309
34310         Avoid a link error due to the __printf__ symbol.
34311         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
34312         and 2.6.x.
34313         (__format__, __printf__): Remove definitions.
34314         * lib/argp-fmtstream.h: Likewise.
34315         * lib/argp.h: Likewise.
34316         * lib/error.h: Likewise.
34317         * lib/vasnprintf.h: Likewise.
34318         * lib/xprintf.h: Likewise.
34319         * lib/xvasprintf.h: Likewise.
34320         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34321
34322 2010-01-18  Bruno Haible  <bruno@clisp.org>
34323
34324         Tests for module 'tanl'.
34325         * modules/tanl-tests: New file.
34326         * tests/test-tanl.c: New file.
34327
34328         Tests for module 'sqrtl'.
34329         * modules/sqrtl-tests: New file.
34330         * tests/test-sqrtl.c: New file.
34331
34332         Tests for module 'sinl'.
34333         * modules/sinl-tests: New file.
34334         * tests/test-sinl.c: New file.
34335
34336         Tests for module 'logl'.
34337         * modules/logl-tests: New file.
34338         * tests/test-logl.c: New file.
34339
34340         Tests for module 'expl'.
34341         * modules/expl-tests: New file.
34342         * tests/test-expl.c: New file.
34343
34344         Tests for module 'cosl'.
34345         * modules/cosl-tests: New file.
34346         * tests/test-cosl.c: New file.
34347
34348         Tests for module 'atanl'.
34349         * modules/atanl-tests: New file.
34350         * tests/test-atanl.c: New file.
34351
34352         Tests for module 'asinl'.
34353         * modules/asinl-tests: New file.
34354         * tests/test-asinl.c: New file.
34355
34356         Tests for module 'acosl'.
34357         * modules/acosl-tests: New file.
34358         * tests/test-acosl.c: New file.
34359
34360         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
34361         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
34362         tanl): Use the standard gnulib idiom.
34363         * lib/cosl.c: Don't include trigl.c and sincosl.c.
34364         * lib/sinl.c: Likewise.
34365         * lib/tanl.c: Don't include trigl.c.
34366         (kernel_tanl): Make static.
34367         * lib/sincosl.c: Include trigl.h first.
34368         * lib/trigl.c: Likewise.
34369         * m4/acosl.m4: New file.
34370         * m4/asinl.m4: New file.
34371         * m4/atanl.m4: New file.
34372         * m4/cosl.m4: New file.
34373         * m4/expl.m4: New file.
34374         * m4/logl.m4: New file.
34375         * m4/sinl.m4: New file.
34376         * m4/sqrtl.m4: New file.
34377         * m4/tanl.m4: New file.
34378         * m4/mathl.m4: Remove file.
34379         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
34380         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
34381         Don't initialize GNULIB_MATHL.
34382         * modules/acosl: New file.
34383         * modules/asinl: New file.
34384         * modules/atanl: New file.
34385         * modules/cosl: New file.
34386         * modules/expl: New file.
34387         * modules/logl: New file.
34388         * modules/sinl: New file.
34389         * modules/sqrtl: New file.
34390         * modules/tanl: New file.
34391         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
34392         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
34393         substitute GNULIB_MATHL.
34394         * modules/mathl: Rewritten.
34395         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
34396         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
34397         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
34398         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
34399         * doc/posix-functions/expl.texi: Mention the 'expl' module.
34400         * doc/posix-functions/logl.texi: Mention the 'logl' module.
34401         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
34402         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
34403         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
34404
34405 2010-01-18  Bruno Haible  <bruno@clisp.org>
34406
34407         sqrt: Make gl_FUNC_SQRT requirable.
34408         * m4/sqrt.m4: New file.
34409         * modules/sqrt (Files): Add it.
34410         (configure.ac): Invoke gl_FUNC_SQRT.
34411
34412 2010-01-18  Bruno Haible  <bruno@clisp.org>
34413
34414         New modules for common <math.h> functions.
34415         * m4/mathfunc.m4: New file.
34416         * modules/acos: New file.
34417         * modules/asin: New file.
34418         * modules/atan: New file.
34419         * modules/atan2: New file.
34420         * modules/cbrt: New file.
34421         * modules/copysign: New file.
34422         * modules/cos: New file.
34423         * modules/cosh: New file.
34424         * modules/erf: New file.
34425         * modules/erfc: New file.
34426         * modules/exp: New file.
34427         * modules/fabs: New file.
34428         * modules/fmod: New file.
34429         * modules/hypot: New file.
34430         * modules/j0: New file.
34431         * modules/j1: New file.
34432         * modules/jn: New file.
34433         * modules/ldexp: New file.
34434         * modules/lgamma: New file.
34435         * modules/log: New file.
34436         * modules/log10: New file.
34437         * modules/log1p: New file.
34438         * modules/logb: New file.
34439         * modules/modf: New file.
34440         * modules/nextafter: New file.
34441         * modules/pow: New file.
34442         * modules/remainder: New file.
34443         * modules/rint: New file.
34444         * modules/sin: New file.
34445         * modules/sinh: New file.
34446         * modules/sqrt: New file.
34447         * modules/tan: New file.
34448         * modules/tanh: New file.
34449         * modules/y0: New file.
34450         * modules/y1: New file.
34451         * modules/yn: New file.
34452         * doc/posix-functions/acos.texi: Mention the 'acos' module.
34453         * doc/posix-functions/asin.texi: Mention the 'asin' module.
34454         * doc/posix-functions/atan.texi: Mention the 'atan' module.
34455         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
34456         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
34457         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
34458         * doc/posix-functions/cos.texi: Mention the 'cos' module.
34459         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
34460         * doc/posix-functions/erf.texi: Mention the 'erf' module.
34461         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
34462         * doc/posix-functions/exp.texi: Mention the 'exp' module.
34463         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
34464         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
34465         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
34466         * doc/posix-functions/j0.texi: Mention the 'j0' module.
34467         * doc/posix-functions/j1.texi: Mention the 'j1' module.
34468         * doc/posix-functions/jn.texi: Mention the 'jn' module.
34469         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
34470         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
34471         * doc/posix-functions/log.texi: Mention the 'log' module.
34472         * doc/posix-functions/log10.texi: Mention the 'log10' module.
34473         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
34474         * doc/posix-functions/logb.texi: Mention the 'logb' module.
34475         * doc/posix-functions/modf.texi: Mention the 'modf' module.
34476         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
34477         * doc/posix-functions/pow.texi: Mention the 'pow' module.
34478         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
34479         * doc/posix-functions/rint.texi: Mention the 'rint' module.
34480         * doc/posix-functions/sin.texi: Mention the 'sin' module.
34481         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
34482         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
34483         * doc/posix-functions/tan.texi: Mention the 'tan' module.
34484         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
34485         * doc/posix-functions/y0.texi: Mention the 'y0' module.
34486         * doc/posix-functions/y1.texi: Mention the 'y1' module.
34487         * doc/posix-functions/yn.texi: Mention the 'yn' module.
34488
34489 2010-01-18  Jim Meyering  <meyering@redhat.com>
34490
34491         ignore-value: relax license to LGPLv2+
34492         * modules/ignore-value (License): Relax to LGPLv2+.
34493
34494         getdate: don't leak when TZ contains two or more '"'s
34495         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
34496         double quote in TZ after the first one.
34497
34498         readtokens: do not leak internal token_lengths buffer
34499         * lib/readtokens.c (readtokens): Free the local, lengths,
34500         when the supplied "token_lengths" parameter is NULL.
34501
34502 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34503
34504         Fix a couple of missing LIBTHREAD link failures on AIX.
34505         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
34506         $(LIBTHREAD).
34507         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
34508
34509         Link test-poll against INET_PTON_LIB.
34510         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
34511         for inet_pton on Solaris 10.
34512
34513 2010-01-17  Bruno Haible  <bruno@clisp.org>
34514
34515         unistdio/*-sprintf: Fix typo in module description.
34516         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
34517         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
34518         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
34519         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
34520         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
34521         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
34522         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
34523         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34524
34525 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34526
34527         gnulib-tool: fix filelist for AIX, HP-UX ksh.
34528         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
34529         variables in shell case patterns, for AIX and HP-UX ksh.
34530
34531         Split large sed scripts, for HP-UX sed.
34532         * modules/stdio: Split sed scripts around 50 sed commands,
34533         to avoid HP-UX limit of 99 commands, in the near future.
34534         * modules/string: Likewise.
34535         * modules/unistd: Likewise.
34536
34537         gnulib-tool: avoid writing in the current directory.
34538         * gnulib-tool (func_emit_lib_Makefile_am)
34539         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
34540         not in the current directory, so concurrent gnulib-tool
34541         instances do not interfere.
34542
34543 2010-01-16  Jim Meyering  <meyering@redhat.com>
34544
34545         doc: update users.txt
34546         * users.txt: Add grep.
34547         (diffutils, gzip): Update URLs.
34548
34549 2010-01-12  Bruno Haible  <bruno@clisp.org>
34550
34551         posix_spawn: Avoid test failure on Cygwin.
34552         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
34553         characters.
34554         Reported by Simon Josefsson.
34555
34556 2010-01-12  Bruno Haible  <bruno@clisp.org>
34557
34558         * tests/test-cond.c (main): When skipping the test, show the reason.
34559
34560 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34561
34562         * lib/striconv.c (str_cd_iconv): Avoid if before free.
34563
34564 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34565
34566         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
34567         VC_LIST_ALWAYS_EXCLUDE_REGEX.
34568
34569 2010-01-12  Eric Blake  <ebb9@byu.net>
34570
34571         build: guarantee AS_VAR_IF
34572         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
34573         (gl_AS_VAR_IF): Move...
34574         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
34575         Reported by Simon Josefsson.
34576
34577 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34578
34579         * lib/stdio.in.h: Fix typo.
34580
34581 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34582
34583         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
34584         libgpg-error.
34585
34586 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34587
34588         * tests/test-xalloc-die.sh: Use $EXEEXT.
34589
34590 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34591             Bruno Haible  <bruno@clisp.org>
34592
34593         getlogin, getlogin_r: Avoid test failure.
34594         * tests/test-getlogin.c: Include <stdio.h>.
34595         (main): Skip the test when the function fails because stdin is not a
34596         tty.
34597         * tests/test-getlogin_r.c: Include <stdio.h>.
34598         (main): Skip the test when the function fails because stdin is not a
34599         tty.
34600
34601 2010-01-11  Eric Blake  <ebb9@byu.net>
34602
34603         tests: avoid more large file warnings
34604         * tests/test-fflush.c: Avoid warning about ftell use.
34605         * tests/test-fseek.c: Avoid warning about fseek use.
34606
34607 2010-01-10  Bruno Haible  <bruno@clisp.org>
34608
34609         nproc: Work better on Linux when /proc and /sys are not mounted.
34610         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
34611         as lower bound when, on glibc/Linux systems,
34612         sysconf (_SC_NPROCESSORS_CONF) returns 1.
34613         Suggested by Pádraig Brady <P@draigbrady.com>.
34614         Reported by Dmitry V. Levin <ldv@altlinux.org>.
34615
34616         nproc: Refactor.
34617         * lib/nproc.c (num_processors_via_affinity_mask): New function,
34618         extracted from num_processors.
34619         (num_processors): Call it.
34620
34621 2010-01-11  Jim Meyering  <meyering@redhat.com>
34622
34623         utimecmp: avoid new warning from upcoming gcc-4.5.0
34624         * lib/utimecmp.c (BILLION): Define using #define rather than an
34625         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
34626
34627 2010-01-11  Eric Blake  <ebb9@byu.net>
34628
34629         math: add portability warnings for classification macros
34630         * modules/math (Depends-on): Add warn-on-use.
34631         (Makefile.am): Provide new substitutions.
34632         * m4/math_h.m4 (gl_MATH_H): Require inline.
34633         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
34634         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
34635         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
34636         implement warnings.
34637
34638         unistd: warn on use of environ without module
34639         * modules/unistd (Depends-on): Add warn-on-use.
34640         (Makefile.am): Provide new substitutions.
34641         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
34642         * lib/unistd.in.h (environ): Wrap with a warning helper function.
34643
34644         stdio: warn on suspicious uses
34645         * modules/stdio (Depends-on): Add warn-on-use.
34646         (Makefile.am): Provide new substitutions.
34647         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
34648         fseeko.
34649         * lib/stdio.in.h (gets): Always warn on use.
34650         (fseek, ftell): Adjust when warnings are issued, and honor
34651         _GL_NO_LARGE_FILES as a way to silence the warning.
34652         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
34653         any warning about large file offsets.
34654         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
34655         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
34656         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
34657         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
34658         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
34659         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
34660         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
34661         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
34662
34663         warn-on-use: new module
34664         * modules/warn-on-use: New file.
34665         * build-aux/warn-on-use.h: Likewise.
34666         * m4/warn-on-use.m4: Likewise.
34667         * MODULES.html.sh (Support for building): Mention it.
34668
34669 2010-01-10  Bruno Haible  <bruno@clisp.org>
34670
34671         Tests for module 'unistr/u32-strdup'.
34672         * modules/unistr/u32-strdup-tests: New file.
34673         * tests/unistr/test-u32-strdup.c: New file.
34674
34675         Tests for module 'unistr/u16-strdup'.
34676         * modules/unistr/u16-strdup-tests: New file.
34677         * tests/unistr/test-u16-strdup.c: New file.
34678
34679         Tests for module 'unistr/u8-strdup'.
34680         * modules/unistr/u8-strdup-tests: New file.
34681         * tests/unistr/test-u8-strdup.c: New file.
34682         * tests/unistr/test-strdup.h: New file.
34683
34684         Tests for module 'unistr/u32-strncmp'.
34685         * modules/unistr/u32-strncmp-tests: New file.
34686         * tests/unistr/test-u32-strncmp.c: New file.
34687
34688         Tests for module 'unistr/u16-strncmp'.
34689         * modules/unistr/u16-strncmp-tests: New file.
34690         * tests/unistr/test-u16-strncmp.c: New file.
34691
34692         Tests for module 'unistr/u8-strncmp'.
34693         * modules/unistr/u8-strncmp-tests: New file.
34694         * tests/unistr/test-u8-strncmp.c: New file.
34695         * tests/unistr/test-strncmp.h: New file.
34696
34697         Tests for module 'unistr/u32-strcoll'.
34698         * modules/unistr/u32-strcoll-tests: New file.
34699         * tests/unistr/test-u32-strcoll.c: New file.
34700
34701         Tests for module 'unistr/u16-strcoll'.
34702         * modules/unistr/u16-strcoll-tests: New file.
34703         * tests/unistr/test-u16-strcoll.c: New file.
34704
34705         Tests for module 'unistr/u8-strcoll'.
34706         * modules/unistr/u8-strcoll-tests: New file.
34707         * tests/unistr/test-u8-strcoll.c: New file.
34708
34709         Tests for module 'unistr/u32-strcmp'.
34710         * modules/unistr/u32-strcmp-tests: New file.
34711         * tests/unistr/test-u32-strcmp.c: New file.
34712         * tests/unistr/test-u32-strcmp.h: New file.
34713
34714         Tests for module 'unistr/u16-strcmp'.
34715         * modules/unistr/u16-strcmp-tests: New file.
34716         * tests/unistr/test-u16-strcmp.c: New file.
34717         * tests/unistr/test-u16-strcmp.h: New file.
34718
34719         Tests for module 'unistr/u8-strcmp'.
34720         * modules/unistr/u8-strcmp-tests: New file.
34721         * tests/unistr/test-u8-strcmp.c: New file.
34722         * tests/unistr/test-u8-strcmp.h: New file.
34723         * tests/unistr/test-strcmp.h: New file.
34724
34725         Tests for module 'unistr/u32-strncat'.
34726         * modules/unistr/u32-strncat-tests: New file.
34727         * tests/unistr/test-u32-strncat.c: New file.
34728
34729         Tests for module 'unistr/u16-strncat'.
34730         * modules/unistr/u16-strncat-tests: New file.
34731         * tests/unistr/test-u16-strncat.c: New file.
34732
34733         Tests for module 'unistr/u8-strncat'.
34734         * modules/unistr/u8-strncat-tests: New file.
34735         * tests/unistr/test-u8-strncat.c: New file.
34736         * tests/unistr/test-strncat.h: New file.
34737
34738         Tests for module 'unistr/u32-strcat'.
34739         * modules/unistr/u32-strcat-tests: New file.
34740         * tests/unistr/test-u32-strcat.c: New file.
34741
34742         Tests for module 'unistr/u16-strcat'.
34743         * modules/unistr/u16-strcat-tests: New file.
34744         * tests/unistr/test-u16-strcat.c: New file.
34745
34746         Tests for module 'unistr/u8-strcat'.
34747         * modules/unistr/u8-strcat-tests: New file.
34748         * tests/unistr/test-u8-strcat.c: New file.
34749         * tests/unistr/test-strcat.h: New file.
34750
34751         Tests for module 'unistr/u32-stpncpy'.
34752         * modules/unistr/u32-stpncpy-tests: New file.
34753         * tests/unistr/test-u32-stpncpy.c: New file.
34754
34755         Tests for module 'unistr/u16-stpncpy'.
34756         * modules/unistr/u16-stpncpy-tests: New file.
34757         * tests/unistr/test-u16-stpncpy.c: New file.
34758
34759         Tests for module 'unistr/u8-stpncpy'.
34760         * modules/unistr/u8-stpncpy-tests: New file.
34761         * tests/unistr/test-u8-stpncpy.c: New file.
34762         * tests/unistr/test-stpncpy.h: New file.
34763
34764         Tests for module 'unistr/u32-strncpy'.
34765         * modules/unistr/u32-strncpy-tests: New file.
34766         * tests/unistr/test-u32-strncpy.c: New file.
34767
34768         Tests for module 'unistr/u16-strncpy'.
34769         * modules/unistr/u16-strncpy-tests: New file.
34770         * tests/unistr/test-u16-strncpy.c: New file.
34771
34772         Tests for module 'unistr/u8-strncpy'.
34773         * modules/unistr/u8-strncpy-tests: New file.
34774         * tests/unistr/test-u8-strncpy.c: New file.
34775         * tests/unistr/test-strncpy.h: New file.
34776
34777         Tests for module 'unistr/u32-stpcpy'.
34778         * modules/unistr/u32-stpcpy-tests: New file.
34779         * tests/unistr/test-u32-stpcpy.c: New file.
34780
34781         Tests for module 'unistr/u16-stpcpy'.
34782         * modules/unistr/u16-stpcpy-tests: New file.
34783         * tests/unistr/test-u16-stpcpy.c: New file.
34784
34785         Tests for module 'unistr/u8-stpcpy'.
34786         * modules/unistr/u8-stpcpy-tests: New file.
34787         * tests/unistr/test-u8-stpcpy.c: New file.
34788         * tests/unistr/test-stpcpy.h: New file.
34789
34790         Tests for module 'unistr/u32-strcpy'.
34791         * modules/unistr/u32-strcpy-tests: New file.
34792         * tests/unistr/test-u32-strcpy.c: New file.
34793
34794         Tests for module 'unistr/u16-strcpy'.
34795         * modules/unistr/u16-strcpy-tests: New file.
34796         * tests/unistr/test-u16-strcpy.c: New file.
34797
34798         Tests for module 'unistr/u8-strcpy'.
34799         * modules/unistr/u8-strcpy-tests: New file.
34800         * tests/unistr/test-u8-strcpy.c: New file.
34801         * tests/unistr/test-strcpy.h: New file.
34802
34803         Tests for module 'unistr/u32-strnlen'.
34804         * modules/unistr/u32-strnlen-tests: New file.
34805         * tests/unistr/test-u32-strnlen.c: New file.
34806
34807         Tests for module 'unistr/u16-strnlen'.
34808         * modules/unistr/u16-strnlen-tests: New file.
34809         * tests/unistr/test-u16-strnlen.c: New file.
34810
34811         Tests for module 'unistr/u8-strnlen'.
34812         * modules/unistr/u8-strnlen-tests: New file.
34813         * tests/unistr/test-u8-strnlen.c: New file.
34814         * tests/unistr/test-strnlen.h: New file.
34815
34816         Tests for module 'unistr/u32-strlen'.
34817         * modules/unistr/u32-strlen-tests: New file.
34818         * tests/unistr/test-u32-strlen.c: New file.
34819
34820         Tests for module 'unistr/u16-strlen'.
34821         * modules/unistr/u16-strlen-tests: New file.
34822         * tests/unistr/test-u16-strlen.c: New file.
34823
34824         Tests for module 'unistr/u8-strlen'.
34825         * modules/unistr/u8-strlen-tests: New file.
34826         * tests/unistr/test-u8-strlen.c: New file.
34827
34828         Tests for module 'unistr/u32-prev'.
34829         * modules/unistr/u32-prev-tests: New file.
34830         * tests/unistr/test-u32-prev.c: New file.
34831
34832         Tests for module 'unistr/u16-prev'.
34833         * modules/unistr/u16-prev-tests: New file.
34834         * tests/unistr/test-u16-prev.c: New file.
34835
34836         Tests for module 'unistr/u8-prev'.
34837         * modules/unistr/u8-prev-tests: New file.
34838         * tests/unistr/test-u8-prev.c: New file.
34839
34840         Tests for module 'unistr/u32-next'.
34841         * modules/unistr/u32-next-tests: New file.
34842         * tests/unistr/test-u32-next.c: New file.
34843
34844         Tests for module 'unistr/u16-next'.
34845         * modules/unistr/u16-next-tests: New file.
34846         * tests/unistr/test-u16-next.c: New file.
34847
34848         Tests for module 'unistr/u8-next'.
34849         * modules/unistr/u8-next-tests: New file.
34850         * tests/unistr/test-u8-next.c: New file.
34851
34852         Tests for module 'unistr/u32-strmbtouc'.
34853         * modules/unistr/u32-strmbtouc-tests: New file.
34854         * tests/unistr/test-u32-strmbtouc.c: New file.
34855
34856         Tests for module 'unistr/u16-strmbtouc'.
34857         * modules/unistr/u16-strmbtouc-tests: New file.
34858         * tests/unistr/test-u16-strmbtouc.c: New file.
34859
34860         Tests for module 'unistr/u8-strmbtouc'.
34861         * modules/unistr/u8-strmbtouc-tests: New file.
34862         * tests/unistr/test-u8-strmbtouc.c: New file.
34863
34864         Tests for module 'unistr/u32-strmblen'.
34865         * modules/unistr/u32-strmblen-tests: New file.
34866         * tests/unistr/test-u32-strmblen.c: New file.
34867
34868         Tests for module 'unistr/u16-strmblen'.
34869         * modules/unistr/u16-strmblen-tests: New file.
34870         * tests/unistr/test-u16-strmblen.c: New file.
34871
34872         Tests for module 'unistr/u8-strmblen'.
34873         * modules/unistr/u8-strmblen-tests: New file.
34874         * tests/unistr/test-u8-strmblen.c: New file.
34875
34876         Tests for module 'unistr/u32-cpy-alloc'.
34877         * modules/unistr/u32-cpy-alloc-tests: New file.
34878         * tests/unistr/test-u32-cpy-alloc.c: New file.
34879
34880         Tests for module 'unistr/u16-cpy-alloc'.
34881         * modules/unistr/u16-cpy-alloc-tests: New file.
34882         * tests/unistr/test-u16-cpy-alloc.c: New file.
34883
34884         Tests for module 'unistr/u8-cpy-alloc'.
34885         * modules/unistr/u8-cpy-alloc-tests: New file.
34886         * tests/unistr/test-u8-cpy-alloc.c: New file.
34887         * tests/unistr/test-cpy-alloc.h: New file.
34888
34889         Tests for module 'unistr/u32-mbsnlen'.
34890         * modules/unistr/u32-mbsnlen-tests: New file.
34891         * tests/unistr/test-u32-mbsnlen.c: New file.
34892
34893         Tests for module 'unistr/u16-mbsnlen'.
34894         * modules/unistr/u16-mbsnlen-tests: New file.
34895         * tests/unistr/test-u16-mbsnlen.c: New file.
34896
34897         Tests for module 'unistr/u8-mbsnlen'.
34898         * modules/unistr/u8-mbsnlen-tests: New file.
34899         * tests/unistr/test-u8-mbsnlen.c: New file.
34900
34901         Tests for module 'unistr/u32-chr'.
34902         * modules/unistr/u32-chr-tests: New file.
34903         * tests/unistr/test-u32-chr.c: New file.
34904
34905         Tests for module 'unistr/u16-chr'.
34906         * modules/unistr/u16-chr-tests: New file.
34907         * tests/unistr/test-u16-chr.c: New file.
34908
34909         Tests for module 'unistr/u8-chr'.
34910         * modules/unistr/u8-chr-tests: New file.
34911         * tests/unistr/test-u8-chr.c: New file.
34912         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
34913
34914         Tests for module 'unistr/u32-cmp2'.
34915         * modules/unistr/u32-cmp2-tests: New file.
34916         * tests/unistr/test-u32-cmp2.c: New file.
34917
34918         Tests for module 'unistr/u16-cmp2'.
34919         * modules/unistr/u16-cmp2-tests: New file.
34920         * tests/unistr/test-u16-cmp2.c: New file.
34921
34922         Tests for module 'unistr/u8-cmp2'.
34923         * modules/unistr/u8-cmp2-tests: New file.
34924         * tests/unistr/test-u8-cmp2.c: New file.
34925         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
34926
34927         Tests for module 'unistr/u32-cmp'.
34928         * modules/unistr/u32-cmp-tests: New file.
34929         * tests/unistr/test-u32-cmp.c: New file.
34930
34931         Tests for module 'unistr/u16-cmp'.
34932         * modules/unistr/u16-cmp-tests: New file.
34933         * tests/unistr/test-u16-cmp.c: New file.
34934
34935         Tests for module 'unistr/u8-cmp'.
34936         * modules/unistr/u8-cmp-tests: New file.
34937         * tests/unistr/test-u8-cmp.c: New file.
34938         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
34939
34940         Tests for module 'unistr/u32-set'.
34941         * modules/unistr/u32-set-tests: New file.
34942         * tests/unistr/test-u32-set.c: New file.
34943
34944         Tests for module 'unistr/u16-set'.
34945         * modules/unistr/u16-set-tests: New file.
34946         * tests/unistr/test-u16-set.c: New file.
34947
34948         Tests for module 'unistr/u8-set'.
34949         * modules/unistr/u8-set-tests: New file.
34950         * tests/unistr/test-u8-set.c: New file.
34951         * tests/unistr/test-set.h: New file.
34952
34953         Tests for module 'unistr/u32-move'.
34954         * modules/unistr/u32-move-tests: New file.
34955         * tests/unistr/test-u32-move.c: New file.
34956
34957         Tests for module 'unistr/u16-move'.
34958         * modules/unistr/u16-move-tests: New file.
34959         * tests/unistr/test-u16-move.c: New file.
34960
34961         Tests for module 'unistr/u8-move'.
34962         * modules/unistr/u8-move-tests: New file.
34963         * tests/unistr/test-u8-move.c: New file.
34964         * tests/unistr/test-move.h: New file.
34965
34966         Tests for module 'unistr/u32-cpy'.
34967         * modules/unistr/u32-cpy-tests: New file.
34968         * tests/unistr/test-u32-cpy.c: New file.
34969
34970         Tests for module 'unistr/u16-cpy'.
34971         * modules/unistr/u16-cpy-tests: New file.
34972         * tests/unistr/test-u16-cpy.c: New file.
34973
34974         Tests for module 'unistr/u8-cpy'.
34975         * modules/unistr/u8-cpy-tests: New file.
34976         * tests/unistr/test-u8-cpy.c: New file.
34977         * tests/unistr/test-cpy.h: New file.
34978
34979 2010-01-09  Bruno Haible  <bruno@clisp.org>
34980
34981         Tests for module 'unistr/u32-uctomb'.
34982         * modules/unistr/u32-uctomb-tests: New file.
34983         * tests/unistr/test-u32-uctomb.c: New file.
34984
34985         Tests for module 'unistr/u16-uctomb'.
34986         * modules/unistr/u16-uctomb-tests: New file.
34987         * tests/unistr/test-u16-uctomb.c: New file.
34988
34989         Tests for module 'unistr/u8-uctomb'.
34990         * modules/unistr/u8-uctomb-tests: New file.
34991         * tests/unistr/test-u8-uctomb.c: New file.
34992
34993         Tests for module 'unistr/u32-mbtoucr'.
34994         * modules/unistr/u32-mbtoucr-tests: New file.
34995         * tests/unistr/test-u32-mbtoucr.c: New file.
34996
34997         Tests for module 'unistr/u16-mbtoucr'.
34998         * modules/unistr/u16-mbtoucr-tests: New file.
34999         * tests/unistr/test-u16-mbtoucr.c: New file.
35000
35001         Tests for module 'unistr/u8-mbtoucr'.
35002         * modules/unistr/u8-mbtoucr-tests: New file.
35003         * tests/unistr/test-u8-mbtoucr.c: New file.
35004
35005         Tests for module 'unistr/u32-mbtouc'.
35006         * modules/unistr/u32-mbtouc-tests: New file.
35007         * tests/unistr/test-u32-mbtouc.c: New file.
35008
35009         Tests for module 'unistr/u16-mbtouc'.
35010         * modules/unistr/u16-mbtouc-tests: New file.
35011         * tests/unistr/test-u16-mbtouc.c: New file.
35012
35013         Tests for module 'unistr/u8-mbtouc'.
35014         * modules/unistr/u8-mbtouc-tests: New file.
35015         * tests/unistr/test-u8-mbtouc.c: New file.
35016
35017         Tests for module 'unistr/u32-mbtouc-unsafe'.
35018         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
35019         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
35020         * tests/unistr/test-u32-mbtouc.h: New file.
35021
35022         Tests for module 'unistr/u16-mbtouc-unsafe'.
35023         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
35024         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
35025         * tests/unistr/test-u16-mbtouc.h: New file.
35026
35027         Tests for module 'unistr/u8-mbtouc-unsafe'.
35028         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
35029         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
35030         * tests/unistr/test-u8-mbtouc.h: New file.
35031
35032         Tests for module 'unistr/u32-mblen'.
35033         * modules/unistr/u32-mblen-tests: New file.
35034         * tests/unistr/test-u32-mblen.c: New file.
35035
35036         Tests for module 'unistr/u16-mblen'.
35037         * modules/unistr/u16-mblen-tests: New file.
35038         * tests/unistr/test-u16-mblen.c: New file.
35039
35040         Tests for module 'unistr/u8-mblen'.
35041         * modules/unistr/u8-mblen-tests: New file.
35042         * tests/unistr/test-u8-mblen.c: New file.
35043
35044         Tests for module 'unistr/u32-to-u16'.
35045         * modules/unistr/u32-to-u16-tests: New file.
35046         * tests/unistr/test-u32-to-u16.c: New file.
35047
35048         Tests for module 'unistr/u32-to-u8'.
35049         * modules/unistr/u32-to-u8-tests: New file.
35050         * tests/unistr/test-u32-to-u8.c: New file.
35051
35052         Tests for module 'unistr/u16-to-u32'.
35053         * modules/unistr/u16-to-u32-tests: New file.
35054         * tests/unistr/test-u16-to-u32.c: New file.
35055
35056         Tests for module 'unistr/u16-to-u8'.
35057         * modules/unistr/u16-to-u8-tests: New file.
35058         * tests/unistr/test-u16-to-u8.c: New file.
35059
35060         Tests for module 'unistr/u8-to-u32'.
35061         * modules/unistr/u8-to-u32-tests: New file.
35062         * tests/unistr/test-u8-to-u32.c: New file.
35063
35064         Tests for module 'unistr/u8-to-u16'.
35065         * modules/unistr/u8-to-u16-tests: New file.
35066         * tests/unistr/test-u8-to-u16.c: New file.
35067
35068         Tests for module 'unistr/u32-check'.
35069         * modules/unistr/u32-check-tests: New file.
35070         * tests/unistr/test-u32-check.c: New file.
35071
35072         Tests for module 'unistr/u16-check'.
35073         * modules/unistr/u16-check-tests: New file.
35074         * tests/unistr/test-u16-check.c: New file.
35075
35076         Tests for module 'unistr/u8-check'.
35077         * modules/unistr/u8-check-tests: New file.
35078         * tests/unistr/test-u8-check.c: New file.
35079
35080         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
35081         (category_equals): New function.
35082         (main): Add more tests.
35083         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
35084
35085         * tests/unictype/test-bidi_byname.c (main): Add more tests.
35086
35087 2010-01-10  Bruno Haible  <bruno@clisp.org>
35088
35089         unistr/u*-strcoll: Try harder to distinguish different strings.
35090         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
35091         compare s1 and s2 to see if they are different.
35092
35093 2010-01-10  Bruno Haible  <bruno@clisp.org>
35094
35095         unistr/u*-stpncpy: Fix the return value.
35096         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
35097         description of the return value consistent with stpncpy in glibc.
35098         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
35099         written non-NUL unit.
35100
35101 2010-01-10  Bruno Haible  <bruno@clisp.org>
35102
35103         unistr/u*-next: Add missing dependencies.
35104         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
35105         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
35106         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
35107
35108 2010-01-10  Bruno Haible  <bruno@clisp.org>
35109
35110         unistr/u8-mbsnlen: Fix return value for incomplete character.
35111         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
35112         u8_mblen.
35113         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
35114         Remove unistr/u8-mblen.
35115         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
35116         u16_mblen.
35117         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
35118         Remove unistr/u16-mblen.
35119
35120 2010-01-10  Bruno Haible  <bruno@clisp.org>
35121
35122         wchar: Fix compilation error when <wchar.h> is used from coreutils.
35123         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
35124         Reported by Brian Gough <bjg@gnu.org> and
35125         Chris Clayton <chris2553@googlemail.com> via
35126         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
35127
35128 2010-01-09  Bruno Haible  <bruno@clisp.org>
35129
35130         unistr/u16-to-u32: Reject invalid input.
35131         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
35132         u16_mbtouc.
35133         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
35134         Remove unistr/u16-mbtouc.
35135
35136         unistr/u16-to-u8: Reject invalid input.
35137         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
35138         u16_mbtouc.
35139         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
35140         Remove unistr/u16-mbtouc.
35141
35142         unistr/u8-to-u32: Reject invalid input.
35143         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
35144         u8_mbtouc.
35145         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
35146         Remove unistr/u8-mbtouc.
35147
35148         unistr/u8-to-u16: Reject invalid input.
35149         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
35150         u8_mbtouc.
35151         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
35152         Remove unistr/u8-mbtouc.
35153
35154 2010-01-09  Bruno Haible  <bruno@clisp.org>
35155
35156         Tests for module 'getlogin'.
35157         * modules/getlogin-tests: New file.
35158         * tests/test-getlogin.c: New file.
35159
35160         New module 'getlogin'.
35161         * lib/unistd.in.h (getlogin): New declaration.
35162         * lib/getlogin.c: New file.
35163         * m4/getlogin.m4: New file.
35164         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
35165         HAVE_GETLOGIN.
35166         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
35167         HAVE_GETLOGIN.
35168         * modules/getlogin: New file.
35169         * doc/posix-functions/getlogin.texi: Mention the new module.
35170         Reported by John W. Eaton <jwe@gnu.org>.
35171
35172 2010-01-09  Bruno Haible  <bruno@clisp.org>
35173
35174         getlogin_r: Support for native Windows.
35175         * lib/getlogin_r.c: Include <windows.h>
35176         (getlogin_r): Implement for native Windows.
35177         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
35178         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
35179         via John W. Eaton <jwe@gnu.org>.
35180
35181 2010-01-09  Bruno Haible  <bruno@clisp.org>
35182
35183         getlogin_r: Small fixes.
35184         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
35185         succeeds.
35186         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
35187         before testing whether getlogin_r is declared. No need to set
35188         HAVE_DECL_GETLOGIN_R to 1.
35189         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
35190
35191 2010-01-09  Bruno Haible  <bruno@clisp.org>
35192
35193         * lib/unistd.in.h (getlogin_r): Add comment.
35194
35195 2010-01-09  Bruno Haible  <bruno@clisp.org>
35196
35197         Tests for module 'getlogin_r'.
35198         * modules/getlogin_r-tests: New file.
35199         * tests/test-getlogin_r.c: New file.
35200
35201 2010-01-09  Jim Meyering  <meyering@redhat.com>
35202
35203         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
35204         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
35205         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
35206
35207 2010-01-08  Simon Josefsson  <simon@josefsson.org>
35208
35209         * lib/dup2.c (rpl_dup2): Improve comment.
35210
35211 2010-01-08  Eric Blake  <ebb9@byu.net>
35212
35213         maint.mk: allow packages to add makefile @@ exceptions
35214         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
35215         (sc_makefile_check): Rename...
35216         (sc_makefile_at_at_check): ...to this, and use hook.
35217
35218         dup2: work around mingw bug
35219         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
35220         Reported by Simon Josefsson.
35221
35222 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
35223
35224         glob: Fix C++ compilation.
35225         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
35226         C++.
35227
35228 2010-01-07  Bruno Haible  <bruno@clisp.org>
35229
35230         Fix indentation of wctype.in.h, broken since 2007-01-06.
35231         * lib/wctype.in.h: Fix indentation of preprocessor directives.
35232
35233 2010-01-07  Bruno Haible  <bruno@clisp.org>
35234
35235         mbslen: Avoid collision with system function.
35236         * lib/string.in.h [MirBSD]: Include <wchar.h>.
35237         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
35238         * m4/mbslen.m4: New file.
35239         * modules/mbslen (Files): Add it.
35240         (configure.ac): Invoke gl_MBSLEN.
35241         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
35242         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
35243         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
35244         via Ian Beckwith <ianb@erislabs.net>.
35245
35246 2010-01-07  Bruno Haible  <bruno@clisp.org>
35247
35248         dirent: Document the last fix.
35249         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
35250
35251 2010-01-07  Bruno Haible  <bruno@clisp.org>
35252
35253         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
35254         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
35255         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
35256         va_list are defined.
35257         * doc/posix-headers/stdio.texi: Document the bug of missing types.
35258         Reported by Eric Blake.
35259
35260 2010-01-07  Bruno Haible  <bruno@clisp.org>
35261
35262         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
35263         * modules/xlist (Depends-on): Add 'list',
35264         * modules/xoset (Depends-on): Add 'oset'.
35265         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35266
35267 2010-01-07  Bruno Haible  <bruno@clisp.org>
35268
35269         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
35270         * doc/posix-functions/strncasecmp.texi: Likewise.
35271
35272 2010-01-07  Bruno Haible  <bruno@clisp.org>
35273
35274         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
35275
35276 2010-01-07  John W. Eaton  <jwe@octave.org>
35277
35278         wctype: allow C++ use
35279         * lib/wctype.in.h: Add extern "C" block for C++.
35280
35281 2010-01-06  Eric Blake  <ebb9@byu.net>
35282
35283         maint.mk: detect incorrect GFDL usage
35284         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
35285
35286 2010-01-06  Jim Meyering  <meyering@redhat.com>
35287         and Eric Blake  <ebb9@byu.net>
35288
35289         maint.mk: ignore multi-line copyright in NEWS
35290         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
35291
35292 2010-01-06  Eric Blake  <ebb9@byu.net>
35293
35294         select: add missing dependency
35295         * modules/select-tests (Depends-on): Move sockets dependency...
35296         * modules/select (Depends-on): ...here.
35297         Reported by Ian Beckwith.
35298
35299         doc: regenerate INSTALL
35300         * doc/INSTALL: Reflect recent autoconf update.
35301         * doc/INSTALL.ISO: Likewise.
35302         * doc/INSTALL.UTF-8: Likewise.
35303
35304         pread: fix compilation on glibc
35305         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
35306         Reported by Ralf Wildenhues.
35307
35308         dirent: fix test failure
35309         * lib/dirent.in.h (includes): Guarantee ino_t.
35310         Reported by Ralf Wildenhues.
35311
35312 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
35313
35314         linkat, renameat: avoid bad free
35315         * lib/at-func2.c (at_func2): Fix typo.
35316         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
35317
35318 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35319
35320         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
35321         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
35322         to avoid failure of symlink test later.
35323
35324 2010-01-06  Eric Blake  <ebb9@byu.net>
35325
35326         stdio, unistd: guarantee ssize_t
35327         * lib/unistd.in.h (includes): Ensure that types required by POSIX
35328         2008 are exposed when needed.
35329         * lib/stdio.in.h (includes): Likewise.
35330         Reported by Ralf Wildenhues.
35331
35332 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
35333
35334         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
35335         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
35336         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
35337
35338 2010-01-06  Jim Meyering  <meyering@redhat.com>
35339
35340         readtokens: this module *does* require xalloc.h
35341         It uses only functions that were omitted by the old syntax-check rule.
35342         * lib/readtokens.c: Include "xalloc.h" once again.
35343         * modules/readtokens (Depends-on): Add xalloc.
35344         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
35345
35346 2010-01-05  Eric Blake  <ebb9@byu.net>
35347
35348         maint: support 'make announcement' from a VPATH build
35349         * top/maint.mk (announcement): Look for correct NEWS file.
35350
35351 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
35352
35353         utimens (fdutimens): ignore a negative FD, per contract
35354         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
35355         when we have a valid file descriptor.  Otherwise, using a brand
35356         new glibc (with just-patched futimens that now fails with EBADF)
35357         would cause this function to fail with ENOSYS.
35358         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
35359         See also http://bugzilla.redhat.com/552320.
35360
35361 2010-01-05  Eric Blake  <ebb9@byu.net>
35362
35363         strcase: document what it provides
35364         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
35365         gnulib module.
35366         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
35367         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
35368
35369 2010-01-05  Jim Meyering  <meyering@redhat.com>
35370
35371         maint: remove useless inclusions of "xalloc.h"
35372         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
35373         * lib/readtokens.c: Likewise.
35374         * lib/same.c: Likewise.
35375         * modules/getloadavg (Depends-on): Remove xalloc.
35376         * modules/readtokens: Likewise.
35377         * modules/same: Likewise.
35378
35379         maint.mk: include 4 more function names in alloca.h-checking regexp
35380         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
35381         regexp.  Before, we would give a false-positive (saying alloca.h
35382         is included unnecessarily) when the only uses involved omitted symbols.
35383
35384         xalloc.h: use consistent formatting
35385         * lib/xalloc.h: Move declarations to start in the first column.
35386
35387 2010-01-05  Eric Blake  <ebb9@byu.net>
35388
35389         mkdir: avoid xalloc
35390         * lib/mkdir.c (includes): Drop unused header.
35391         Reported by John W. Eaton.
35392
35393 2010-01-04  Jim Meyering  <meyering@redhat.com>
35394
35395         nl_langinfo: avoid configure-time syntax error
35396         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
35397         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
35398         the empty string.  Don't let that provoke a shell syntax error.
35399
35400         regcomp, regexec, fnmatch: avoid array bounds read error
35401         * lib/regcomp.c (build_equiv_class): From glibc:
35402         Use only the low 24 bits of a findidx return value as an index
35403         into the weights array.  Patch by Ulrich Drepper:
35404         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
35405         * lib/regexec.c (check_node_accept_bytes): Likewise.
35406         * lib/fnmatch_loop.c (FCT): Likewise.
35407
35408         regcomp: skip collseq lookup when there are no rules
35409         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
35410         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
35411
35412         regcomp: recognize ill-formed { } expressions
35413         * lib/regcomp.c (parse_dup_op): From glibc:
35414         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
35415
35416         regcomp: fix typo in comment
35417         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
35418         s/satisfy/satisfies/.
35419
35420         regcomp: sync from glibc: remove dead store
35421         * lib/regcomp.c (duplicate_node_closure): Remove useless
35422         search_duplicated_node call and dead store.
35423
35424         regcomp: sync from glibc; always use nl_langinfo
35425         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
35426         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
35427         * modules/regex (Depends-on): Add nl_langinfo.
35428
35429 2010-01-04  Eric Blake  <ebb9@byu.net>
35430
35431         fdopendir: fix configure test
35432         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
35433
35434 2010-01-01  Bruno Haible  <bruno@clisp.org>
35435
35436         wchar: Remove unused configure check.
35437         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
35438
35439 2010-01-01  Eric Blake  <ebb9@byu.net>
35440
35441         headers: make check of system header explicit
35442         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
35443         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
35444         ourselves.
35445         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
35446         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35447         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
35448         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
35449         internals.
35450         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
35451         missing.
35452         Suggested by Bruno Haible.
35453
35454 2010-01-01  Jim Meyering  <meyering@redhat.com>
35455
35456         ChangeLog: tweak to eliminate unnecessary copyright line
35457         * ChangeLog: Remove a copyright line that was mistakenly updated
35458         by today's update-copyright run.  Reported by Eric Blake.
35459
35460         test-update-copyright: don't let envvar setting cause test failure
35461         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
35462
35463 2010-01-01  Bruno Haible  <bruno@clisp.org>
35464
35465         localename: Avoid gcc warning.
35466         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
35467         function if it is not used.
35468
35469 2010-01-01  Jim Meyering  <meyering@redhat.com>
35470
35471         update nearly all FSF copyright year lists to include 2010
35472         Use the same procedure as for 2009, outlined in
35473         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
35474
35475         version-etc: set COPYRIGHT_YEAR to 2010
35476         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
35477
35478 2009-12-31  Eric Blake  <ebb9@byu.net>
35479
35480         doc: correct availability of cygwin 1.5.x getopt
35481         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
35482         variables.
35483         * doc/posix-functions/opterr.texi (opterr): Likewise.
35484         * doc/posix-functions/optind.texi (optind): Likewise.
35485         * doc/posix-functions/optopt.texi (optopt): Likewise.
35486         * doc/posix-functions/tzname.texi (tzname): Likewise.
35487
35488         openat: update maintainer
35489         * modules/openat (Maintainer): Add myself.
35490
35491         utimens: avoid shadowing warning
35492         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
35493         buffers into one, to avoid shadowing, as well as avoiding a
35494         redundant stat.
35495         Reported by Jim Meyering.
35496
35497         test-dup2: avoid compiler warning
35498         * tests/test-dup2.c (is_inheritable): Only define if used.
35499
35500 2010-01-01  Bruno Haible  <bruno@clisp.org>
35501
35502         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
35503         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
35504         defined, use wctomb instead of wcrtomb.
35505
35506 2010-01-01  Bruno Haible  <bruno@clisp.org>
35507
35508         iconv: Reject native Solaris iconv.
35509         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
35510         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
35511
35512 2009-12-31  Bruno Haible  <bruno@clisp.org>
35513
35514         * tests/test-signal.c (main): Remove test of 'SIG'.
35515
35516 2009-12-31  Bruno Haible  <bruno@clisp.org>
35517
35518         spawn: Fix incomplete fix.
35519         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
35520         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
35521         warnings for GNULIB_POSIXCHECK again.
35522         Reported by Eric Blake.
35523
35524 2009-12-31  Bruno Haible  <bruno@clisp.org>
35525
35526         Avoid namespace pollution on glibc systems.
35527         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
35528         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
35529         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
35530         glibc systems.
35531
35532 2009-12-31  Bruno Haible  <bruno@clisp.org>
35533
35534         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
35535         (gl_REPLACE_WCHAR_H): Turn into a no-op.
35536         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
35537         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
35538         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
35539         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
35540         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
35541
35542 2009-12-31  Bruno Haible  <bruno@clisp.org>
35543
35544         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35545         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
35546         afterwards.
35547
35548 2009-12-31  Bruno Haible  <bruno@clisp.org>
35549
35550         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
35551         SYS_UTSNAME_H.
35552
35553 2009-12-31  Bruno Haible  <bruno@clisp.org>
35554
35555         spawn: Fix misapplied patch.
35556         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
35557         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
35558         warnings for GNULIB_POSIXCHECK.
35559
35560 2009-12-31  Bruno Haible  <bruno@clisp.org>
35561
35562         times: Update after sys_times changed.
35563         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
35564         * modules/times (Files): Add it.
35565         (configure.ac): Invoke gl_FUNC_TIMES.
35566
35567 2009-12-31  Bruno Haible  <bruno@clisp.org>
35568
35569         Use AC_C_INLINE where necessary.
35570         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
35571         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
35572         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
35573         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
35574         * m4/mbfile.m4 (gl_MBFILE): Likewise.
35575         * m4/mbiter.m4 (gl_MBITER): Likewise.
35576         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
35577         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
35578         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
35579         * modules/u64 (configure.ac): Likewise.
35580
35581 2009-12-31  Bruno Haible  <bruno@clisp.org>
35582
35583         Use AC_C_INLINE instead of module 'inline' where possible.
35584         * modules/inline (Description): Clarify purpose.
35585         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
35586         * modules/count-one-bits (Depends-on): Remove inline.
35587         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
35588         * modules/openat (Depends-on): Remove inline.
35589         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
35590         instead of depending on module 'inline'.
35591         * modules/filevercmp (Depends-on, configure.ac): Likewise.
35592         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
35593         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
35594         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
35595         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
35596         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
35597         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
35598         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
35599         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
35600         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
35601         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
35602         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
35603         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
35604         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
35605         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
35606         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
35607         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
35608         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
35609         Likewise.
35610         * modules/unictype/property-ascii-hex-digit (Depends-on,
35611         configure.ac): Likewise.
35612         * modules/unictype/property-bidi-arabic-digit (Depends-on,
35613         configure.ac): Likewise.
35614         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
35615         configure.ac): Likewise.
35616         * modules/unictype/property-bidi-block-separator (Depends-on,
35617         configure.ac): Likewise.
35618         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
35619         configure.ac): Likewise.
35620         * modules/unictype/property-bidi-common-separator (Depends-on,
35621         configure.ac): Likewise.
35622         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
35623         Likewise.
35624         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
35625         configure.ac): Likewise.
35626         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
35627         configure.ac): Likewise.
35628         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
35629         configure.ac): Likewise.
35630         * modules/unictype/property-bidi-european-digit (Depends-on,
35631         configure.ac): Likewise.
35632         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
35633         configure.ac): Likewise.
35634         * modules/unictype/property-bidi-left-to-right (Depends-on,
35635         configure.ac): Likewise.
35636         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
35637         configure.ac): Likewise.
35638         * modules/unictype/property-bidi-other-neutral (Depends-on,
35639         configure.ac): Likewise.
35640         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
35641         Likewise.
35642         * modules/unictype/property-bidi-segment-separator (Depends-on,
35643         configure.ac): Likewise.
35644         * modules/unictype/property-bidi-whitespace (Depends-on,
35645         configure.ac): Likewise.
35646         * modules/unictype/property-combining (Depends-on, configure.ac):
35647         Likewise.
35648         * modules/unictype/property-composite (Depends-on, configure.ac):
35649         Likewise.
35650         * modules/unictype/property-currency-symbol (Depends-on,
35651         configure.ac): Likewise.
35652         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
35653         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
35654         Likewise.
35655         * modules/unictype/property-default-ignorable-code-point (Depends-on,
35656         configure.ac): Likewise.
35657         * modules/unictype/property-deprecated (Depends-on, configure.ac):
35658         Likewise.
35659         * modules/unictype/property-diacritic (Depends-on, configure.ac):
35660         Likewise.
35661         * modules/unictype/property-extender (Depends-on, configure.ac):
35662         Likewise.
35663         * modules/unictype/property-format-control (Depends-on, configure.ac):
35664         Likewise.
35665         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
35666         Likewise.
35667         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
35668         Likewise.
35669         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
35670         Likewise.
35671         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
35672         Likewise.
35673         * modules/unictype/property-hyphen (Depends-on, configure.ac):
35674         Likewise.
35675         * modules/unictype/property-id-continue (Depends-on, configure.ac):
35676         Likewise.
35677         * modules/unictype/property-id-start (Depends-on, configure.ac):
35678         Likewise.
35679         * modules/unictype/property-ideographic (Depends-on, configure.ac):
35680         Likewise.
35681         * modules/unictype/property-ids-binary-operator (Depends-on,
35682         configure.ac): Likewise.
35683         * modules/unictype/property-ids-trinary-operator (Depends-on,
35684         configure.ac): Likewise.
35685         * modules/unictype/property-ignorable-control (Depends-on,
35686         configure.ac): Likewise.
35687         * modules/unictype/property-iso-control (Depends-on, configure.ac):
35688         Likewise.
35689         * modules/unictype/property-join-control (Depends-on, configure.ac):
35690         Likewise.
35691         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
35692         Likewise.
35693         * modules/unictype/property-line-separator (Depends-on, configure.ac):
35694         Likewise.
35695         * modules/unictype/property-logical-order-exception (Depends-on,
35696         configure.ac): Likewise.
35697         * modules/unictype/property-lowercase (Depends-on, configure.ac):
35698         Likewise.
35699         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
35700         * modules/unictype/property-non-break (Depends-on, configure.ac):
35701         Likewise.
35702         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
35703         Likewise.
35704         * modules/unictype/property-numeric (Depends-on, configure.ac):
35705         Likewise.
35706         * modules/unictype/property-other-alphabetic (Depends-on,
35707         configure.ac): Likewise.
35708         * modules/unictype/property-other-default-ignorable-code-point
35709         (Depends-on, configure.ac): Likewise.
35710         * modules/unictype/property-other-grapheme-extend (Depends-on,
35711         configure.ac): Likewise.
35712         * modules/unictype/property-other-id-continue (Depends-on,
35713         configure.ac): Likewise.
35714         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
35715         Likewise.
35716         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
35717         Likewise.
35718         * modules/unictype/property-other-math (Depends-on, configure.ac):
35719         Likewise.
35720         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
35721         Likewise.
35722         * modules/unictype/property-paired-punctuation (Depends-on,
35723         configure.ac): Likewise.
35724         * modules/unictype/property-paragraph-separator (Depends-on,
35725         configure.ac): Likewise.
35726         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
35727         Likewise.
35728         * modules/unictype/property-pattern-white-space (Depends-on,
35729         configure.ac): Likewise.
35730         * modules/unictype/property-private-use (Depends-on, configure.ac):
35731         Likewise.
35732         * modules/unictype/property-punctuation (Depends-on, configure.ac):
35733         Likewise.
35734         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
35735         Likewise.
35736         * modules/unictype/property-radical (Depends-on, configure.ac):
35737         Likewise.
35738         * modules/unictype/property-sentence-terminal (Depends-on,
35739         configure.ac): Likewise.
35740         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
35741         Likewise.
35742         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
35743         * modules/unictype/property-terminal-punctuation (Depends-on,
35744         configure.ac): Likewise.
35745         * modules/unictype/property-titlecase (Depends-on, configure.ac):
35746         Likewise.
35747         * modules/unictype/property-unassigned-code-value (Depends-on,
35748         configure.ac): Likewise.
35749         * modules/unictype/property-unified-ideograph (Depends-on,
35750         configure.ac): Likewise.
35751         * modules/unictype/property-uppercase (Depends-on, configure.ac):
35752         Likewise.
35753         * modules/unictype/property-variation-selector (Depends-on,
35754         configure.ac): Likewise.
35755         * modules/unictype/property-white-space (Depends-on, configure.ac):
35756         Likewise.
35757         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
35758         Likewise.
35759         * modules/unictype/property-xid-start (Depends-on, configure.ac):
35760         Likewise.
35761         * modules/unictype/property-zero-width (Depends-on, configure.ac):
35762         Likewise.
35763         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
35764         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
35765         Likewise.
35766
35767 2009-12-31  Bruno Haible  <bruno@clisp.org>
35768
35769         Remove unnecessary AC_C_INLINE invocation.
35770         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
35771         since 2009-08-21.
35772
35773 2009-12-31  Jim Meyering  <meyering@redhat.com>
35774
35775         maint.mk: don't require explicit gpg_key_ID in cfg.mk
35776         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
35777         With this change, we can all remove the gpg_key_ID = ... definition
35778         from our respective cfg.mk files.
35779
35780         maint.mk: create announcement template in ~/, not in /tmp
35781         * top/maint.mk (emit_upload_commands): Adjust.
35782         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
35783         Remove temporary file, .ci-msg.
35784
35785 2009-12-31  Eric Blake  <ebb9@byu.net>
35786
35787         link-warning: always build headers with link warnings
35788         * modules/arpa_inet (Makefile.am): Always build replacement
35789         header.
35790         * modules/ctype (Makefile.am): Likewise.
35791         * modules/dirent (Makefile.am): Likewise.
35792         * modules/inttypes (Makefile.am): Likewise.
35793         * modules/langinfo (Makefile.am): Likewise.
35794         * modules/locale (Makefile.am): Likewise.
35795         * modules/spawn (Makefile.am): Likewise.
35796         * modules/sys_file (Makefile.am): Likewise.
35797         * modules/sys_ioctl (Makefile.am): Likewise.
35798         * modules/sys_select (Makefile.am): Likewise.
35799         * modules/sys_socket (Makefile.am): Likewise.
35800         * modules/sys_times (Makefile.am): Likewise.
35801         * modules/sys_utsname (Makefile.am): Likewise.
35802         * modules/sys_wait (Makefile.am): Likewise.
35803         * modules/wchar (Makefile.am): Likewise.
35804         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
35805         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
35806         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
35807         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
35808         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
35809         Likewise.
35810         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35811         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35812         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
35813         Likewise.
35814         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
35815         Likewise.
35816         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
35817         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
35818         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
35819         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35820         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35821         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
35822         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
35823         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
35824         (gl_WCHAR_H_DEFAULTS): Likewise.
35825
35826 2009-12-31  Eric Blake  <ebb9@byu.net>
35827
35828         signal, spawn: use link warnings
35829         * lib/signal.in.h (sigset_t): Make unconditional.
35830         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
35831         (sigpending, sigprocmask, sigaction): Add link warnings.
35832         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
35833         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
35834         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
35835         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
35836         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
35837         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
35838         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
35839         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
35840         (posix_spawn_file_actions_destroy)
35841         (posix_spawn_file_actions_addopen)
35842         (posix_spawn_file_actions_addclose)
35843         (posix_spawn_file_actions_adddup2): Likewise.
35844         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
35845         * tests/test-signal.c (main): Enhance test.
35846
35847         spawn: improve wrapper support
35848         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
35849         (gl_SPAWN_H_DEFAULTS): New defaults.
35850         * modules/spawn (Makefile.am): Substitute them.
35851         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
35852         Only declare if missing or broken.
35853
35854         sys_times, sys_utsname: use include_next
35855         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
35856         header.
35857         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
35858         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
35859         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
35860         * modules/sys_times (Depends-on): Add include_next.
35861         (Makefile.am): Substitute additional values.
35862         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
35863         * lib/sys_times.in.h (includes): Include native header, if
35864         available.
35865         * lib/sys_utsname.in.h (includes): Likewise.
35866         * tests/test-sys_times.c (main): Enhance test.
35867
35868         fdutimensat: revert prior patch
35869         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
35870         utimens.h.
35871         Reported by Bruno Haible.
35872
35873 2009-12-30  Eric Blake  <ebb9@byu.net>
35874
35875         sys_wait: drop link-warning dependency
35876         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
35877         link-warning efforts.
35878         * lib/sys_wait.in.h: Likewise.
35879
35880         fdutimensat: remove bogus dependency
35881         * modules/fdutimensat (Depends-on): Drop inline.
35882
35883         unistd: fix typo
35884         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
35885
35886 2009-12-30  Bruno Haible  <bruno@clisp.org>
35887
35888         Fix compilation error with Solaris cc.
35889         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
35890         * lib/unicase/u16-is-invariant.c: Likewise.
35891         * lib/unicase/u32-is-invariant.c: Likewise.
35892         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
35893
35894 2009-12-30  Bruno Haible  <bruno@clisp.org>
35895
35896         Fix test crash.
35897         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
35898         locales.
35899         Reported by Simon Josefsson <simon@josefsson.org>.
35900
35901 2009-12-30  Bruno Haible  <bruno@clisp.org>
35902
35903         Fix compilation error on most platforms.
35904         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
35905         Reported by Simon Josefsson <simon@josefsson.org>
35906         and Nelson H. F. Beebe <beebe@math.utah.edu>.
35907
35908 2009-12-30  Eric Blake  <ebb9@byu.net>
35909
35910         futimens, utimensat: work around ntfs-3g bug
35911         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
35912         a ctime bug is present, and expand workaround to cover ntfs-3g.
35913         * lib/utimens.c (fdutimens, lutimens): Likewise.
35914         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
35915         (validate_timespec): Adjust return value.
35916         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
35917         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35918         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
35919
35920 2009-12-29  Eric Blake  <ebb9@byu.net>
35921
35922         link-warning: make usage consistent
35923         * modules/ctype (Depends-on): Add link-warning.
35924         (Makefile.am): Update rules accordingly.
35925         * modules/langinfo (Depends-on, Makefile.am): Likewise.
35926         * modules/locale (Depends-on, Makefile.am): Likewise.
35927         * modules/sys_file (Makefile.am): Likewise.
35928         * modules/getopt-posix (Makefile.am): Delete unused link warning
35929         efforts.
35930         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
35931         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
35932         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
35933         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
35934
35935         stdio: remove unused variables
35936         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
35937         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
35938         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
35939
35940         tests: test more substitute headers
35941         * modules/ctype-tests: New file.
35942         * modules/dirent-tests: Likewise.
35943         * modules/spawn-tests: Likewise.
35944         * modules/sys_file-tests: Likewise.
35945         * modules/sys_ioctl-tests: Likewise.
35946         * modules/sys_wait-tests: Likewise.
35947         * tests/test-ctype.c: Likewise.
35948         * tests/test-dirent.c: Likewise.
35949         * tests/test-spawn.c: Likewise.
35950         * tests/test-sys_file.c: Likewise.
35951         * tests/test-sys_ioctl.c: Likewise.
35952         * tests/test-sys_wait.c: Likewise.
35953         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
35954         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
35955         whether or not flock is in use.
35956
35957         tests: remove License section from module
35958         * modules/arpa_inet-tests: Remove unneeded section.
35959         * modules/byteswap-tests: Likewise.
35960         * modules/ceilf-tests: Likewise.
35961         * modules/ceill-tests: Likewise.
35962         * modules/crypto/des-tests: Likewise.
35963         * modules/crypto/gc-arcfour-tests: Likewise.
35964         * modules/crypto/gc-arctwo-tests: Likewise.
35965         * modules/crypto/gc-des-tests: Likewise.
35966         * modules/crypto/gc-hmac-md5-tests: Likewise.
35967         * modules/crypto/gc-hmac-sha1-tests: Likewise.
35968         * modules/crypto/gc-md2-tests: Likewise.
35969         * modules/crypto/gc-md4-tests: Likewise.
35970         * modules/crypto/gc-md5-tests: Likewise.
35971         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
35972         * modules/crypto/gc-rijndael-tests: Likewise.
35973         * modules/crypto/gc-sha1-tests: Likewise.
35974         * modules/crypto/gc-tests: Likewise.
35975         * modules/crypto/md2-tests: Likewise.
35976         * modules/crypto/md4-tests: Likewise.
35977         * modules/fcntl-h-tests: Likewise.
35978         * modules/floorf-tests: Likewise.
35979         * modules/floorl-tests: Likewise.
35980         * modules/frexp-nolibm-tests: Likewise.
35981         * modules/frexp-tests: Likewise.
35982         * modules/frexpl-nolibm-tests: Likewise.
35983         * modules/frexpl-tests: Likewise.
35984         * modules/getaddrinfo-tests: Likewise.
35985         * modules/inttypes-tests: Likewise.
35986         * modules/isfinite-tests: Likewise.
35987         * modules/isinf-tests: Likewise.
35988         * modules/ldexpl-tests: Likewise.
35989         * modules/locale-tests: Likewise.
35990         * modules/math-tests: Likewise.
35991         * modules/netdb-tests: Likewise.
35992         * modules/netinet_in-tests: Likewise.
35993         * modules/printf-frexp-tests: Likewise.
35994         * modules/printf-frexpl-tests: Likewise.
35995         * modules/priv-set-tests: Likewise.
35996         * modules/random_r-tests: Likewise.
35997         * modules/round-tests: Likewise.
35998         * modules/roundf-tests: Likewise.
35999         * modules/roundl-tests: Likewise.
36000         * modules/search-tests: Likewise.
36001         * modules/select-tests: Likewise.
36002         * modules/signal-tests: Likewise.
36003         * modules/stdbool-tests: Likewise.
36004         * modules/stddef-tests: Likewise.
36005         * modules/stdint-tests: Likewise.
36006         * modules/stdio-tests: Likewise.
36007         * modules/stdlib-tests: Likewise.
36008         * modules/string-tests: Likewise.
36009         * modules/strings-tests: Likewise.
36010         * modules/sys_select-tests: Likewise.
36011         * modules/sys_socket-tests: Likewise.
36012         * modules/sys_stat-tests: Likewise.
36013         * modules/sys_time-tests: Likewise.
36014         * modules/sys_utsname-tests: Likewise.
36015         * modules/sysexits-tests: Likewise.
36016         * modules/time-tests: Likewise.
36017         * modules/trunc-tests: Likewise.
36018         * modules/truncf-tests: Likewise.
36019         * modules/truncl-tests: Likewise.
36020         * modules/tsearch-tests: Likewise.
36021         * modules/unistd-tests: Likewise.
36022         * modules/wchar-tests: Likewise.
36023         * modules/wctype-tests: Likewise.
36024
36025         tests: fix license on several tests
36026         * tests/test-des.c: Update to GPLv3+.
36027         * tests/test-flock.c: Likewise.
36028         * tests/test-fsync.c: Likewise.
36029         * tests/test-futimens.h: Likewise.
36030         * tests/test-gc-arcfour.c: Likewise.
36031         * tests/test-gc-arctwo.c: Likewise.
36032         * tests/test-gc-des.c: Likewise.
36033         * tests/test-gc-hmac-md5.c: Likewise.
36034         * tests/test-gc-hmac-sha1.c: Likewise.
36035         * tests/test-gc-md2.c: Likewise.
36036         * tests/test-gc-md4.c: Likewise.
36037         * tests/test-gc-md5.c: Likewise.
36038         * tests/test-gc-pbkdf2-sha1.c: Likewise.
36039         * tests/test-gc-rijndael.c: Likewise.
36040         * tests/test-gc-sha1.c: Likewise.
36041         * tests/test-gc.c: Likewise.
36042         * tests/test-getcwd.c: Likewise.
36043         * tests/test-link.c: Likewise.
36044         * tests/test-link.h: Likewise.
36045         * tests/test-lutimens.h: Likewise.
36046         * tests/test-md2.c: Likewise.
36047         * tests/test-md4.c: Likewise.
36048         * tests/test-mkdir.h: Likewise.
36049         * tests/test-rename.c: Likewise.
36050         * tests/test-rename.h: Likewise.
36051         * tests/test-safe-alloc.c: Likewise.
36052         * tests/test-utimens-common.h: Likewise.
36053         * tests/test-utimens.h: Likewise.
36054
36055         maint: sync license texts
36056         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
36057         * doc/gpl-3.0.texi: Revert copyright year update.
36058         * doc/lgpl-3.0.texi: Likewise.
36059
36060 2009-12-29  Jim Meyering  <meyering@redhat.com>
36061
36062         update nearly all FSF copyright year lists to include 2009
36063         The files named by the following are exempted:
36064             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
36065               test -f "$dst" && { echo "$dst"; continue; }
36066               test -d "$dst" || continue
36067               echo "$dst"/$(basename "$src")
36068             done > exempt
36069             git ls-files tests/unictype >> exempt
36070         In the remaining files, convert to all-interval notation if
36071         - there is already at least one year interval like 2000-2003
36072         - the file is maintained by me
36073         - the file is in lib/uni*/, where that style already prevails
36074         Otherwise, use update-copyright's default.
36075
36076 2009-12-29  Simon Josefsson  <simon@josefsson.org>
36077         and Eric Blake  <ebb9@byu.net>
36078
36079         tests: don't require debug system() to pass
36080         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
36081         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36082         * tests/test-unlink.h (test_unlink_func): Likewise.
36083         * tests/test-fstatat.c (main): ...into callers.
36084         * tests/test-lstat.c (main): Likewise.
36085         * tests/test-rmdir.c (main): Likewise.
36086         * tests/test-unlink.c (main): Likewise.
36087         * tests/test-unlinkat.c (main): Likewise.
36088         * tests/test-areadlink-with-size.c (main): Don't require a
36089         debug-only system call to pass, aiding cross-testing to mingw.
36090         * tests/test-areadlink.c (main): Likewise.
36091         * tests/test-areadlinkat-with-size.c (main): Likewise.
36092         * tests/test-areadlinkat.c (main): Likewise.
36093         * tests/test-canonicalize-lgpl.c (main): Likewise.
36094         * tests/test-canonicalize.c (main): Likewise.
36095         * tests/test-chown.c (main): Likewise.
36096         * tests/test-fchownat.c (main): Likewise.
36097         * tests/test-lchown.c (main): Likewise.
36098         * tests/test-fdutimensat.c (main): Likewise.
36099         * tests/test-futimens.c (main): Likewise.
36100         * tests/test-link.c (main): Likewise.
36101         * tests/test-linkat.c (main): Likewise.
36102         * tests/test-mkdir.c (main): Likewise.
36103         * tests/test-mkdirat.c (main): Likewise.
36104         * tests/test-mkfifo.c (main): Likewise.
36105         * tests/test-mkfifoat.c (main): Likewise.
36106         * tests/test-mknod.c (main): Likewise.
36107         * tests/test-readlink.c (main): Likewise.
36108         * tests/test-remove.c (main): Likewise.
36109         * tests/test-rename.c (main): Likewise.
36110         * tests/test-renameat.c (main): Likewise.
36111         * tests/test-symlink.c (main): Likewise.
36112         * tests/test-symlinkat.c (main): Likewise.
36113         * tests/test-utimens.c (main): Likewise.
36114         * tests/test-utimensat.c (main): Likewise.
36115
36116 2009-12-29  Simon Josefsson  <simon@josefsson.org>
36117
36118         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
36119         on $(UNUSED_PARAMETER_H) to avoid build failure.
36120
36121 2009-12-28  Jim Meyering  <meyering@redhat.com>
36122
36123         update-copyright: you may specify a max. line length other than 72
36124         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
36125
36126         maint: use consistent FSF copyright line syntax
36127         * lib/posixtm.c: Add missing comma in FSF copyright line.
36128         * lib/posixtm.h: Likewise.
36129         * lib/getugroups.c: Add missing ", Inc.".
36130
36131         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
36132         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
36133         FSF copyright line.  Remove trailing blanks.
36134
36135 2009-12-28  Eric Blake  <ebb9@byu.net>
36136
36137         test-dup2: reduce dependencies
36138         * modules/cloexec (Configure.ac): Set witness.
36139         * modules/dup2-tests (Depends-on): Drop cloexec.
36140         * tests/test-dup2.c (main): Skip portion of test if cloexec module
36141         not present.
36142         Suggested by Bruno Haible.
36143
36144 2009-12-26  Bruno Haible  <bruno@clisp.org>
36145
36146         Remove an unneeded dependency.
36147         * modules/fseterr (Depends-on): Remove dup2.
36148
36149 2009-12-26  Eric Blake  <ebb9@byu.net>
36150
36151         tests: use macros.h in more places
36152         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
36153         (ASSERT_STREAM): Provide default of stderr.
36154         * tests/test-dirent-safer.c: Include macros.h, using alternate
36155         stream for assertions.
36156         * tests/test-dup-safer.c: Likewise.
36157         * tests/test-freopen-safer.c: Likewise.
36158         * tests/test-getopt.c: Likewise.
36159         * tests/test-openat-safer.c: Likewise.
36160         * tests/test-pipe.c: Likewise.
36161         * tests/test-popen-safer.c: Likewise.
36162         * modules/dirent-safer-tests (Files): Include macros.h.
36163         * modules/unistd-safer-tests (Files): Likewise.
36164         * modules/freopen-safer-tests (Files): Likewise.
36165         * modules/getopt-posix-tests (Files): Likewise.
36166         * modules/openat-safer-tests (Files): Likewise.
36167         * modules/pipe-tests (Files): Likewise.
36168
36169 2009-12-26  Bruno Haible  <bruno@clisp.org>
36170
36171         javacomp: Portability fix.
36172         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
36173         that it also works on Solaris.
36174
36175 2009-12-26  Bruno Haible  <bruno@clisp.org>
36176
36177         localename: Fix storage allocation of gl_locale_name_thread's result.
36178         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
36179         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
36180         all platforms that have 'uselocale'.
36181         (gl_locale_name_thread_unsafe): New function, extracted from
36182         gl_locale_name_thread.
36183         (gl_locale_name_thread): Call struniq on all platforms that have
36184         'uselocale'.
36185         * tests/test-localename.c (test_locale_name_thread): Check that the
36186         resulting strings are permanently allocated.
36187         * modules/localename-tests (Depends-on): Add strdup.
36188
36189 2009-12-26  Bruno Haible  <bruno@clisp.org>
36190
36191         * tests/test-localename.c (categories): Fill in the strings.
36192
36193 2009-12-26  Jim Meyering  <meyering@redhat.com>
36194
36195         isdir: complete the removal of m4/isdir.m4
36196         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
36197
36198         isdir: clean up, since at least grep still uses it
36199         * lib/isdir.c: Include "isdir.h".
36200         (S_ISDIR): Remove now-unneeded definition.
36201         * modules/isdir (Files): Add lib/isdir.h.
36202         * lib/isdir.h: New file, with declaration.
36203         * m4/isdir.m4: Remove file -- unneeded.
36204
36205 2009-12-25  Bruno Haible  <bruno@clisp.org>
36206
36207         selinux-h: Make generated .h files standalone.
36208         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
36209         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
36210         * lib/se-selinux.in.h: Likewise.
36211         * modules/selinux-h (Depends-on): Add unused-parameter.
36212         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
36213         selinux/selinux.h and selinux/context.h.
36214         Suggested by Eric Blake.
36215
36216 2009-12-25  Bruno Haible  <bruno@clisp.org>
36217
36218         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
36219         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
36220         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
36221         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
36222         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
36223
36224 2009-12-24  Bruno Haible  <bruno@clisp.org>
36225
36226         openat: Fix warning.
36227         * lib/openat-proc.c: Include <unistd.h>.
36228
36229 2009-12-24  Bruno Haible  <bruno@clisp.org>
36230
36231         New module 'unused-parameter'.
36232         * build-aux/unused-parameter.h: New file, extracted from earlier
36233         gnulib-common.m4.
36234         * modules/unused-parameter: New file.
36235         * lib/unistr.h: Include unused-parameter.h.
36236         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
36237         _GL_UNUSED.
36238         * modules/unistr/base (Depends-on): Add unused-parameter.
36239
36240 2009-12-24  Bruno Haible  <bruno@clisp.org>
36241
36242         Add missing dependencies to 'extensions' module.
36243         * m4/extensions.m4: Add comment.
36244         * modules/accept4 (Depends-on): Add extensions.
36245         * modules/dup3 (Depends-on): Likewise.
36246         * modules/fcntl (Depends-on): Likewise.
36247         * modules/futimens (Depends-on): Likewise.
36248         * modules/mknod (Depends-on): Likewise.
36249         * modules/pipe2 (Depends-on): Likewise.
36250         * modules/stat-time (Depends-on): Likewise.
36251         * modules/strcasestr-simple (Depends-on): Likewise.
36252         * modules/strsignal (Depends-on): Likewise.
36253         * modules/utimensat (Depends-on): Likewise.
36254         * modules/localcharset (Depends-on): Likewise. Needed because of
36255         gl_FCNTL_O_FLAGS.
36256         * modules/wcrtomb (Depends-on): Likewise. Needed because of
36257         AC_TYPE_MBSTATE_T.
36258         * modules/wcsnrtombs (Depends-on): Likewise.
36259         * modules/wcsrtombs (Depends-on): Likewise.
36260
36261 2009-12-24  Bruno Haible  <bruno@clisp.org>
36262
36263         binary-io: Avoid gcc warning due to SET_BINARY.
36264         * lib/binary-io.h (SET_BINARY): Cast the result to void.
36265         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
36266
36267 2009-12-24  Bruno Haible  <bruno@clisp.org>
36268
36269         Avoid future namespace pollution on glibc systems.
36270         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
36271         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
36272         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
36273         glibc systems.
36274
36275 2009-12-24  Bruno Haible  <bruno@clisp.org>
36276
36277         Refactor common macros used in tests.
36278         * tests/macros.h: New file.
36279         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
36280         and/or <stdlib.h>, if appropriate.
36281         (ASSERT, SIZEOF): Remove macros.
36282         * tests/test-areadlink-with-size.c: Likewise.
36283         * tests/test-areadlinkat.c: Likewise.
36284         * tests/test-areadlinkat-with-size.c: Likewise.
36285         * tests/test-argmatch.c: Likewise.
36286         * tests/test-argv-iter.c: Likewise.
36287         * tests/test-array-mergesort.c: Likewise.
36288         * tests/test-array_list.c: Likewise.
36289         * tests/test-array_oset.c: Likewise.
36290         * tests/test-avltree_list.c: Likewise.
36291         * tests/test-avltree_oset.c: Likewise.
36292         * tests/test-avltreehash_list.c: Likewise.
36293         * tests/test-base64.c: Likewise.
36294         * tests/test-binary-io.c: Likewise.
36295         * tests/test-bitrotate.c: Likewise.
36296         * tests/test-btowc.c: Likewise.
36297         * tests/test-byteswap.c: Likewise.
36298         * tests/test-c-ctype.c: Likewise.
36299         * tests/test-c-stack.c: Likewise.
36300         * tests/test-c-strcasecmp.c: Likewise.
36301         * tests/test-c-strcasestr.c: Likewise.
36302         * tests/test-c-strncasecmp.c: Likewise.
36303         * tests/test-c-strstr.c: Likewise.
36304         * tests/test-canonicalize-lgpl.c: Likewise.
36305         * tests/test-canonicalize.c: Likewise.
36306         * tests/test-carray_list.c: Likewise.
36307         * tests/test-ceilf1.c: Likewise.
36308         * tests/test-ceilf2.c: Likewise.
36309         * tests/test-ceill.c: Likewise.
36310         * tests/test-chown.c: Likewise.
36311         * tests/test-cloexec.c: Likewise.
36312         * tests/test-copy-acl.c: Likewise.
36313         * tests/test-copy-file.c: Likewise.
36314         * tests/test-count-one-bits.c: Likewise.
36315         * tests/test-dprintf-posix.c: Likewise.
36316         * tests/test-dup2.c: Likewise.
36317         * tests/test-dup3.c: Likewise.
36318         * tests/test-duplocale.c: Likewise.
36319         * tests/test-fbufmode.c: Likewise.
36320         * tests/test-fchdir.c: Likewise.
36321         * tests/test-fchownat.c: Likewise.
36322         * tests/test-fcntl-safer.c: Likewise.
36323         * tests/test-fcntl.c: Likewise.
36324         * tests/test-fdopendir.c: Likewise.
36325         * tests/test-fdutimensat.c: Likewise.
36326         * tests/test-fflush2.c: Likewise.
36327         * tests/test-file-has-acl.c: Likewise.
36328         * tests/test-filevercmp.c: Likewise.
36329         * tests/test-flock.c: Likewise.
36330         * tests/test-floorf1.c: Likewise.
36331         * tests/test-floorf2.c: Likewise.
36332         * tests/test-floorl.c: Likewise.
36333         * tests/test-fnmatch.c: Likewise.
36334         * tests/test-fopen.h: Likewise.
36335         * tests/test-fpending.c: Likewise.
36336         * tests/test-fprintf-posix.c: Likewise.
36337         * tests/test-fpurge.c: Likewise.
36338         * tests/test-freadable.c: Likewise.
36339         * tests/test-freadahead.c: Likewise.
36340         * tests/test-freading.c: Likewise.
36341         * tests/test-freadptr.c: Likewise.
36342         * tests/test-freadptr2.c: Likewise.
36343         * tests/test-freadseek.c: Likewise.
36344         * tests/test-freopen.c: Likewise.
36345         * tests/test-frexp.c: Likewise.
36346         * tests/test-frexpl.c: Likewise.
36347         * tests/test-fseek.c: Likewise.
36348         * tests/test-fseeko.c: Likewise.
36349         * tests/test-fstatat.c: Likewise.
36350         * tests/test-fstrcmp.c: Likewise.
36351         * tests/test-fsync.c: Likewise.
36352         * tests/test-ftell.c: Likewise.
36353         * tests/test-ftello.c: Likewise.
36354         * tests/test-func.c: Likewise.
36355         * tests/test-futimens.c: Likewise.
36356         * tests/test-fwritable.c: Likewise.
36357         * tests/test-fwriting.c: Likewise.
36358         * tests/test-getcwd.c: Likewise.
36359         * tests/test-getdate.c: Likewise.
36360         * tests/test-getdelim.c: Likewise.
36361         * tests/test-getdtablesize.c: Likewise.
36362         * tests/test-getgroups.c: Likewise.
36363         * tests/test-getline.c: Likewise.
36364         * tests/test-getndelim2.c: Likewise.
36365         * tests/test-glob.c: Likewise.
36366         * tests/test-hash.c: Likewise.
36367         * tests/test-i-ring.c: Likewise.
36368         * tests/test-iconv-utf.c: Likewise.
36369         * tests/test-iconv.c: Likewise.
36370         * tests/test-idpriv-drop.c: Likewise.
36371         * tests/test-idpriv-droptemp.c: Likewise.
36372         * tests/test-inet_ntop.c: Likewise.
36373         * tests/test-inet_pton.c: Likewise.
36374         * tests/test-isblank.c: Likewise.
36375         * tests/test-isfinite.c: Likewise.
36376         * tests/test-isinf.c: Likewise.
36377         * tests/test-isnan.c: Likewise.
36378         * tests/test-isnand.h: Likewise.
36379         * tests/test-isnanf.h: Likewise.
36380         * tests/test-isnanl.h: Likewise.
36381         * tests/test-lchown.c: Likewise.
36382         * tests/test-ldexpl.c: Likewise.
36383         * tests/test-link.c: Likewise.
36384         * tests/test-linkat.c: Likewise.
36385         * tests/test-linked_list.c: Likewise.
36386         * tests/test-linkedhash_list.c: Likewise.
36387         * tests/test-localename.c: Likewise.
36388         * tests/test-lseek.c: Likewise.
36389         * tests/test-lstat.c: Likewise.
36390         * tests/test-mbmemcasecmp.c: Likewise.
36391         * tests/test-mbmemcasecoll.c: Likewise.
36392         * tests/test-mbrtowc.c: Likewise.
36393         * tests/test-mbscasecmp.c: Likewise.
36394         * tests/test-mbscasestr1.c: Likewise.
36395         * tests/test-mbscasestr2.c: Likewise.
36396         * tests/test-mbscasestr3.c: Likewise.
36397         * tests/test-mbscasestr4.c: Likewise.
36398         * tests/test-mbschr.c: Likewise.
36399         * tests/test-mbscspn.c: Likewise.
36400         * tests/test-mbsinit.c: Likewise.
36401         * tests/test-mbsncasecmp.c: Likewise.
36402         * tests/test-mbsnrtowcs.c: Likewise.
36403         * tests/test-mbspbrk.c: Likewise.
36404         * tests/test-mbspcasecmp.c: Likewise.
36405         * tests/test-mbsrchr.c: Likewise.
36406         * tests/test-mbsrtowcs.c: Likewise.
36407         * tests/test-mbsspn.c: Likewise.
36408         * tests/test-mbsstr1.c: Likewise.
36409         * tests/test-mbsstr2.c: Likewise.
36410         * tests/test-mbsstr3.c: Likewise.
36411         * tests/test-memchr.c: Likewise.
36412         * tests/test-memchr2.c: Likewise.
36413         * tests/test-memcmp.c: Likewise.
36414         * tests/test-memmem.c: Likewise.
36415         * tests/test-memrchr.c: Likewise.
36416         * tests/test-mkdir.c: Likewise.
36417         * tests/test-mkdirat.c: Likewise.
36418         * tests/test-mkfifo.c: Likewise.
36419         * tests/test-mkfifoat.c: Likewise.
36420         * tests/test-mknod.c: Likewise.
36421         * tests/test-nanosleep.c: Likewise.
36422         * tests/test-nl_langinfo.c: Likewise.
36423         * tests/test-obstack-printf.c: Likewise.
36424         * tests/test-open.c: Likewise.
36425         * tests/test-openat.c: Likewise.
36426         * tests/test-pipe-filter-gi1.c: Likewise.
36427         * tests/test-pipe-filter-gi2-main.c: Likewise.
36428         * tests/test-pipe-filter-ii1.c: Likewise.
36429         * tests/test-pipe-filter-ii2-main.c: Likewise.
36430         * tests/test-pipe2.c: Likewise.
36431         * tests/test-popen.h: Likewise.
36432         * tests/test-posixtm.c: Likewise.
36433         * tests/test-pread.c: Likewise.
36434         * tests/test-printf-frexp.c: Likewise.
36435         * tests/test-printf-frexpl.c: Likewise.
36436         * tests/test-printf-posix.c: Likewise.
36437         * tests/test-priv-set.c: Likewise.
36438         * tests/test-quotearg.c: Likewise.
36439         * tests/test-random_r.c: Likewise.
36440         * tests/test-rawmemchr.c: Likewise.
36441         * tests/test-rbtree_list.c: Likewise.
36442         * tests/test-rbtree_oset.c: Likewise.
36443         * tests/test-rbtreehash_list.c: Likewise.
36444         * tests/test-readlink.c: Likewise.
36445         * tests/test-remove.c: Likewise.
36446         * tests/test-rename.c: Likewise.
36447         * tests/test-renameat.c: Likewise.
36448         * tests/test-rmdir.c: Likewise.
36449         * tests/test-round1.c: Likewise.
36450         * tests/test-roundf1.c: Likewise.
36451         * tests/test-roundl.c: Likewise.
36452         * tests/test-safe-alloc.c: Likewise.
36453         * tests/test-sameacls.c: Likewise.
36454         * tests/test-set-mode-acl.c: Likewise.
36455         * tests/test-setenv.c: Likewise.
36456         * tests/test-sigaction.c: Likewise.
36457         * tests/test-signbit.c: Likewise.
36458         * tests/test-sleep.c: Likewise.
36459         * tests/test-snprintf-posix.c: Likewise.
36460         * tests/test-snprintf.c: Likewise.
36461         * tests/test-sprintf-posix.c: Likewise.
36462         * tests/test-stat-time.c: Likewise.
36463         * tests/test-stat.c: Likewise.
36464         * tests/test-strcasestr.c: Likewise.
36465         * tests/test-strchrnul.c: Likewise.
36466         * tests/test-strerror.c: Likewise.
36467         * tests/test-striconv.c: Likewise.
36468         * tests/test-striconveh.c: Likewise.
36469         * tests/test-striconveha.c: Likewise.
36470         * tests/test-strsignal.c: Likewise.
36471         * tests/test-strstr.c: Likewise.
36472         * tests/test-strtod.c: Likewise.
36473         * tests/test-strverscmp.c: Likewise.
36474         * tests/test-symlink.c: Likewise.
36475         * tests/test-symlinkat.c: Likewise.
36476         * tests/test-trunc1.c: Likewise.
36477         * tests/test-trunc2.c: Likewise.
36478         * tests/test-truncf1.c: Likewise.
36479         * tests/test-truncf2.c: Likewise.
36480         * tests/test-truncl.c: Likewise.
36481         * tests/test-uname.c: Likewise.
36482         * tests/test-unlink.c: Likewise.
36483         * tests/test-unlinkat.c: Likewise.
36484         * tests/test-unsetenv.c: Likewise.
36485         * tests/test-usleep.c: Likewise.
36486         * tests/test-utimens.c: Likewise.
36487         * tests/test-utimensat.c: Likewise.
36488         * tests/test-vasnprintf-posix.c: Likewise.
36489         * tests/test-vasnprintf-posix2.c: Likewise.
36490         * tests/test-vasnprintf.c: Likewise.
36491         * tests/test-vasprintf-posix.c: Likewise.
36492         * tests/test-vasprintf.c: Likewise.
36493         * tests/test-vdprintf-posix.c: Likewise.
36494         * tests/test-vfprintf-posix.c: Likewise.
36495         * tests/test-vprintf-posix.c: Likewise.
36496         * tests/test-vsnprintf-posix.c: Likewise.
36497         * tests/test-vsnprintf.c: Likewise.
36498         * tests/test-vsprintf-posix.c: Likewise.
36499         * tests/test-wcrtomb.c: Likewise.
36500         * tests/test-wcsnrtombs.c: Likewise.
36501         * tests/test-wcsrtombs.c: Likewise.
36502         * tests/test-wctype.c: Likewise.
36503         * tests/test-wcwidth.c: Likewise.
36504         * tests/test-xfprintf-posix.c: Likewise.
36505         * tests/test-xmemdup0.c: Likewise.
36506         * tests/test-xprintf-posix.c: Likewise.
36507         * tests/test-xvasprintf.c: Likewise.
36508         * tests/unicase/test-locale-language.c: Likewise.
36509         * tests/unicase/test-mapping-part1.h: Likewise.
36510         * tests/unicase/test-predicate-part1.h: Likewise.
36511         * tests/unicase/test-u8-casecmp.c: Likewise.
36512         * tests/unicase/test-u8-casecoll.c: Likewise.
36513         * tests/unicase/test-u8-casefold.c: Likewise.
36514         * tests/unicase/test-u8-is-cased.c: Likewise.
36515         * tests/unicase/test-u8-is-casefolded.c: Likewise.
36516         * tests/unicase/test-u8-is-lowercase.c: Likewise.
36517         * tests/unicase/test-u8-is-titlecase.c: Likewise.
36518         * tests/unicase/test-u8-is-uppercase.c: Likewise.
36519         * tests/unicase/test-u8-tolower.c: Likewise.
36520         * tests/unicase/test-u8-totitle.c: Likewise.
36521         * tests/unicase/test-u8-toupper.c: Likewise.
36522         * tests/unicase/test-u16-casecmp.c: Likewise.
36523         * tests/unicase/test-u16-casecoll.c: Likewise.
36524         * tests/unicase/test-u16-casefold.c: Likewise.
36525         * tests/unicase/test-u16-is-cased.c: Likewise.
36526         * tests/unicase/test-u16-is-casefolded.c: Likewise.
36527         * tests/unicase/test-u16-is-lowercase.c: Likewise.
36528         * tests/unicase/test-u16-is-titlecase.c: Likewise.
36529         * tests/unicase/test-u16-is-uppercase.c: Likewise.
36530         * tests/unicase/test-u16-tolower.c: Likewise.
36531         * tests/unicase/test-u16-totitle.c: Likewise.
36532         * tests/unicase/test-u16-toupper.c: Likewise.
36533         * tests/unicase/test-u32-casecmp.c: Likewise.
36534         * tests/unicase/test-u32-casecoll.c: Likewise.
36535         * tests/unicase/test-u32-casefold.c: Likewise.
36536         * tests/unicase/test-u32-is-cased.c: Likewise.
36537         * tests/unicase/test-u32-is-casefolded.c: Likewise.
36538         * tests/unicase/test-u32-is-lowercase.c: Likewise.
36539         * tests/unicase/test-u32-is-titlecase.c: Likewise.
36540         * tests/unicase/test-u32-is-uppercase.c: Likewise.
36541         * tests/unicase/test-u32-tolower.c: Likewise.
36542         * tests/unicase/test-u32-totitle.c: Likewise.
36543         * tests/unicase/test-u32-toupper.c: Likewise.
36544         * tests/unicase/test-ulc-casecmp.c: Likewise.
36545         * tests/unicase/test-ulc-casecoll.c: Likewise.
36546         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
36547         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
36548         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
36549         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
36550         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
36551         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
36552         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
36553         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
36554         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
36555         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
36556         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
36557         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
36558         * tests/unictype/test-bidi_byname.c: Likewise.
36559         * tests/unictype/test-bidi_name.c: Likewise.
36560         * tests/unictype/test-bidi_of.c: Likewise.
36561         * tests/unictype/test-bidi_test.c: Likewise.
36562         * tests/unictype/test-block_list.c: Likewise.
36563         * tests/unictype/test-block_of.c: Likewise.
36564         * tests/unictype/test-block_test.c: Likewise.
36565         * tests/unictype/test-categ_and.c: Likewise.
36566         * tests/unictype/test-categ_and_not.c: Likewise.
36567         * tests/unictype/test-categ_byname.c: Likewise.
36568         * tests/unictype/test-categ_name.c: Likewise.
36569         * tests/unictype/test-categ_none.c: Likewise.
36570         * tests/unictype/test-categ_of.c: Likewise.
36571         * tests/unictype/test-categ_or.c: Likewise.
36572         * tests/unictype/test-categ_test_withtable.c: Likewise.
36573         * tests/unictype/test-combining.c: Likewise.
36574         * tests/unictype/test-decdigit.c: Likewise.
36575         * tests/unictype/test-digit.c: Likewise.
36576         * tests/unictype/test-mirror.c: Likewise.
36577         * tests/unictype/test-numeric.c: Likewise.
36578         * tests/unictype/test-pr_byname.c: Likewise.
36579         * tests/unictype/test-pr_test.c: Likewise.
36580         * tests/unictype/test-predicate-part1.h: Likewise.
36581         * tests/unictype/test-scripts.c: Likewise.
36582         * tests/unictype/test-sy_c_ident.c: Likewise.
36583         * tests/unictype/test-sy_java_ident.c: Likewise.
36584         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
36585         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
36586         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
36587         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
36588         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
36589         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
36590         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
36591         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
36592         * tests/uninorm/test-canonical-decomposition.c: Likewise.
36593         * tests/uninorm/test-compat-decomposition.c: Likewise.
36594         * tests/uninorm/test-composition.c: Likewise.
36595         * tests/uninorm/test-decomposing-form.c: Likewise.
36596         * tests/uninorm/test-decomposition.c: Likewise.
36597         * tests/uninorm/test-u8-nfc.c: Likewise.
36598         * tests/uninorm/test-u8-nfd.c: Likewise.
36599         * tests/uninorm/test-u8-nfkc.c: Likewise.
36600         * tests/uninorm/test-u8-nfkd.c: Likewise.
36601         * tests/uninorm/test-u8-normcmp.c: Likewise.
36602         * tests/uninorm/test-u8-normcoll.c: Likewise.
36603         * tests/uninorm/test-u16-nfc.c: Likewise.
36604         * tests/uninorm/test-u16-nfd.c: Likewise.
36605         * tests/uninorm/test-u16-nfkc.c: Likewise.
36606         * tests/uninorm/test-u16-nfkd.c: Likewise.
36607         * tests/uninorm/test-u16-normcmp.c: Likewise.
36608         * tests/uninorm/test-u16-normcoll.c: Likewise.
36609         * tests/uninorm/test-u32-nfc.c: Likewise.
36610         * tests/uninorm/test-u32-nfd.c: Likewise.
36611         * tests/uninorm/test-u32-nfkc.c: Likewise.
36612         * tests/uninorm/test-u32-nfkd.c: Likewise.
36613         * tests/uninorm/test-u32-normalize-big.c: Likewise.
36614         * tests/uninorm/test-u32-normcmp.c: Likewise.
36615         * tests/uninorm/test-u32-normcoll.c: Likewise.
36616         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
36617         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
36618         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
36619         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
36620         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
36621         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
36622         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
36623         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
36624         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
36625         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
36626         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
36627         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
36628         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
36629         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
36630         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
36631         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
36632         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
36633         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
36634         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
36635         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
36636         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
36637         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
36638         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
36639         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
36640         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
36641         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
36642         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
36643         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
36644         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
36645         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
36646         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
36647         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
36648         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
36649         * tests/uniwidth/test-u8-strwidth.c: Likewise.
36650         * tests/uniwidth/test-u8-width.c: Likewise.
36651         * tests/uniwidth/test-u16-strwidth.c: Likewise.
36652         * tests/uniwidth/test-u16-width.c: Likewise.
36653         * tests/uniwidth/test-u32-strwidth.c: Likewise.
36654         * tests/uniwidth/test-u32-width.c: Likewise.
36655         * tests/uniwidth/test-uc_width.c: Likewise.
36656         * tests/uniwidth/test-uc_width2.c: Likewise.
36657         * modules/acl-tests (Files): Add tests/macros.h.
36658         * modules/areadlink-tests (Files): Likewise.
36659         * modules/areadlink-with-size-tests (Files): Likewise.
36660         * modules/areadlinkat-tests (Files): Likewise.
36661         * modules/areadlinkat-with-size-tests (Files): Likewise.
36662         * modules/argmatch-tests (Files): Likewise.
36663         * modules/argv-iter-tests (Files): Likewise.
36664         * modules/array-list-tests (Files): Likewise.
36665         * modules/array-mergesort-tests (Files): Likewise.
36666         * modules/array-oset-tests (Files): Likewise.
36667         * modules/avltree-list-tests (Files): Likewise.
36668         * modules/avltree-oset-tests (Files): Likewise.
36669         * modules/avltreehash-list-tests (Files): Likewise.
36670         * modules/base64-tests (Files): Likewise.
36671         * modules/binary-io-tests (Files): Likewise.
36672         * modules/bitrotate-tests (Files): Likewise.
36673         * modules/btowc-tests (Files): Likewise.
36674         * modules/byteswap-tests (Files): Likewise.
36675         * modules/c-ctype-tests (Files): Likewise.
36676         * modules/c-stack-tests (Files): Likewise.
36677         * modules/c-strcase-tests (Files): Likewise.
36678         * modules/c-strcasestr-tests (Files): Likewise.
36679         * modules/c-strstr-tests (Files): Likewise.
36680         * modules/canonicalize-lgpl-tests (Files): Likewise.
36681         * modules/canonicalize-tests (Files): Likewise.
36682         * modules/carray-list-tests (Files): Likewise.
36683         * modules/ceilf-tests (Files): Likewise.
36684         * modules/ceill-tests (Files): Likewise.
36685         * modules/chown-tests (Files): Likewise.
36686         * modules/cloexec-tests (Files): Likewise.
36687         * modules/copy-file-tests (Files): Likewise.
36688         * modules/count-one-bits-tests (Files): Likewise.
36689         * modules/dprintf-posix-tests (Files): Likewise.
36690         * modules/dup2-tests (Files): Likewise.
36691         * modules/dup3-tests (Files): Likewise.
36692         * modules/duplocale-tests (Files): Likewise.
36693         * modules/fbufmode-tests (Files): Likewise.
36694         * modules/fchdir-tests (Files): Likewise.
36695         * modules/fcntl-safer-tests (Files): Likewise.
36696         * modules/fcntl-tests (Files): Likewise.
36697         * modules/fdopendir-tests (Files): Likewise.
36698         * modules/fdutimensat-tests (Files): Likewise.
36699         * modules/fflush-tests (Files): Likewise.
36700         * modules/filevercmp-tests (Files): Likewise.
36701         * modules/flock-tests (Files): Likewise.
36702         * modules/floorf-tests (Files): Likewise.
36703         * modules/floorl-tests (Files): Likewise.
36704         * modules/fnmatch-tests (Files): Likewise.
36705         * modules/fopen-safer-tests (Files): Likewise.
36706         * modules/fopen-tests (Files): Likewise.
36707         * modules/fpending-tests (Files): Likewise.
36708         * modules/fprintf-posix-tests (Files): Likewise.
36709         * modules/fpurge-tests (Files): Likewise.
36710         * modules/freadable-tests (Files): Likewise.
36711         * modules/freadahead-tests (Files): Likewise.
36712         * modules/freading-tests (Files): Likewise.
36713         * modules/freadptr-tests (Files): Likewise.
36714         * modules/freadseek-tests (Files): Likewise.
36715         * modules/freopen-tests (Files): Likewise.
36716         * modules/frexp-nolibm-tests (Files): Likewise.
36717         * modules/frexp-tests (Files): Likewise.
36718         * modules/frexpl-nolibm-tests (Files): Likewise.
36719         * modules/frexpl-tests (Files): Likewise.
36720         * modules/fseek-tests (Files): Likewise.
36721         * modules/fseeko-tests (Files): Likewise.
36722         * modules/fstrcmp-tests (Files): Likewise.
36723         * modules/fsync-tests (Files): Likewise.
36724         * modules/ftell-tests (Files): Likewise.
36725         * modules/ftello-tests (Files): Likewise.
36726         * modules/func-tests (Files): Likewise.
36727         * modules/futimens-tests (Files): Likewise.
36728         * modules/fwritable-tests (Files): Likewise.
36729         * modules/fwriting-tests (Files): Likewise.
36730         * modules/getcwd-tests (Files): Likewise.
36731         * modules/getdate-tests (Files): Likewise.
36732         * modules/getdelim-tests (Files): Likewise.
36733         * modules/getdtablesize-tests (Files): Likewise.
36734         * modules/getgroups-tests (Files): Likewise.
36735         * modules/getline-tests (Files): Likewise.
36736         * modules/getndelim2-tests (Files): Likewise.
36737         * modules/glob-tests (Files): Likewise.
36738         * modules/hash-tests (Files): Likewise.
36739         * modules/i-ring-tests (Files): Likewise.
36740         * modules/iconv-tests (Files): Likewise.
36741         * modules/iconv_open-utf-tests (Files): Likewise.
36742         * modules/idpriv-drop-tests (Files): Likewise.
36743         * modules/idpriv-droptemp-tests (Files): Likewise.
36744         * modules/inet_ntop-tests (Files): Likewise.
36745         * modules/inet_pton-tests (Files): Likewise.
36746         * modules/isblank-tests (Files): Likewise.
36747         * modules/isfinite-tests (Files): Likewise.
36748         * modules/isinf-tests (Files): Likewise.
36749         * modules/isnan-tests (Files): Likewise.
36750         * modules/isnand-nolibm-tests (Files): Likewise.
36751         * modules/isnand-tests (Files): Likewise.
36752         * modules/isnanf-nolibm-tests (Files): Likewise.
36753         * modules/isnanf-tests (Files): Likewise.
36754         * modules/isnanl-nolibm-tests (Files): Likewise.
36755         * modules/isnanl-tests (Files): Likewise.
36756         * modules/lchown-tests (Files): Likewise.
36757         * modules/ldexpl-tests (Files): Likewise.
36758         * modules/link-tests (Files): Likewise.
36759         * modules/linkat-tests (Files): Likewise.
36760         * modules/linked-list-tests (Files): Likewise.
36761         * modules/linkedhash-list-tests (Files): Likewise.
36762         * modules/localename-tests (Files): Likewise.
36763         * modules/lseek-tests (Files): Likewise.
36764         * modules/lstat-tests (Files): Likewise.
36765         * modules/mbmemcasecmp-tests (Files): Likewise.
36766         * modules/mbmemcasecoll-tests (Files): Likewise.
36767         * modules/mbrtowc-tests (Files): Likewise.
36768         * modules/mbscasecmp-tests (Files): Likewise.
36769         * modules/mbscasestr-tests (Files): Likewise.
36770         * modules/mbschr-tests (Files): Likewise.
36771         * modules/mbscspn-tests (Files): Likewise.
36772         * modules/mbsinit-tests (Files): Likewise.
36773         * modules/mbsncasecmp-tests (Files): Likewise.
36774         * modules/mbsnrtowcs-tests (Files): Likewise.
36775         * modules/mbspbrk-tests (Files): Likewise.
36776         * modules/mbspcasecmp-tests (Files): Likewise.
36777         * modules/mbsrchr-tests (Files): Likewise.
36778         * modules/mbsrtowcs-tests (Files): Likewise.
36779         * modules/mbsspn-tests (Files): Likewise.
36780         * modules/mbsstr-tests (Files): Likewise.
36781         * modules/memchr-tests (Files): Likewise.
36782         * modules/memchr2-tests (Files): Likewise.
36783         * modules/memcmp-tests (Files): Likewise.
36784         * modules/memmem-tests (Files): Likewise.
36785         * modules/memrchr-tests (Files): Likewise.
36786         * modules/mkdir-tests (Files): Likewise.
36787         * modules/mkfifo-tests (Files): Likewise.
36788         * modules/mkfifoat-tests (Files): Likewise.
36789         * modules/mknod-tests (Files): Likewise.
36790         * modules/nanosleep-tests (Files): Likewise.
36791         * modules/nl_langinfo-tests (Files): Likewise.
36792         * modules/obstack-printf-tests (Files): Likewise.
36793         * modules/open-tests (Files): Likewise.
36794         * modules/openat-tests (Files): Likewise.
36795         * modules/pipe-filter-gi-tests (Files): Likewise.
36796         * modules/pipe-filter-ii-tests (Files): Likewise.
36797         * modules/pipe2-tests (Files): Likewise.
36798         * modules/popen-safer-tests (Files): Likewise.
36799         * modules/popen-tests (Files): Likewise.
36800         * modules/posixtm-tests (Files): Likewise.
36801         * modules/pread-tests (Files): Likewise.
36802         * modules/printf-frexp-tests (Files): Likewise.
36803         * modules/printf-frexpl-tests (Files): Likewise.
36804         * modules/printf-posix-tests (Files): Likewise.
36805         * modules/priv-set-tests (Files): Likewise.
36806         * modules/quotearg-tests (Files): Likewise.
36807         * modules/random_r-tests (Files): Likewise.
36808         * modules/rawmemchr-tests (Files): Likewise.
36809         * modules/rbtree-list-tests (Files): Likewise.
36810         * modules/rbtree-oset-tests (Files): Likewise.
36811         * modules/rbtreehash-list-tests (Files): Likewise.
36812         * modules/readlink-tests (Files): Likewise.
36813         * modules/remove-tests (Files): Likewise.
36814         * modules/rename-tests (Files): Likewise.
36815         * modules/renameat-tests (Files): Likewise.
36816         * modules/rmdir-tests (Files): Likewise.
36817         * modules/round-tests (Files): Likewise.
36818         * modules/roundf-tests (Files): Likewise.
36819         * modules/roundl-tests (Files): Likewise.
36820         * modules/safe-alloc-tests (Files): Likewise.
36821         * modules/setenv-tests (Files): Likewise.
36822         * modules/sigaction-tests (Files): Likewise.
36823         * modules/signbit-tests (Files): Likewise.
36824         * modules/sleep-tests (Files): Likewise.
36825         * modules/snprintf-posix-tests (Files): Likewise.
36826         * modules/snprintf-tests (Files): Likewise.
36827         * modules/sprintf-posix-tests (Files): Likewise.
36828         * modules/stat-tests (Files): Likewise.
36829         * modules/stat-time-tests (Files): Likewise.
36830         * modules/strcasestr-tests (Files): Likewise.
36831         * modules/strchrnul-tests (Files): Likewise.
36832         * modules/strerror-tests (Files): Likewise.
36833         * modules/striconv-tests (Files): Likewise.
36834         * modules/striconveh-tests (Files): Likewise.
36835         * modules/striconveha-tests (Files): Likewise.
36836         * modules/strsignal-tests (Files): Likewise.
36837         * modules/strstr-tests (Files): Likewise.
36838         * modules/strtod-tests (Files): Likewise.
36839         * modules/strverscmp-tests (Files): Likewise.
36840         * modules/symlink-tests (Files): Likewise.
36841         * modules/symlinkat-tests (Files): Likewise.
36842         * modules/trunc-tests (Files): Likewise.
36843         * modules/truncf-tests (Files): Likewise.
36844         * modules/truncl-tests (Files): Likewise.
36845         * modules/uname-tests (Files): Likewise.
36846         * modules/unicase/cased-tests (Files): Likewise.
36847         * modules/unicase/ignorable-tests (Files): Likewise.
36848         * modules/unicase/locale-language-tests (Files): Likewise.
36849         * modules/unicase/tolower-tests (Files): Likewise.
36850         * modules/unicase/totitle-tests (Files): Likewise.
36851         * modules/unicase/toupper-tests (Files): Likewise.
36852         * modules/unicase/u8-casecmp-tests (Files): Likewise.
36853         * modules/unicase/u8-casecoll-tests (Files): Likewise.
36854         * modules/unicase/u8-casefold-tests (Files): Likewise.
36855         * modules/unicase/u8-is-cased-tests (Files): Likewise.
36856         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
36857         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
36858         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
36859         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
36860         * modules/unicase/u8-tolower-tests (Files): Likewise.
36861         * modules/unicase/u8-totitle-tests (Files): Likewise.
36862         * modules/unicase/u8-toupper-tests (Files): Likewise.
36863         * modules/unicase/u16-casecmp-tests (Files): Likewise.
36864         * modules/unicase/u16-casecoll-tests (Files): Likewise.
36865         * modules/unicase/u16-casefold-tests (Files): Likewise.
36866         * modules/unicase/u16-is-cased-tests (Files): Likewise.
36867         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
36868         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
36869         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
36870         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
36871         * modules/unicase/u16-tolower-tests (Files): Likewise.
36872         * modules/unicase/u16-totitle-tests (Files): Likewise.
36873         * modules/unicase/u16-toupper-tests (Files): Likewise.
36874         * modules/unicase/u32-casecmp-tests (Files): Likewise.
36875         * modules/unicase/u32-casecoll-tests (Files): Likewise.
36876         * modules/unicase/u32-casefold-tests (Files): Likewise.
36877         * modules/unicase/u32-is-cased-tests (Files): Likewise.
36878         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
36879         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
36880         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
36881         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
36882         * modules/unicase/u32-tolower-tests (Files): Likewise.
36883         * modules/unicase/u32-totitle-tests (Files): Likewise.
36884         * modules/unicase/u32-toupper-tests (Files): Likewise.
36885         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
36886         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
36887         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
36888         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
36889         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
36890         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
36891         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
36892         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
36893         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
36894         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
36895         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
36896         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
36897         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
36898         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
36899         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
36900         * modules/unictype/bidicategory-name-tests (Files): Likewise.
36901         * modules/unictype/bidicategory-of-tests (Files): Likewise.
36902         * modules/unictype/bidicategory-test-tests (Files): Likewise.
36903         * modules/unictype/block-list-tests (Files): Likewise.
36904         * modules/unictype/block-of-tests (Files): Likewise.
36905         * modules/unictype/block-test-tests (Files): Likewise.
36906         * modules/unictype/category-C-tests (Files): Likewise.
36907         * modules/unictype/category-Cc-tests (Files): Likewise.
36908         * modules/unictype/category-Cf-tests (Files): Likewise.
36909         * modules/unictype/category-Cn-tests (Files): Likewise.
36910         * modules/unictype/category-Co-tests (Files): Likewise.
36911         * modules/unictype/category-Cs-tests (Files): Likewise.
36912         * modules/unictype/category-L-tests (Files): Likewise.
36913         * modules/unictype/category-Ll-tests (Files): Likewise.
36914         * modules/unictype/category-Lm-tests (Files): Likewise.
36915         * modules/unictype/category-Lo-tests (Files): Likewise.
36916         * modules/unictype/category-Lt-tests (Files): Likewise.
36917         * modules/unictype/category-Lu-tests (Files): Likewise.
36918         * modules/unictype/category-M-tests (Files): Likewise.
36919         * modules/unictype/category-Mc-tests (Files): Likewise.
36920         * modules/unictype/category-Me-tests (Files): Likewise.
36921         * modules/unictype/category-Mn-tests (Files): Likewise.
36922         * modules/unictype/category-N-tests (Files): Likewise.
36923         * modules/unictype/category-Nd-tests (Files): Likewise.
36924         * modules/unictype/category-Nl-tests (Files): Likewise.
36925         * modules/unictype/category-No-tests (Files): Likewise.
36926         * modules/unictype/category-P-tests (Files): Likewise.
36927         * modules/unictype/category-Pc-tests (Files): Likewise.
36928         * modules/unictype/category-Pd-tests (Files): Likewise.
36929         * modules/unictype/category-Pe-tests (Files): Likewise.
36930         * modules/unictype/category-Pf-tests (Files): Likewise.
36931         * modules/unictype/category-Pi-tests (Files): Likewise.
36932         * modules/unictype/category-Po-tests (Files): Likewise.
36933         * modules/unictype/category-Ps-tests (Files): Likewise.
36934         * modules/unictype/category-S-tests (Files): Likewise.
36935         * modules/unictype/category-Sc-tests (Files): Likewise.
36936         * modules/unictype/category-Sk-tests (Files): Likewise.
36937         * modules/unictype/category-Sm-tests (Files): Likewise.
36938         * modules/unictype/category-So-tests (Files): Likewise.
36939         * modules/unictype/category-Z-tests (Files): Likewise.
36940         * modules/unictype/category-Zl-tests (Files): Likewise.
36941         * modules/unictype/category-Zp-tests (Files): Likewise.
36942         * modules/unictype/category-Zs-tests (Files): Likewise.
36943         * modules/unictype/category-and-not-tests (Files): Likewise.
36944         * modules/unictype/category-and-tests (Files): Likewise.
36945         * modules/unictype/category-byname-tests (Files): Likewise.
36946         * modules/unictype/category-name-tests (Files): Likewise.
36947         * modules/unictype/category-none-tests (Files): Likewise.
36948         * modules/unictype/category-of-tests (Files): Likewise.
36949         * modules/unictype/category-or-tests (Files): Likewise.
36950         * modules/unictype/category-test-withtable-tests (Files): Likewise.
36951         * modules/unictype/combining-class-tests (Files): Likewise.
36952         * modules/unictype/ctype-alnum-tests (Files): Likewise.
36953         * modules/unictype/ctype-alpha-tests (Files): Likewise.
36954         * modules/unictype/ctype-blank-tests (Files): Likewise.
36955         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
36956         * modules/unictype/ctype-digit-tests (Files): Likewise.
36957         * modules/unictype/ctype-graph-tests (Files): Likewise.
36958         * modules/unictype/ctype-lower-tests (Files): Likewise.
36959         * modules/unictype/ctype-print-tests (Files): Likewise.
36960         * modules/unictype/ctype-punct-tests (Files): Likewise.
36961         * modules/unictype/ctype-space-tests (Files): Likewise.
36962         * modules/unictype/ctype-upper-tests (Files): Likewise.
36963         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
36964         * modules/unictype/decimal-digit-tests (Files): Likewise.
36965         * modules/unictype/digit-tests (Files): Likewise.
36966         * modules/unictype/mirror-tests (Files): Likewise.
36967         * modules/unictype/numeric-tests (Files): Likewise.
36968         * modules/unictype/property-alphabetic-tests (Files): Likewise.
36969         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
36970         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
36971         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
36972         Likewise.
36973         * modules/unictype/property-bidi-block-separator-tests (Files):
36974         Likewise.
36975         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
36976         Likewise.
36977         * modules/unictype/property-bidi-common-separator-tests (Files):
36978         Likewise.
36979         * modules/unictype/property-bidi-control-tests (Files): Likewise.
36980         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
36981         Likewise.
36982         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
36983         Likewise.
36984         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
36985         Likewise.
36986         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
36987         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
36988         Likewise.
36989         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
36990         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
36991         Likewise.
36992         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
36993         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
36994         * modules/unictype/property-bidi-segment-separator-tests (Files):
36995         Likewise.
36996         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
36997         * modules/unictype/property-byname-tests (Files): Likewise.
36998         * modules/unictype/property-combining-tests (Files): Likewise.
36999         * modules/unictype/property-composite-tests (Files): Likewise.
37000         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
37001         * modules/unictype/property-dash-tests (Files): Likewise.
37002         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
37003         * modules/unictype/property-default-ignorable-code-point-tests (Files):
37004         Likewise.
37005         * modules/unictype/property-deprecated-tests (Files): Likewise.
37006         * modules/unictype/property-diacritic-tests (Files): Likewise.
37007         * modules/unictype/property-extender-tests (Files): Likewise.
37008         * modules/unictype/property-format-control-tests (Files): Likewise.
37009         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
37010         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
37011         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
37012         * modules/unictype/property-hex-digit-tests (Files): Likewise.
37013         * modules/unictype/property-hyphen-tests (Files): Likewise.
37014         * modules/unictype/property-id-continue-tests (Files): Likewise.
37015         * modules/unictype/property-id-start-tests (Files): Likewise.
37016         * modules/unictype/property-ideographic-tests (Files): Likewise.
37017         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
37018         * modules/unictype/property-ids-trinary-operator-tests (Files):
37019         Likewise.
37020         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
37021         * modules/unictype/property-iso-control-tests (Files): Likewise.
37022         * modules/unictype/property-join-control-tests (Files): Likewise.
37023         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
37024         * modules/unictype/property-line-separator-tests (Files): Likewise.
37025         * modules/unictype/property-logical-order-exception-tests (Files):
37026         Likewise.
37027         * modules/unictype/property-lowercase-tests (Files): Likewise.
37028         * modules/unictype/property-math-tests (Files): Likewise.
37029         * modules/unictype/property-non-break-tests (Files): Likewise.
37030         * modules/unictype/property-not-a-character-tests (Files): Likewise.
37031         * modules/unictype/property-numeric-tests (Files): Likewise.
37032         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
37033         * modules/unictype/property-other-default-ignorable-code-point-tests
37034         (Files): Likewise.
37035         * modules/unictype/property-other-grapheme-extend-tests (Files):
37036         Likewise.
37037         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
37038         * modules/unictype/property-other-id-start-tests (Files): Likewise.
37039         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
37040         * modules/unictype/property-other-math-tests (Files): Likewise.
37041         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
37042         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
37043         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
37044         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
37045         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
37046         * modules/unictype/property-private-use-tests (Files): Likewise.
37047         * modules/unictype/property-punctuation-tests (Files): Likewise.
37048         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
37049         * modules/unictype/property-radical-tests (Files): Likewise.
37050         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
37051         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
37052         * modules/unictype/property-space-tests (Files): Likewise.
37053         * modules/unictype/property-terminal-punctuation-tests (Files):
37054         Likewise.
37055         * modules/unictype/property-test-tests (Files): Likewise.
37056         * modules/unictype/property-titlecase-tests (Files): Likewise.
37057         * modules/unictype/property-unassigned-code-value-tests (Files):
37058         Likewise.
37059         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
37060         * modules/unictype/property-uppercase-tests (Files): Likewise.
37061         * modules/unictype/property-variation-selector-tests (Files): Likewise.
37062         * modules/unictype/property-white-space-tests (Files): Likewise.
37063         * modules/unictype/property-xid-continue-tests (Files): Likewise.
37064         * modules/unictype/property-xid-start-tests (Files): Likewise.
37065         * modules/unictype/property-zero-width-tests (Files): Likewise.
37066         * modules/unictype/scripts-tests (Files): Likewise.
37067         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
37068         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
37069         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
37070         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
37071         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
37072         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
37073         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
37074         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
37075         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
37076         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
37077         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
37078         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
37079         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
37080         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
37081         * modules/uninorm/composition-tests (Files): Likewise.
37082         * modules/uninorm/decomposing-form-tests (Files): Likewise.
37083         * modules/uninorm/decomposition-tests (Files): Likewise.
37084         * modules/uninorm/filter-tests (Files): Likewise.
37085         * modules/uninorm/nfc-tests (Files): Likewise.
37086         * modules/uninorm/nfd-tests (Files): Likewise.
37087         * modules/uninorm/nfkc-tests (Files): Likewise.
37088         * modules/uninorm/nfkd-tests (Files): Likewise.
37089         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
37090         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
37091         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
37092         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
37093         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
37094         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
37095         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
37096         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
37097         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
37098         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
37099         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
37100         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
37101         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
37102         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
37103         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
37104         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
37105         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
37106         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
37107         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
37108         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
37109         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
37110         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
37111         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
37112         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
37113         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
37114         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
37115         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
37116         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
37117         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
37118         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
37119         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
37120         * modules/uniwidth/u8-width-tests (Files): Likewise.
37121         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
37122         * modules/uniwidth/u16-width-tests (Files): Likewise.
37123         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
37124         * modules/uniwidth/u32-width-tests (Files): Likewise.
37125         * modules/uniwidth/width-tests (Files): Likewise.
37126         * modules/unlink-tests (Files): Likewise.
37127         * modules/unsetenv-tests (Files): Likewise.
37128         * modules/usleep-tests (Files): Likewise.
37129         * modules/utimens-tests (Files): Likewise.
37130         * modules/utimensat-tests (Files): Likewise.
37131         * modules/vasnprintf-posix-tests (Files): Likewise.
37132         * modules/vasnprintf-tests (Files): Likewise.
37133         * modules/vasprintf-posix-tests (Files): Likewise.
37134         * modules/vasprintf-tests (Files): Likewise.
37135         * modules/vdprintf-posix-tests (Files): Likewise.
37136         * modules/vfprintf-posix-tests (Files): Likewise.
37137         * modules/vprintf-posix-tests (Files): Likewise.
37138         * modules/vsnprintf-posix-tests (Files): Likewise.
37139         * modules/vsnprintf-tests (Files): Likewise.
37140         * modules/vsprintf-posix-tests (Files): Likewise.
37141         * modules/wcrtomb-tests (Files): Likewise.
37142         * modules/wcsnrtombs-tests (Files): Likewise.
37143         * modules/wcsrtombs-tests (Files): Likewise.
37144         * modules/wctype-tests (Files): Likewise.
37145         * modules/wcwidth-tests (Files): Likewise.
37146         * modules/xmemdup0-tests (Files): Likewise.
37147         * modules/xprintf-posix-tests (Files): Likewise.
37148         * modules/xvasprintf-tests (Files): Likewise.
37149
37150 2009-12-24  Eric Blake  <ebb9@byu.net>
37151
37152         test-nanosleep: fix typo
37153         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
37154         patch.
37155         Reported by Bruno Haible.
37156
37157 2009-12-24  Bruno Haible  <bruno@clisp.org>
37158
37159         Reduce namespace pollution on glibc systems.
37160         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
37161         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
37162         systems.
37163         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
37164         <getopt.h> on glibc systems.
37165         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
37166         systems.
37167         * lib/fcntl.c: Include <unistd.h> here instead.
37168
37169 2009-12-24  Bruno Haible  <bruno@clisp.org>
37170
37171         * lib/stdlib.in.h (includes): Fix typo in today's commit.
37172
37173 2009-12-24  Eric Blake  <ebb9@byu.net>
37174
37175         tests: add signature checks
37176         * tests/signature.h (SIGNATURE_CHECK): New file.
37177         * modules/atexit-tests (Files): Use it.
37178         * modules/btowc-tests (Files): Likewise.
37179         * modules/canonicalize-lgpl-tests (Files): Likewise.
37180         * modules/ceilf-tests (Files): Likewise.
37181         * modules/ceill-tests (Files): Likewise.
37182         * modules/chown-tests (Files): Likewise.
37183         * modules/dprintf-posix-tests (Files): Likewise.
37184         * modules/dup2-tests (Files): Likewise.
37185         * modules/dup3-tests (Files): Likewise.
37186         * modules/duplocale-tests (Files): Likewise.
37187         * modules/fchdir-tests (Files): Likewise.
37188         * modules/fcntl-tests (Files): Likewise.
37189         * modules/fdopendir-tests (Files): Likewise.
37190         * modules/fflush-tests (Files): Likewise.
37191         * modules/flock-tests (Files): Likewise.
37192         * modules/floorf-tests (Files): Likewise.
37193         * modules/floorl-tests (Files): Likewise.
37194         * modules/fnmatch-tests (Files): Likewise.
37195         * modules/fopen-tests (Files): Likewise.
37196         * modules/fprintf-posix-tests (Files): Likewise.
37197         * modules/freopen-tests (Files): Likewise.
37198         * modules/frexp-nolibm-tests (Files): Likewise.
37199         * modules/frexp-tests (Files): Likewise.
37200         * modules/frexpl-nolibm-tests (Files): Likewise.
37201         * modules/frexpl-tests (Files): Likewise.
37202         * modules/fseek-tests (Files): Likewise.
37203         * modules/fseeko-tests (Files): Likewise.
37204         * modules/fsync-tests (Files): Likewise.
37205         * modules/ftell-tests (Files): Likewise.
37206         * modules/ftello-tests (Files): Likewise.
37207         * modules/futimens-tests (Files): Likewise.
37208         * modules/getaddrinfo-tests (Files): Likewise.
37209         * modules/getcwd-tests (Files): Likewise.
37210         * modules/getdelim-tests (Files): Likewise.
37211         * modules/getdtablesize-tests (Files): Likewise.
37212         * modules/getgroups-tests (Files): Likewise.
37213         * modules/gethostname-tests (Files): Likewise.
37214         * modules/getline-tests (Files): Likewise.
37215         * modules/getopt-posix-tests (Files): Likewise.
37216         * modules/gettimeofday-tests (Files): Likewise.
37217         * modules/glob-tests (Files): Likewise.
37218         * modules/iconv-tests (Files): Likewise.
37219         * modules/inet_ntop-tests (Files): Likewise.
37220         * modules/inet_pton-tests (Files): Likewise.
37221         * modules/isblank-tests (Files): Likewise.
37222         * modules/lchown-tests (Files): Likewise.
37223         * modules/ldexpl-tests (Files): Likewise.
37224         * modules/link-tests (Files): Likewise.
37225         * modules/linkat-tests (Files): Likewise.
37226         * modules/lseek-tests (Files): Likewise.
37227         * modules/lstat-tests (Files): Likewise.
37228         * modules/mbrtowc-tests (Files): Likewise.
37229         * modules/mbsinit-tests (Files): Likewise.
37230         * modules/mbsnrtowcs-tests (Files): Likewise.
37231         * modules/mbsrtowcs-tests (Files): Likewise.
37232         * modules/memchr-tests (Files): Likewise.
37233         * modules/memcmp-tests (Files): Likewise.
37234         * modules/memmem-tests (Files): Likewise.
37235         * modules/memrchr-tests (Files): Likewise.
37236         * modules/mkdir-tests (Files): Likewise.
37237         * modules/mkfifo-tests (Files): Likewise.
37238         * modules/mkfifoat-tests (Files): Likewise.
37239         * modules/mknod-tests (Files): Likewise.
37240         * modules/nanosleep-tests (Files): Likewise.
37241         * modules/nl_langinfo-tests (Files): Likewise.
37242         * modules/obstack-printf-tests (Files): Likewise.
37243         * modules/open-tests (Files): Likewise.
37244         * modules/openat-tests (Files): Likewise.
37245         * modules/perror-tests (Files): Likewise.
37246         * modules/pipe2-tests (Files): Likewise.
37247         * modules/poll-tests (Files): Likewise.
37248         * modules/popen-tests (Files): Likewise.
37249         * modules/posix_spawn-tests (Files): Likewise.
37250         * modules/posix_spawnp-tests (Files): Likewise.
37251         * modules/pread-tests (Files): Likewise.
37252         * modules/printf-posix-tests (Files): Likewise.
37253         * modules/pty-tests (Files): Likewise.
37254         * modules/random_r-tests (Files): Likewise.
37255         * modules/rawmemchr-tests (Files): Likewise.
37256         * modules/readlink-tests (Files): Likewise.
37257         * modules/remove-tests (Files): Likewise.
37258         * modules/rename-tests (Files): Likewise.
37259         * modules/renameat-tests (Files): Likewise.
37260         * modules/rmdir-tests (Files): Likewise.
37261         * modules/round-tests (Files): Likewise.
37262         * modules/roundf-tests (Files): Likewise.
37263         * modules/roundl-tests (Files): Likewise.
37264         * modules/select-tests (Files): Likewise.
37265         * modules/setenv-tests (Files): Likewise.
37266         * modules/sigaction-tests (Files): Likewise.
37267         * modules/sleep-tests (Files): Likewise.
37268         * modules/snprintf-posix-tests (Files): Likewise.
37269         * modules/snprintf-tests (Files): Likewise.
37270         * modules/sprintf-posix-tests (Files): Likewise.
37271         * modules/stat-tests (Files): Likewise.
37272         * modules/strcasestr-tests (Files): Likewise.
37273         * modules/strchrnul-tests (Files): Likewise.
37274         * modules/strerror-tests (Files): Likewise.
37275         * modules/strsignal-tests (Files): Likewise.
37276         * modules/strstr-tests (Files): Likewise.
37277         * modules/strtod-tests (Files): Likewise.
37278         * modules/strverscmp-tests (Files): Likewise.
37279         * modules/symlink-tests (Files): Likewise.
37280         * modules/symlinkat-tests (Files): Likewise.
37281         * modules/times-tests (Files): Likewise.
37282         * modules/trunc-tests (Files): Likewise.
37283         * modules/truncf-tests (Files): Likewise.
37284         * modules/truncl-tests (Files): Likewise.
37285         * modules/tsearch-tests (Files): Likewise.
37286         * modules/uname-tests (Files): Likewise.
37287         * modules/unlink-tests (Files): Likewise.
37288         * modules/unsetenv-tests (Files): Likewise.
37289         * modules/usleep-tests (Files): Likewise.
37290         * modules/utimensat-tests (Files): Likewise.
37291         * modules/vasprintf-tests (Files): Likewise.
37292         * modules/vdprintf-posix-tests (Files): Likewise.
37293         * modules/vfprintf-posix-tests (Files): Likewise.
37294         * modules/vprintf-posix-tests (Files): Likewise.
37295         * modules/vsnprintf-posix-tests (Files): Likewise.
37296         * modules/vsnprintf-tests (Files): Likewise.
37297         * modules/vsprintf-posix-tests (Files): Likewise.
37298         * modules/wcrtomb-tests (Files): Likewise.
37299         * modules/wcsnrtombs-tests (Files): Likewise.
37300         * modules/wcsrtombs-tests (Files): Likewise.
37301         * modules/wcwidth-tests (Files): Likewise.
37302         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
37303         * tests/test-isinf.c (isinf): Likewise.
37304         * tests/test-isnan.c (isnan): Likewise.
37305         * tests/test-signbit.c (signbit): Likewise.
37306         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
37307         declaration, either as macro or with correct signature.
37308         (select): Ensure function under test is declared with correct
37309         signature in correct header.
37310         * tests/test-atexit.c (atexit): Likewise.
37311         * tests/test-btowc.c (btowc): Likewise.
37312         * tests/test-canonicalize-lgpl.c (realpath)
37313         (canonicalize_file_name): Likewise.
37314         * tests/test-ceilf1.c (ceilf): Likewise.
37315         * tests/test-ceill.c (ceill): Likewise.
37316         * tests/test-chown.c (chown): Likewise.
37317         * tests/test-dprintf-posix.c (dprintf): Likewise.
37318         * tests/test-dup2.c (dup2): Likewise.
37319         * tests/test-dup3.c (dup3): Likewise.
37320         * tests/test-duplocale.c (duplocale): Likewise.
37321         * tests/test-fchdir.c (fchdir): Likewise.
37322         * tests/test-fchownat.c (fchownat): Likewise.
37323         * tests/test-fcntl.c (fcntl): Likewise.
37324         * tests/test-fdopendir.c (fdopendir): Likewise.
37325         * tests/test-fflush.c (fflush): Likewise.
37326         * tests/test-flock.c (flock): Likewise.
37327         * tests/test-floorf1.c (floorf): Likewise.
37328         * tests/test-floorl.c (floorl): Likewise.
37329         * tests/test-fnmatch.c (fnmatch): Likewise.
37330         * tests/test-fopen.c (fopen): Likewise.
37331         * tests/test-fprintf-posix.c (fprintf): Likewise.
37332         * tests/test-freopen.c (freopen): Likewise.
37333         * tests/test-frexp.c (frexp): Likewise.
37334         * tests/test-frexpl.c (frexpl): Likewise.
37335         * tests/test-fseek.c (fseek): Likewise.
37336         * tests/test-fseeko.c (fseeko): Likewise.
37337         * tests/test-fstatat.c (fstatat): Likewise.
37338         * tests/test-fsync.c (fsync): Likewise.
37339         * tests/test-ftell.c (ftell): Likewise.
37340         * tests/test-ftello.c (ftello): Likewise.
37341         * tests/test-futimens.c (futimens): Likewise.
37342         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
37343         (gai_strerror): Likewise.
37344         * tests/test-getcwd.c (getcwd): Likewise.
37345         * tests/test-getdelim.c (getdelim): Likewise.
37346         * tests/test-getdtablesize.c (getdtablesize): Likewise.
37347         * tests/test-getgroups.c (getgroups): Likewise.
37348         * tests/test-gethostname.c (gethostname): Likewise.
37349         * tests/test-getline.c (getline): Likewise.
37350         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
37351         Likewise.
37352         * tests/test-gettimeofday.c (gettimeofday): Likewise.
37353         * tests/test-glob.c (glob, globfree): Likewise.
37354         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
37355         * tests/test-inet_ntop.c (inet_ntop): Likewise.
37356         * tests/test-inet_pton.c (inet_pton): Likewise.
37357         * tests/test-isblank.c (isblank): Likewise.
37358         * tests/test-lchown.c (lchown): Likewise.
37359         * tests/test-ldexpl.c (ldexpl): Likewise.
37360         * tests/test-link.c (link): Likewise.
37361         * tests/test-linkat.c (linkat): Likewise.
37362         * tests/test-lseek.c (lseek): Likewise.
37363         * tests/test-lstat.c (lstat): Likewise.
37364         * tests/test-mbrtowc.c (mbrtowc): Likewise.
37365         * tests/test-mbsinit.c (mbsinit): Likewise.
37366         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
37367         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
37368         * tests/test-memchr.c (memchr): Likewise.
37369         * tests/test-memcmp.c (memcmp): Likewise.
37370         * tests/test-memmem.c (memmem): Likewise.
37371         * tests/test-memrchr.c (memrchr): Likewise.
37372         * tests/test-mkdir.c (mkdir): Likewise.
37373         * tests/test-mkdirat.c (mkdirat): Likewise.
37374         * tests/test-mkfifo.c (mkfifo): Likewise.
37375         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
37376         * tests/test-mknod.c (mknod): Likewise.
37377         * tests/test-nanosleep.c (nanosleep): Likewise.
37378         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
37379         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
37380         Likewise.
37381         * tests/test-open.c (open): Likewise.
37382         * tests/test-openat.c (openat): Likewise.
37383         * tests/test-perror.c (perror): Likewise.
37384         * tests/test-pipe2.c (pipe2): Likewise.
37385         * tests/test-poll.c (poll): Likewise.
37386         * tests/test-popen.c (popen, pclose): Likewise.
37387         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
37388         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
37389         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
37390         (posix_spawn_file_actions_destroy)
37391         (posix_spawn_file_actions_addclose)
37392         (posix_spawn_file_actions_addopen)
37393         (posix_spawn_file_actions_adddup2): Likewise.
37394         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
37395         * tests/test-pread.c (pread): Likewise.
37396         * tests/test-printf-posix.c (printf): Likewise.
37397         * tests/test-pty.c (openpty, forkpty): Likewise.
37398         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
37399         (random_r): Likewise.
37400         * tests/test-rawmemchr.c (rawmemchr): Likewise.
37401         * tests/test-readlink.c (readlink): Likewise.
37402         * tests/test-remove.c (remove): Likewise.
37403         * tests/test-rename.c (rename): Likewise.
37404         * tests/test-renameat.c (renameat): Likewise.
37405         * tests/test-rmdir.c (rmdir): Likewise.
37406         * tests/test-round1.c (round): Likewise.
37407         * tests/test-roundf1.c (roundf): Likewise.
37408         * tests/test-roundl.c (roundl): Likewise.
37409         * tests/test-setenv.c (setenv): Likewise.
37410         * tests/test-sigaction.c (sigaction): Likewise.
37411         * tests/test-sleep.c (sleep): Likewise.
37412         * tests/test-snprintf.c (snprintf): Likewise.
37413         * tests/test-sprintf-posix.c (sprintf): Likewise.
37414         * tests/test-stat.c (stat): Likewise.
37415         * tests/test-stpncpy.c (stpncpy): Likewise.
37416         * tests/test-strcasestr.c (strcasestr): Likewise.
37417         * tests/test-strchrnul.c (strchrnul): Likewise.
37418         * tests/test-strerror.c (strerror): Likewise.
37419         * tests/test-strsignal.c (strsignal): Likewise.
37420         * tests/test-strstr.c (strstr): Likewise.
37421         * tests/test-strtod.c (strtod): Likewise.
37422         * tests/test-strverscmp.c (strverscmp): Likewise.
37423         * tests/test-symlink.c (symlink): Likewise.
37424         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
37425         * tests/test-times.c (times): Likewise.
37426         * tests/test-trunc1.c (trunc): Likewise.
37427         * tests/test-truncf1.c (truncf): Likewise.
37428         * tests/test-truncl.c (truncl): Likewise.
37429         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
37430         Likewise.
37431         * tests/test-uname.c (uname): Likewise.
37432         * tests/test-unlink.c (unlink): Likewise.
37433         * tests/test-unlinkat.c (unlinkat): Likewise.
37434         * tests/test-unsetenv.c (unsetenv): Likewise.
37435         * tests/test-usleep.c (usleep): Likewise.
37436         * tests/test-utimensat.c (utimensat): Likewise.
37437         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
37438         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
37439         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
37440         * tests/test-vprintf-posix.c (vprintf): Likewise.
37441         * tests/test-vsnprintf.c (vsnprintf): Likewise.
37442         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
37443         * tests/test-wcrtomb.c (wcrtomb): Likewise.
37444         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
37445         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
37446         * tests/test-wcwidth.c (wcwidth): Likewise.
37447
37448         build: pull in conditional headers during GNULIB_POSIXCHECK
37449         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
37450         definitions from any conditionally-included headers.
37451         * lib/stdlib.in.h (includes): Likewise.
37452         * lib/unistd.in.h (includes): Likewise.
37453
37454 2009-12-24  Bruno Haible  <bruno@clisp.org>
37455
37456         * tests/test-argv-iter.c: Include header file being tested immediately
37457         after config.h.
37458         * tests/test-base64.c: Likewise.
37459         * tests/test-flock.c: Likewise.
37460         * tests/test-fsync.c: Likewise.
37461         * tests/test-getdate.c: Likewise.
37462         * tests/test-getndelim2.c: Likewise.
37463         * tests/test-isfinite.c: Likewise.
37464         * tests/test-isinf.c: Likewise.
37465         * tests/test-strerror.c: Likewise.
37466         * tests/test-strsignal.c: Likewise.
37467
37468 2009-12-23  Eric Blake  <ebb9@byu.net>
37469
37470         unistd: work around cygwin bug
37471         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
37472         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
37473         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
37474
37475 2009-12-23  Bruno Haible  <bruno@clisp.org>
37476
37477         localename: More tests.
37478         * tests/test-localename.c (SIZEOF): New macro.
37479         (categories): New variable.
37480         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
37481         test_locale_name_default): Add test w.r.t. thread locale.
37482         (test_locale_name_thread): New function.
37483         (main): Invoke it.
37484
37485         localename: Make aware of thread locale.
37486         * lib/localename.h (gl_locale_name_thread): New declaration.
37487         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
37488         behaviour with respect to thread locale.
37489         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
37490         <langinfo.h>, glthread/lock.h.
37491         (SIZE_BITS): New macro.
37492         (string_hash): New function.
37493         (struct hash_node): New type.
37494         (HASH_TABLE_SIZE): New macro.
37495         (struniq_hash_table, struniq_lock): New variables.
37496         (struniq): New function.
37497         (gl_locale_name_thread): New function.
37498         (gl_locale_name): Invoke it.
37499         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
37500         * modules/localename (Depends-on): Add lock.
37501         Reported by Mike Gran <spk121@yahoo.com>.
37502
37503 2009-12-23  Eric Blake  <ebb9@byu.net>
37504
37505         va-args: new module
37506         * modules/va-args: New file.
37507         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
37508         * MODULES.html.sh (Core language properties): Mention it.
37509
37510         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
37511         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
37512         named alias for __attribute__((__unused__)).
37513         * lib/chown.c: Update client.
37514         * lib/fchmodat.c: Likewise.
37515         * lib/fts.c: Likewise.
37516         * lib/getdate.y: Likewise.
37517         * lib/getgroups.c: Likewise.
37518         * lib/getopt.c: Likewise.
37519         * lib/getugroups.c: Likewise.
37520         * lib/mkdir.c: Likewise.
37521         * lib/mkfifo.c: Likewise.
37522         * lib/mkfifoat.c: Likewise.
37523         * lib/mknod.c: Likewise.
37524         * lib/mknodat.c: Likewise.
37525         * lib/readlink.c: Likewise.
37526         * lib/se-context.in.h: Likewise.
37527         * lib/se-selinux.in.h: Likewise.
37528         * lib/sockets.c: Likewise.
37529         * lib/symlink.c: Likewise.
37530         * lib/symlinkat.c: Likewise.
37531         * lib/unicodeio.c: Likewise.
37532         * lib/unistr.h: Likewise.
37533         * tests/test-areadlink.c: Likewise.
37534         * tests/test-areadlinkat.c: Likewise.
37535         * tests/test-filenamecat.c: Likewise.
37536         * tests/test-fseeko.c: Likewise.
37537         * tests/test-ftello.c: Likewise.
37538         * tests/test-getdate.c: Likewise.
37539         * tests/test-getgroups.c: Likewise.
37540         * tests/test-gethostname.c: Likewise.
37541         * tests/test-quotearg.c: Likewise.
37542         * tests/test-version-etc.c: Likewise.
37543         * tests/test-xalloc-die.c: Likewise.
37544         * tests/test-xfprintf-posix.c: Likewise.
37545         * tests/test-xprintf-posix.c: Likewise.
37546         * tests/test-xvasprintf.c: Likewise.
37547
37548         tests: avoid compiler warnings
37549         * tests/test-fcntl.c (main): Delete unused parameters.
37550         * tests/test-freopen-safer.c (main): Likewise.
37551         * tests/test-xalloc-die.c (main): Mark unused parameters.
37552         * tests/test-fseeko.c (main): Likewise.
37553         * tests/test-ftello.c (main): Likewise.
37554         * tests/test-nanosleep.c (main): Avoid declaration warning.
37555         * tests/test-sleep.c (main): Likewise.
37556         * tests/test-unsetenv.c (main): Silence warning about string
37557         literal.
37558         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
37559
37560 2009-12-23  Bruno Haible  <bruno@clisp.org>
37561
37562         * tests/test-localename.c (test_locale_name): New function, extracted
37563         from main. Also test mixed situations.
37564         (test_locale_name_posix, test_locale_name_environ,
37565         test_locale_name_default): New functions.
37566         (main): Invoke them all.
37567         * modules/localename-tests (configure.ac): Test for newlocale.
37568
37569 2009-12-23  Bruno Haible  <bruno@clisp.org>
37570
37571         unistd: Ensure getcwd gets declared before being overridden.
37572         * lib/unistd.in.h: Conditionally include <io.h>.
37573
37574 2009-12-22  Bruno Haible  <bruno@clisp.org>
37575
37576         wchar: Diagnose broken combination of glibc and gcc versions and flags.
37577         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
37578         (gl_WCHAR_H): Invoke it.
37579         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
37580         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
37581         Reported by Karl Berry <karl@freefriends.org>.
37582
37583 2009-12-22  Eric Blake  <ebb9@byu.net>
37584
37585         math, unistd: avoid redundant includes
37586         * lib/math.in.h (isnan): No need to re-include <math.h>.
37587         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
37588
37589         getsubopt: work around cygwin bug
37590         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
37591         avoid conflicting with system getsubopt.
37592         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
37593         bug.
37594
37595         getopt: synchronize from glibc
37596         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
37597         parameter order.  Adjust all callers.
37598         (_getopt_internal_r, main): Adjust quoting in error messages.
37599         Drop considerations for outdated POSIX 1003.2 error message.
37600         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
37601         callers.
37602         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
37603
37604         test-getopt: test stderr behavior
37605         * modules/getopt-posix-tests (Depends-on): Add dup2.
37606         * tests/test-getopt.c (ASSERT): Avoid stderr.
37607         (main): Move stderr to a temporary file.
37608         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
37609         Instead, add parameter to inform caller if output occurred.
37610         (test_getopt): Adjust all existing tests to expect silence, and
37611         add new tests of leading ":".
37612         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37613         glibc shortcomings with leading "-:" or "+:" in optstring.
37614         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37615         Likewise.
37616         * doc/posix-functions/getopt.texi (getopt): Likewise.
37617
37618         test-getopt: enhance test
37619         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
37620         supports optind=0.
37621         * tests/test-getopt.c (OPTIND_MIN): Move...
37622         * tests/test-getopt.h (OPTIND_MIN): ...here.
37623         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
37624         Require that optind=0 works, since modern BSD supports it in
37625         addition to optreset, and since coreutils expects it.
37626         (test_getopt_long_only): New test.
37627         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37628         glibc shortcomings with 'W;', and enforcement of optind=0.
37629         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37630         Likewise.
37631
37632 2009-12-21  Bruno Haible  <bruno@clisp.org>
37633
37634         localename: Improvements for MacOS X and Cygwin.
37635         * lib/localename.h (gl_locale_name_environ): New declaration.
37636         * lib/localename.c (gl_locale_name_environ): New function, extracted from
37637         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
37638         (gl_locale_name_posix): Invoke it.
37639         (gl_locale_name_default): Add comments. Use Windows native API also on
37640         Cygwin.
37641
37642 2009-12-21  Bruno Haible  <bruno@clisp.org>
37643
37644         Update list of Win32 locale ids.
37645         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
37646         (LANG_SAMI): Renamed from LANG_SAAMI.
37647         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
37648         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
37649         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
37650         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
37651         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
37652         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
37653         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
37654         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
37655         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
37656         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
37657         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
37658         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
37659         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
37660         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
37661         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
37662         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
37663         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
37664         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
37665         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
37666         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
37667         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
37668         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
37669         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
37670         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
37671         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
37672         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
37673         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
37674         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
37675         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
37676         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
37677         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
37678         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
37679         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
37680         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
37681         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
37682         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
37683         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
37684         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
37685         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
37686         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
37687         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
37688         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
37689         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
37690         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
37691         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
37692         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
37693         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
37694         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
37695         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
37696         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
37697         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
37698         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
37699         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
37700         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
37701         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
37702         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
37703         Add more languages and countries for Sami, Sorbian. Add more countries
37704         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
37705         for Pashto. Change country for Syriac, Tswana.
37706
37707 2009-12-21  Eric Blake  <ebb9@byu.net>
37708
37709         test-utimens: avoid spurious failure
37710         * tests/test-chown.h (nap): Factor...
37711         * tests/nap.h: ...into new file.
37712         * tests/test-lchown.h (nap): Avoid duplication.
37713         * tests/test-utimens-common.h (nap): Use shared implementation,
37714         necessary on file systems with 1-second resolution.
37715         * modules/chown-tests (Files): Include new file.
37716         * modules/fdutimensat-tests (Files): Likewise.
37717         * modules/futimens-tests (Files): Likewise.
37718         * modules/lchown-tests (Files): Likewise.
37719         * modules/openat-tests (Files): Likewise.
37720         * modules/utimens-tests (Files): Likewise.
37721         * modules/utimensat-tests (Files): Likewise.
37722
37723 2009-12-19  Eric Blake  <ebb9@byu.net>
37724
37725         futimens, utimensat: work around Linux bug
37726         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
37727         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37728         * lib/utimensat.c (rpl_utimensat): Work around it.
37729         * lib/futimens.c (rpl_futimens): Adjust comment.
37730
37731         utimens: work around Linux ctime bug
37732         * lib/utimens.c (detect_ctime_bug): New helper function.
37733         (update_timespec): Differentiate between workaround needed for
37734         this bug vs. what is needed for systems that lack utimensat.
37735         (fdutimens, lutimens): Work around bug.
37736
37737         utimens: check for ctime update
37738         * tests/test-utimens-common.h (check_ctime): Define.
37739         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
37740         * tests/test-futimens.h (test_futimens): Likewise.
37741         * tests/test-lutimens.h (test_lutimens): Likewise.
37742         * doc/posix-functions/futimens.texi (futimens): Document the bug.
37743         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37744
37745 2009-12-19  Bruno Haible  <bruno@clisp.org>
37746
37747         dprintf-posix: Check against memory leak fixed on 2009-12-15.
37748         * tests/test-dprintf-posix2.sh: New file.
37749         * tests/test-dprintf-posix2.c: New file.
37750         * modules/dprintf-posix-tests (Files): Add them.
37751         (configure.ac): Check for getrlimit and setrlimit.
37752         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
37753
37754 2009-12-19  Bruno Haible  <bruno@clisp.org>
37755
37756         fprintf-posix: Check against memory leak fixed on 2009-12-15.
37757         * tests/test-fprintf-posix3.sh: New file.
37758         * tests/test-fprintf-posix3.c: New file.
37759         * modules/fprintf-posix-tests (Files): Add them.
37760         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
37761
37762 2009-12-19  Eric Blake  <ebb9@byu.net>
37763
37764         dirfd: fix prototype
37765         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
37766         * lib/dirfd.c (dirfd): Likewise.
37767
37768         canonicalize: reduce memory usage
37769         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
37770         allocation to size.
37771         Reported by Solar Designer <solar@openwall.com>.
37772
37773 2009-12-19  Bruno Haible  <bruno@clisp.org>
37774
37775         New module attribute 'Applicability'.
37776         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
37777         * gnulib-tool: New option --extract-applicability.
37778         (func_usage): Document it.
37779         (sed_extract_prog): Recognize it.
37780         (func_get_applicability): New function.
37781         (func_import): Generalize handling of 'link-warning' module.
37782         * modules/link-warning (Applicability): New section.
37783         * modules/arg-nonnull (Applicability): New section.
37784         Repoted by Simon Josefsson <simon@josefsson.org>.
37785
37786 2009-12-19  Bruno Haible  <bruno@clisp.org>
37787
37788         fflush: tweak
37789         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
37790         * lib/fseeko.c (rpl_fseeko): Likewise.
37791
37792 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
37793
37794         * lib/gl_list.h: Fix typo in comment.
37795
37796 2009-12-16  Eric Blake  <ebb9@byu.net>
37797
37798         fcntl: use to simplify other modules
37799         * modules/cloexec (Depends-on): Add fcntl.
37800         * modules/fchdir (Depends-on): Likewise.
37801         * modules/fd-safer-flag (Depends-on): Likewise.
37802         * modules/unistd-safer (Depends-on): Likewise.
37803         * modules/dup3 (configure.ac): Set module indicator.
37804         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
37805         missing.
37806         * lib/fchdir.c (_gl_register_dup): Fix comment.
37807         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
37808         * lib/dup-safer.c (dup_safer): Likewise.
37809         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
37810         * lib/dup3.c (dup3): Likewise.
37811         * tests/test-fchdir.c (main): Enhance test.
37812         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
37813
37814         fcntl: port portions of fcntl to mingw
37815         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
37816         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
37817         replacement for mingw.
37818         * modules/fcntl (Description): Update.
37819         (Depends-on): Add dup2.
37820         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
37821         * modules/fcntl-h (Makefile.am): Substitute it.
37822         * lib/fcntl.in.h (fcntl): Update declaration.
37823         (F_DUPFD, F_GETFD): New macros, when needed.
37824         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
37825         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
37826         * tests/test-fcntl.c (check_flags, main): Enhance test for items
37827         we now guarantee.
37828
37829         fcntl: work around cygwin bug in F_DUPFD
37830         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
37831         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
37832         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
37833         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
37834         * doc/posix-functions/fcntl.texi (fcntl): Document it.
37835
37836         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
37837         * modules/fcntl (Files): List new files.
37838         (configure.ac): Run a test.
37839         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
37840         * lib/fcntl.c (rpl_fcntl): Likewise.
37841         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
37842         (gl_FCNTL_H): Always replace fcntl.h.
37843         * modules/fcntl-h (Makefile.am): Substitute witnesses.
37844         * lib/fcntl.in.h (fcntl): Declare replacement.
37845         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
37846         needed, plus a witness.
37847         * doc/posix-functions/fcntl.texi (fcntl): Document this.
37848         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
37849         * tests/test-fcntl.c: New file.
37850         * modules/fcntl-tests: Likewise.
37851
37852         binary-io: avoid potential compilation warning
37853         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
37854         directives.
37855
37856         fflush: avoid compilation error on NetBSD
37857         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
37858         between off_t and fpos_t, since the latter is sometimes a struct.
37859         * lib/fseeko.c (rpl_fseeko): Likewise.
37860         Reported by Alexander Nasonov <alnsn@yandex.ru>.
37861
37862 2009-12-15  Eric Blake  <ebb9@byu.net>
37863
37864         fcntl-h, stdio, sys_ioctl: fix declarations
37865         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
37866         function must not take arguments.
37867         * lib/sys_ioctl.in.h (ioctl): Likewise.
37868         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
37869         (open): Add a link warning.
37870
37871 2009-12-15  Jim Meyering  <meyering@redhat.com>
37872
37873         areadlink, areadlink-with-size: relax license to LGPLv2+
37874         * modules/areadlink (License): Relax to LGPLv2+.
37875         * modules/areadlink-with-size (License): Likewise.
37876
37877 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
37878             Bruno Haible  <bruno@clisp.org>
37879
37880         *printf: Fix memory leak.
37881         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
37882         * lib/vfprintf.c (vfprintf): Likewise.
37883         * lib/dprintf.c (dprintf): Likewise.
37884         * lib/vdprintf.c (vdprintf): Likewise.
37885
37886 2009-12-14  Eric Blake  <ebb9@byu.net>
37887
37888         accept4: adjust module dependencies
37889         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
37890
37891         utimens: one more try at avoiding compiler warning
37892         * lib/utimens.c (lutimens): Lower scope of result.
37893
37894 2009-12-13  Bruno Haible  <bruno@clisp.org>
37895
37896         Move the malloc checking from module 'list' to new module 'xlist'.
37897         * modules/xlist: New file.
37898         * lib/gl_xlist.h: New file.
37899         * lib/gl_xlist.c: New file.
37900         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
37901         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
37902         gl_list_add_last, gl_list_add_before, gl_list_add_after,
37903         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
37904         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
37905         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
37906         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
37907         gl_sortedlist_nx_add): New declarations.
37908         (struct gl_list_implementation): Rename and change methods accordingly.
37909         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
37910         (gl_list_nx_create): Renamed from gl_list_create.
37911         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
37912         (gl_list_nx_set_at): Renamed from gl_list_set_at.
37913         (gl_list_nx_add_first): Renamed from gl_list_add_first.
37914         (gl_list_nx_add_last): Renamed from gl_list_add_last.
37915         (gl_list_nx_add_before): Renamed from gl_list_add_before.
37916         (gl_list_nx_add_after): Renamed from gl_list_add_after.
37917         (gl_list_nx_add_at): Renamed from gl_list_add_at.
37918         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
37919         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
37920         gl_list_create_empty.
37921         (gl_list_nx_create): Renamed from gl_list_create.
37922         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
37923         (gl_list_nx_set_at): Renamed from gl_list_set_at.
37924         (gl_list_nx_add_first): Renamed from gl_list_add_first.
37925         (gl_list_nx_add_last): Renamed from gl_list_add_last.
37926         (gl_list_nx_add_before): Renamed from gl_list_add_before.
37927         (gl_list_nx_add_after): Renamed from gl_list_add_after.
37928         (gl_list_nx_add_at): Renamed from gl_list_add_at.
37929         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
37930         * lib/gl_array_list.c: Don't include xalloc.h.
37931         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
37932         NULL upon out-of-memory.
37933         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
37934         out-of-memory.
37935         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
37936         Change return type to 'int'.
37937         (gl_array_nx_set_at): Renamed from gl_array_set_at.
37938         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
37939         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
37940         upon out-of-memory.
37941         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
37942         upon out-of-memory.
37943         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
37944         upon out-of-memory.
37945         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
37946         upon out-of-memory.
37947         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
37948         out-of-memory.
37949         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
37950         Update.
37951         (gl_array_list_implementation): Update.
37952         * lib/gl_carray_list.c: Don't include xalloc.h.
37953         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
37954         Return NULL upon out-of-memory.
37955         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
37956         out-of-memory.
37957         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
37958         Change return type to 'int'.
37959         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
37960         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
37961         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
37962         upon out-of-memory.
37963         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
37964         upon out-of-memory.
37965         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
37966         out-of-memory.
37967         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
37968         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
37969         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
37970         Update.
37971         (gl_carray_list_implementation): Update.
37972         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
37973         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
37974         gl_linked_create_empty. Return NULL upon out-of-memory.
37975         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
37976         out-of-memory.
37977         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
37978         Change return type to 'int'. Return -1 upon out-of-memory.
37979         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
37980         out-of-memory.
37981         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
37982         upon out-of-memory.
37983         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
37984         upon out-of-memory.
37985         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
37986         NULL upon out-of-memory.
37987         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
37988         upon out-of-memory.
37989         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
37990         out-of-memory.
37991         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
37992         Update.
37993         * lib/gl_linked_list.c: Don't include xalloc.h.
37994         (gl_linked_list_implementation): Update.
37995         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
37996         (add_to_bucket): Change return type to 'int'.
37997         (gl_linkedhash_list_implementation): Update.
37998         * lib/gl_anytree_list1.h (free_subtree): New function.
37999         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
38000         gl_tree_create_empty. Return NULL upon out-of-memory.
38001         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
38002         Change return type to 'int'. Return -1 upon out-of-memory.
38003         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
38004         out-of-memory.
38005         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
38006         (gl_tree_remove_node): New function, moved here from
38007         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
38008         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
38009         Update.
38010         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
38011         malloc, not xmalloc. Return NULL upon out-of-memory.
38012         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
38013         out-of-memory.
38014         (gl_tree_remove_node_from_tree): New function, extracted from
38015         gl_tree_remove_node.
38016         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
38017         upon out-of-memory.
38018         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
38019         out-of-memory.
38020         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
38021         upon out-of-memory.
38022         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
38023         upon out-of-memory.
38024         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
38025         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
38026         not xmalloc. Return NULL upon out-of-memory.
38027         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
38028         out-of-memory.
38029         (gl_tree_remove_node_from_tree): New function, extracted from
38030         gl_tree_remove_node.
38031         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
38032         upon out-of-memory.
38033         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
38034         out-of-memory.
38035         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
38036         upon out-of-memory.
38037         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
38038         upon out-of-memory.
38039         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
38040         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
38041         gl_anytree_list1.h before gl_anyavltree_list2.h.
38042         (gl_avltree_list_implementation): Update.
38043         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
38044         gl_anytree_list1.h before gl_anyavltree_list2.h.
38045         (gl_rbtree_list_implementation): Update.
38046         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
38047         Change return type to 'int'. Return -1 upon out-of-memory. Use
38048         __builtin_expect.
38049         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
38050         (gl_avltreehash_list_implementation): Update.
38051         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
38052         (gl_rbtreehash_list_implementation): Update.
38053         * modules/array-list (Depends-on): Remove xalloc.
38054         * modules/carray-list (Depends-on): Likewise.
38055         * modules/linked-list (Depends-on): Likewise.
38056         * modules/linkedhash-list (Depends-on): Likewise.
38057         * modules/avltree-list (Depends-on): Likewise.
38058         * modules/rbtree-list (Depends-on): Likewise.
38059         * modules/avltreehash-list (Depends-on): Likewise.
38060         * modules/rbtreehash-list (Depends-on): Likewise.
38061
38062         * modules/xsublist: New file.
38063         * lib/gl_xsublist.h: New file.
38064         * lib/gl_xsublist.c: New file.
38065         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
38066         (gl_sublist_nx_create): New declaration.
38067         * lib/gl_sublist.c: Don't include xalloc.h.
38068         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
38069         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
38070         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
38071         Change return type to 'int'. Return -1 upon out-of-memory.
38072         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
38073         upon out-of-memory.
38074         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
38075         NULL upon out-of-memory.
38076         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
38077         upon out-of-memory.
38078         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
38079         NULL upon out-of-memory.
38080         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
38081         NULL upon out-of-memory.
38082         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
38083         upon out-of-memory.
38084         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
38085         (gl_sublist_list_implementation): Update.
38086         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
38087         upon out-of-memory.
38088         * modules/sublist (Depends-on): Remove xalloc.
38089
38090         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
38091         * tests/test-carray_list.c: Likewise.
38092         * tests/test-linked_list.c: Likewise.
38093         * tests/test-linkedhash_list.c: Likewise.
38094         * tests/test-avltree_list.c: Likewise.
38095         * tests/test-rbtree_list.c: Likewise.
38096         * tests/test-avltreehash_list.c: Likewise.
38097         * tests/test-rbtreehash_list.c: Likewise.
38098         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
38099         * modules/carray-list-tests (Makefile.am): Likewise.
38100         * modules/linked-list-tests (Makefile.am): Likewise.
38101         * modules/linkedhash-list-tests (Makefile.am): Likewise.
38102         * modules/avltree-list-tests (Makefile.am): Likewise.
38103         * modules/rbtree-list-tests (Makefile.am): Likewise.
38104         * modules/avltreehash-list-tests (Makefile.am): Likewise.
38105         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
38106
38107         * NEWS: Mention the changes.
38108
38109         * lib/clean-temp.c: Include gl_xlist.h.
38110         * modules/clean-temp (Depends-on): Add xlist.
38111
38112         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
38113         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
38114
38115         * tests/test-array_oset.c: Include gl_xlist.h.
38116         * modules/array-oset-tests (Depends-on): Add xlist.
38117
38118         Reported by José E. Marchesi <jemarch@gnu.org>.
38119
38120 2009-12-13  Bruno Haible  <bruno@clisp.org>
38121
38122         Move the malloc checking from module 'oset' to new module 'xoset'.
38123         * modules/xoset: New file.
38124         * lib/gl_xoset.h: New file.
38125         * lib/gl_xoset.c: New file.
38126         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
38127         declarations.
38128         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
38129         (struct gl_oset_implementation): Rename and change methods accordingly.
38130         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
38131         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
38132         'int'. Mark as __warn_unused_result__.
38133         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
38134         gl_oset_create_empty.
38135         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
38136         'int'.
38137         * lib/gl_array_oset.c: Don't include xalloc.h.
38138         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
38139         malloc, not xmalloc.
38140         (grow): Change return type to 'int'. Don't call xalloc_die.
38141         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
38142         to 'int'.
38143         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
38144         'int'.
38145         (gl_array_oset_implementation): Update.
38146         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
38147         gl_tree_create_empty.
38148         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
38149         'int'.
38150         * lib/gl_avltree_oset.c: Don't include xalloc.h.
38151         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
38152         xmalloc.
38153         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
38154         not xmalloc.
38155         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
38156         xmalloc.
38157         (gl_avltree_oset_implementation): Update.
38158         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
38159         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
38160         xmalloc.
38161         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
38162         not xmalloc.
38163         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
38164         xmalloc.
38165         (gl_rbtree_oset_implementation): Update.
38166         * modules/array-oset (Depends-on): Remove xalloc.
38167         * modules/avltree-oset (Depends-on): Likewise.
38168         * modules/rbtree-oset (Depends-on): Likewise.
38169         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
38170         * tests/test-avltree_oset.c: Likewise.
38171         * tests/test-rbtree_oset.c: Likewise.
38172         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
38173         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
38174         * modules/rbtree-oset-tests (Makefile.am): Likewise.
38175         * NEWS: Mention the change.
38176
38177 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
38178
38179         maint.mk: allow a project to override release-prep commands
38180         * top/maint.mk (alpha, beta, stable): Move release-preparatory
38181         commands into a new rule.
38182         (release-prep): New rule.
38183         (release-prep-hook): New overridable variable.
38184
38185 2009-12-13  Bruno Haible  <bruno@clisp.org>
38186
38187         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
38188
38189 2009-12-13  Jim Meyering  <meyering@redhat.com>
38190
38191         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
38192         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
38193
38194 2009-12-12  Bruno Haible  <bruno@clisp.org>
38195
38196         duplocale: Tweak.
38197         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
38198
38199 2009-12-12  Karl Berry  <karl@gnu.org>
38200
38201         * config/srclist.txt (strtoll.c): tab changes, no more sync.
38202
38203 2009-12-12  Bruno Haible  <bruno@clisp.org>
38204
38205         * m4/po.m4: Undo incorrect untabification.
38206
38207 2009-12-12  Bruno Haible  <bruno@clisp.org>
38208
38209         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
38210         * modules/c-strtod (Depends-on): Add locale.
38211         * modules/c-strtold (Depends-on): Likewise.
38212
38213 2009-12-12  Bruno Haible  <bruno@clisp.org>
38214
38215         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
38216
38217 2009-12-11  Eric Blake  <ebb9@byu.net>
38218
38219         setenv: relax requirement in light of POSIX ruling
38220         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
38221         not NULL.
38222         * tests/test-setenv.c (main): Relax test.
38223         * tests/test-unsetenv.c (main): Likewise.
38224         * doc/posix-functions/setenv.texi (setenv): Document this.
38225         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
38226
38227 2009-12-11  Bruno Haible  <bruno@clisp.org>
38228
38229         New module 'fd-safer-flag'.
38230         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
38231         * lib/dup-safer.c (dup_safer_flag): Remove function.
38232         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
38233         * lib/fd-safer.c (fd_safer_flag): Remove function.
38234         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
38235         * modules/cloexec (configure.ac): Drop indicator macro.
38236         * modules/fd-safer-flag: New file.
38237         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
38238         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
38239         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
38240
38241 2009-12-11  Bruno Haible  <bruno@clisp.org>
38242
38243         Tests for module 'nl_langinfo'.
38244         * modules/nl_langinfo-tests: New file.
38245         * tests/test-nl_langinfo.sh: New file.
38246         * tests/test-nl_langinfo.c: New file.
38247
38248         New module 'nl_langinfo'.
38249         * lib/nl_langinfo.c: New file.
38250         * m4/nl_langinfo.m4: New file.
38251         * modules/nl_langinfo: New file.
38252         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
38253
38254 2009-12-11  Bruno Haible  <bruno@clisp.org>
38255
38256         Tests for module 'langinfo'.
38257         * modules/langinfo-tests: New file.
38258         * tests/test-langinfo.c: New file.
38259
38260         New module 'langinfo'.
38261         * lib/langinfo.in.h: New file.
38262         * m4/langinfo_h.m4: New file.
38263         * modules/langinfo: New file.
38264         * doc/posix-headers/langinfo.texi: Mention the new module.
38265
38266 2009-12-11  Bruno Haible  <bruno@clisp.org>
38267
38268         * lib/config.charset: Untabify.
38269
38270 2009-12-11  Bruno Haible  <bruno@clisp.org>
38271
38272         * modules/unistd-safer (configure.ac): Drop indicator macro.
38273
38274 2009-12-11  Bruno Haible  <bruno@clisp.org>
38275
38276         Move pipe2-safer code to its own file.
38277         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
38278         * lib/pipe-safer.c (pipe2_safer): Remove function.
38279         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
38280         (Makefile.am): Add it to lib_SOURCES.
38281
38282 2009-12-10  Bruno Haible  <bruno@clisp.org>
38283
38284         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
38285
38286 2009-12-10  Bruno Haible  <bruno@clisp.org>
38287
38288         Declare which arguments expect non-NULL values, for GCC and clang.
38289         * build-aux/arg-nonnull.h: New file.
38290         * modules/arg-nonnull: New file.
38291         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
38292         (inet_ntop, inet_pton): Use it.
38293         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
38294         (closedir, dirfd, opendir, scandir, alphasort): Use it.
38295         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
38296         (open, openat): Use it.
38297         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
38298         (fnmatch): Use it.
38299         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
38300         (getopt, getopt_long, getopt_long_only): Use it.
38301         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
38302         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
38303         Use it.
38304         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
38305         (iconv_open): Use it.
38306         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
38307         (strtoimax, strtoumax): Use it.
38308         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
38309         (duplocale): Use it.
38310         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
38311         (frexp, frexpl): Use it.
38312         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
38313         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
38314         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
38315         (tsearch, tfind, tdelete, twalk): Use it.
38316         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
38317         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
38318         sigpending): Use it.
38319         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
38320         (posix_spawn, posix_spawnp, posix_spawnattr_init,
38321         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
38322         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
38323         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
38324         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
38325         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
38326         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
38327         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
38328         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
38329         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
38330         Use it.
38331         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
38332         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
38333         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
38334         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
38335         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
38336         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
38337         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
38338         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
38339         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
38340         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
38341         strtoull, unsetenv): Use it.
38342         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
38343         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
38344         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
38345         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
38346         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
38347         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
38348         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
38349         (strcasecmp, strncasecmp): Use it.
38350         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
38351         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
38352         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
38353         rpl_setsockopt): Use it.
38354         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
38355         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
38356         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
38357         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
38358         (gettimeofday): Use it.
38359         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
38360         (times): Use it.
38361         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
38362         (uname): Use it.
38363         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
38364         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
38365         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
38366         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
38367         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
38368         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
38369         unlinkat, write): Use it.
38370         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
38371         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
38372         * lib/argv-iter.h: Include arg-nonnull.h.
38373         (_ATTRIBUTE_NONNULL_): Remove macro.
38374         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
38375         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
38376         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
38377         optimization.
38378         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
38379         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
38380         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
38381         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
38382         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
38383         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
38384         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
38385         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
38386         * modules/arpa_inet (Depends-on): Add arg-nonnull.
38387         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
38388         * modules/dirent (Depends-on): Add arg-nonnull.
38389         (Makefile.am): Insert arg-nonnull.h into dirent.h.
38390         * modules/fcntl-h (Depends-on): Add arg-nonnull.
38391         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
38392         * modules/fnmatch (Depends-on): Add arg-nonnull.
38393         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
38394         * modules/getopt-posix (Depends-on): Add arg-nonnull.
38395         (Makefile.am): Insert arg-nonnull.h into getopt.h.
38396         * modules/glob (Depends-on): Add arg-nonnull.
38397         (Makefile.am): Insert arg-nonnull.h into glob.h.
38398         * modules/iconv_open (Depends-on): Add arg-nonnull.
38399         (Makefile.am): Insert arg-nonnull.h into iconv.h.
38400         * modules/inttypes (Depends-on): Add arg-nonnull.
38401         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
38402         * modules/locale (Depends-on): Add arg-nonnull.
38403         (Makefile.am): Insert arg-nonnull.h into locale.h.
38404         * modules/math (Depends-on): Add arg-nonnull.
38405         (Makefile.am): Insert arg-nonnull.h into math.h.
38406         * modules/netdb (Depends-on): Add arg-nonnull.
38407         (Makefile.am): Insert arg-nonnull.h into netdb.h.
38408         * modules/search (Depends-on): Add arg-nonnull.
38409         (Makefile.am): Insert arg-nonnull.h into search.h.
38410         * modules/signal (Depends-on): Add arg-nonnull.
38411         (Makefile.am): Insert arg-nonnull.h into signal.h.
38412         * modules/spawn (Depends-on): Add arg-nonnull.
38413         (Makefile.am): Insert arg-nonnull.h into spawn.h.
38414         * modules/stdio (Depends-on): Add arg-nonnull.
38415         (Makefile.am): Insert arg-nonnull.h into stdio.h.
38416         * modules/stdlib (Depends-on): Add arg-nonnull.
38417         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
38418         * modules/string (Depends-on): Add arg-nonnull.
38419         (Makefile.am): Insert arg-nonnull.h into string.h.
38420         * modules/strings (Depends-on): Add arg-nonnull.
38421         (Makefile.am): Insert arg-nonnull.h into strings.h.
38422         * modules/sys_socket (Depends-on): Add arg-nonnull.
38423         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
38424         * modules/sys_stat (Depends-on): Add arg-nonnull.
38425         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
38426         * modules/sys_time (Depends-on): Add arg-nonnull.
38427         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
38428         * modules/sys_times (Depends-on): Add arg-nonnull.
38429         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
38430         * modules/sys_utsname (Depends-on): Add arg-nonnull.
38431         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
38432         * modules/time (Depends-on): Add arg-nonnull.
38433         (Makefile.am): Insert arg-nonnull.h into time.h.
38434         * modules/unistd (Depends-on): Add arg-nonnull.
38435         (Makefile.am): Insert arg-nonnull.h into unistd.h.
38436         * modules/wchar (Depends-on): Add arg-nonnull.
38437         (Makefile.am): Insert arg-nonnull.h into wchar.h.
38438         * modules/argv-iter (Depends-on): Add arg-nonnull.
38439         * tests/test-canonicalize.c (null_ptr): New function.
38440         (main): Use it.
38441         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
38442         (main): Use it.
38443         * tests/test-memmem.c (null_ptr): New function.
38444         (main): Use it.
38445         Reported by Jim Meyering.
38446
38447 2009-12-10  Bruno Haible  <bruno@clisp.org>
38448
38449         Use spaces for indentation, not tabs.
38450         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
38451         * m4/*.m4: Untabify.
38452         * build-aux/*.h: Untabify.
38453         * tests/**/*.[hc]: Untabify.
38454         * README: New section "Indent with spaces, not TABs", based on
38455         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
38456         * NEWS: Mention the change.
38457
38458 2009-12-10  Bruno Haible  <bruno@clisp.org>
38459
38460         pty test: Fix link error.
38461         * modules/pty-tests (Makefile.am): Add the default LDADD value to
38462         test_pty_LDADD.
38463
38464 2009-12-07  Simon Josefsson  <simon@josefsson.org>
38465
38466         * modules/pty: New file.
38467         * modules/pty-tests: New file.
38468         * m4/pty.m4: New file.
38469         * tests/test-pty.c: New file.
38470         * doc/glibc-headers/pty.texi: Modified.
38471         * doc/glibc-functions/forkpty.texi: Modified.
38472         * doc/glibc-functions/openpty.texi: Modified.
38473
38474 2009-12-10  Bruno Haible  <bruno@clisp.org>
38475
38476         Avoid syntax error in C++ mode.
38477         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
38478
38479 2009-12-10  Bruno Haible  <bruno@clisp.org>
38480
38481         Use sed with option -e.
38482         * gnulib-tool (func_version, func_emit_copyright_notice,
38483         func_emit_initmacro_end, func_import, func_create_testdir): Pass
38484         option -e to sed.
38485         * modules/link-warning (Makefile.am): Likewise.
38486
38487 2009-12-10  Jim Meyering  <meyering@redhat.com>
38488
38489         mgetgroups: do not write bytes beyond end of malloc'd buffer
38490         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
38491         username, we call getgroups with a one-element-shorter buffer,
38492         but still told it the length was original, max_n_groups.
38493
38494 2009-12-09  Eric Blake  <ebb9@byu.net>
38495
38496         cloexec: relax license
38497         * modules/cloexec (Maintainer): Add myself.
38498         (License): Use LGPL, not GPL.
38499
38500         link-warning: optimize generation
38501         * modules/link-warning (Makefile.am): Reduce process usage.
38502
38503 2009-12-09  Bruno Haible  <bruno@clisp.org>
38504
38505         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
38506         workaround was added on 2009-11-17.
38507
38508 2009-12-09  Jim Meyering  <meyering@redhat.com>
38509             Bruno Haible  <bruno@clisp.org>
38510
38511         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
38512         * modules/link-warning (Makefile.am): Make the comment-removing sed
38513         command more robust in the face of bootstrap-prepended comment lines.
38514
38515 2009-12-09  Bruno Haible  <bruno@clisp.org>
38516
38517         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
38518         most one group.
38519
38520 2009-12-09  Simon Josefsson <simon@josefsson.org>
38521             Bruno Haible  <bruno@clisp.org>
38522
38523         * build-aux/link-warning.h: Add copyright notice.
38524         * modules/link-warning (Makefile.am): Generate link-warning.h from
38525         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
38526         * NEWS: Mention change in link-warning module.
38527         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
38528         * modules/dirent (Makefile.am): Add dependency to dirent.h.
38529         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
38530         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
38531         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
38532         * modules/math (Makefile.am): Add dependency to math.h.
38533         * modules/search (Makefile.am): Add dependency to search.h.
38534         * modules/signal (Makefile.am): Add dependency to signal.h.
38535         * modules/spawn (Makefile.am): Add dependency to spawn.h.
38536         * modules/stdio (Makefile.am): Add dependency to stdio.h.
38537         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
38538         * modules/string (Makefile.am): Add dependency to string.h.
38539         * modules/strings (Makefile.am): Add dependency to strings.h.
38540         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
38541         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
38542         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
38543         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
38544         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
38545         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
38546         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
38547         * modules/unistd (Makefile.am): Add dependency to unistd.h.
38548         * modules/wchar (Makefile.am): Add dependency to wchar.h.
38549
38550 2009-12-09  Bruno Haible  <bruno@clisp.org>
38551
38552         fchdir: Optimize away rpl_fstat when possible.
38553         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
38554         REPLACE_OPEN_DIRECTORY.
38555         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
38556
38557 2009-12-09  Bruno Haible  <bruno@clisp.org>
38558
38559         * lib/fchdir.c: Update comment.
38560
38561 2009-12-09  Bruno Haible  <bruno@clisp.org>
38562
38563         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
38564
38565 2009-12-08  Eric Blake  <ebb9@byu.net>
38566
38567         fchdir: avoid memory leak on re-registration.
38568         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
38569
38570 2009-12-08  Jim Meyering  <meyering@redhat.com>
38571
38572         init.sh: avoid Solaris 10 /bin/sh portability problem
38573         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
38574         sourced script:
38575           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
38576           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
38577           bar
38578         tests/init.sh relied on that, accepting a --set-path=DIR argument,
38579         and two tests used that idiom.
38580         * tests/init.sh: Update suggested usage comments.
38581         (path_prepend_): New function, to be used in place
38582         of the --src-path=DIR option.
38583         (setup_): Move PATH-prepending code into path_prepend_.
38584         * tests/test-pread.sh: Adapt to new usage.
38585         * tests/test-xalloc-die.sh: Likewise.
38586
38587 2009-12-08  Simon Josefsson  <simon@josefsson.org>
38588
38589         * doc/gnulib.texi (Glibc pty.h): Add.
38590         * doc/glibc-functions/forkpty.texi: Add.
38591         * doc/glibc-functions/openpty.texi: Add.
38592         Suggested by Bruno Haible.
38593
38594 2009-12-08  Eric Blake  <ebb9@byu.net>
38595
38596         fchdir: fix logic bugs
38597         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
38598         * tests/test-fchdir.c (main): Enhance test.
38599         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
38600         is in use.
38601
38602         dup2: fix logic bugs
38603         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
38604         REPLACE_DUP2 to decide when rpl_dup2 is needed.
38605         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
38606         exists.
38607         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
38608
38609 2009-12-07  Eric Blake  <ebb9@byu.net>
38610
38611         unlink: fix m4 detection
38612         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
38613
38614         unistd-safer: add unit test
38615         * modules/unistd-safer-tests: New file.
38616         * tests/test-dup-safer.c: Likewise.
38617         * tests/test-cloexec.c (setmode): Avoid compiler warning.
38618         * tests/test-dup2.c (setmode): Likewise.
38619         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
38620
38621         cloexec: preserve text vs. binary across dup_cloexec
38622         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
38623         mode.
38624         * modules/dup2-tests (Depends-on): Add binary-io.
38625         * modules/cloexec-tests (Depends-on): Likewise.
38626         * tests/test-dup2.c (setmode, is_mode): New helpers.
38627         (main): Add tests that translation mode is preserved.
38628         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
38629         Reported by Bruno Haible.
38630
38631         mgetgroups: reduce duplicate listings
38632         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
38633         resulting array.
38634         * tests/test-chown.h (test_chown): Simplify client.
38635         * tests/test-lchown.h (test_lchown): Likewise.
38636
38637 2009-12-06  Bruno Haible  <bruno@clisp.org>
38638
38639         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
38640         value.
38641
38642 2009-12-06  Bruno Haible  <bruno@clisp.org>
38643
38644         * lib/progname.c: Include stdio.h, stdlib.h.
38645         (set_program_name): Reject a NULL argument.
38646
38647 2009-12-05  Eric Blake  <ebb9@byu.net>
38648
38649         pipe2-safer: new module
38650         * modules/pipe2-safer: New file.
38651         * lib/unistd-safer.h (pipe2_safer): New prototype.
38652         * lib/unistd--.h (pipe2): New wrapper.
38653         * lib/pipe-safer.c (pipe2_safer): New function.
38654         * modules/pipe (Depends-on): Add pipe2-safer.
38655         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
38656
38657         stdlib-safer: preserve cloexec flag for mkostemp[s]
38658         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
38659         fd_safer_flag.
38660
38661         unistd-safer: allow preservation of cloexec status via flag
38662         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
38663         prototypes.
38664         * lib/dup-safer.c (dup_safer_flag): New function.
38665         * lib/fd-safer.c (fd_safer_flag): Likewise.
38666         * modules/cloexec (configure.ac): Set witness.
38667
38668         test-dup2: enhance test
38669         * modules/dup2-tests (Depends-on): Add cloexec.
38670         * tests/test-dup2.c (main): Enhance test.
38671
38672         cloexec: add dup_cloexec
38673         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
38674         header and comments.
38675         * lib/cloexec.c (set_cloexec_flag): Add comments.
38676         (dup_cloexec): New function, with mingw implementation borrowed
38677         from...
38678         * lib/w32spawn.h (dup_noinherit): ...here.
38679         * modules/execute (Depends-on): Add cloexec.
38680         * modules/pipe (Depends-on): Likewise.
38681         * modules/cloexec (Depends-on): Add dup2.
38682         * modules/cloexec-tests (Files): New file.
38683         * tests/test-cloexec.c: Likewise.
38684
38685         test-xalloc-die: fix test for mingw
38686         * modules/xalloc-die-tests (Files): Add tests/init.sh.
38687         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
38688         directory and .exe suffix off argv[0] output.
38689
38690         test-fseeko: fix test for mingw
38691         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
38692         than undefining fseek, so test will pass on mingw.
38693
38694 2009-12-05  Bruno Haible  <bruno@clisp.org>
38695
38696         * lib/progname.h (set_program_name): Clarify specification.
38697         * lib/progname.c (set_program_name): Likewise.
38698         Reported by Jim Meyering.
38699
38700 2009-12-05  Jim Meyering  <meyering@redhat.com>
38701
38702         maint.mk: backslash-escape parens in default regexp
38703         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
38704         backslash-escape the literal parentheses.
38705
38706         maint.mk: news-date-check: use grep -E
38707         * top/maint.mk (today): Define a Make variable, not a...
38708         (news-date-check): ...shell variable.
38709         (news-date-regexp): Use the Make variable.
38710         Use grep's -E option.  Change the failing diagnostic to mention
38711         the variable, $(news-date-regexp).
38712
38713 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
38714
38715         maintainer-makefile: allow customization of NEWS entry format
38716         * top/maint.mk (news-date-regexp): New overridable variable.
38717         (news-date-check): Use it.
38718
38719 2009-12-04  Eric Blake  <ebb9@byu.net>
38720
38721         mgetgroups: add xgetgroups, and avoid ENOSYS failures
38722         * lib/mgetgroups.h (xgetgroups): New prototype.
38723         * lib/mgetgroups.c (xgetgroups): New wrapper.
38724         (mgetgroups): Handle ENOSYS.
38725         * modules/mgetgroups (Depends-on): Add realloc.
38726         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
38727
38728         mgetgroups: avoid argument promotion issues with -1
38729         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
38730         for invalid gid_t.
38731         * tests/test-chown.h (getegid, test_chown): Likewise.
38732         * tests/test-lchown.h (getegid, test_lchown): Likewise.
38733
38734 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
38735
38736         exclude: Fix header file problems.
38737         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
38738
38739 2009-12-01  Jim Meyering  <meyering@redhat.com>
38740
38741         fts: fts_open: do not let an empty string cause immediate failure
38742         This is required in support of GNU rm, for which the command
38743         "rm A '' B" must process and remove both A and B, in spite of
38744         the empty string argument.
38745         * lib/fts.c (fts_open): Do not let the presence of an empty string
38746         cause fts_open to fail immediately.  Most fts-using tools must be
38747         able to process all arguments, in order, and can be expected to
38748         diagnose such arguments themselves.
38749
38750 2009-11-30  Eric Blake  <ebb9@byu.net>
38751
38752         utimens: fix compilation error
38753         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
38754         Declare variable at right scope.
38755
38756 2009-11-29  Jim Meyering  <meyering@redhat.com>
38757
38758         bootstrap: handle perl-5.11's changed --version output
38759         * build-aux/bootstrap (get_version): Handle perl separately,
38760         since perl-5.11's --version output is different.
38761
38762 2009-11-28  Jim Meyering  <meyering@redhat.com>
38763
38764         userspec: depend on the inttostr module, too
38765         * modules/userspec (Depends-on): Add inttostr.
38766
38767         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
38768         * lib/userspec.c (parse_with_separator): Do not accept a user ID
38769         number of MAXUID when it evaluates to (uid_t) -1.
38770         Likewise for group ID.  Reported by Matt McCutchen in
38771         <http://savannah.gnu.org/bugs/?28113>
38772
38773         userspec: reformat to use spaces, not TABs
38774         * lib/userspec.c: Expand TABs to spaces.
38775         Add Emacs' "indent-tabs-mode: nil" hint.
38776
38777 2009-11-27  Eric Blake  <ebb9@byu.net>
38778
38779         getopt-gnu: flush out another BSD bug
38780         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
38781         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
38782         flush out BSD bug.
38783         * tests/test-getopt.h (test_getopt): End lists with NULL.
38784         * tests/test-getopt_long.h (test_getopt_long): Likewise.
38785         (test_getopt_long_posix): Enhance test.
38786         * modules/getopt-posix-tests (Depends-on): Add stdbool.
38787         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
38788         getopt-gnu.
38789         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38790         Likewise.
38791
38792 2009-11-27  Simon Josefsson  <simon@josefsson.org>
38793
38794         * modules/idpriv-droptemp-tests (Notice): Fix text.
38795
38796 2009-11-27  Jim Meyering  <meyering@redhat.com>
38797
38798         test-xalloc-die: avoid spurious failure due to libtool argv difference
38799         In a libtool-enabled project, this test would fail due to a difference
38800         in the emitted program name, e.g.,
38801         -test-xalloc-die: memory exhausted
38802         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
38803         Use program to avoid that.
38804         * modules/xalloc-die-tests (Depends-on): Add progname.
38805         * tests/test-xalloc-die.c: Include progname.h".
38806         (program_name): Remove decl.
38807         (main): Call set_program_name.
38808         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
38809
38810 2009-11-26  Richard Jones  <rjones@redhat.com>
38811
38812         w32sock: leave win32 error in place.
38813         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
38814
38815 2009-11-26  Eric Blake  <ebb9@byu.net>
38816
38817         init.sh: suggest to use skip_ and fail_ functions in comments
38818         * tests/init.sh: Add a sentence.
38819
38820 2009-11-25  Bruno Haible  <bruno@clisp.org>
38821
38822         init.sh: add documentation in comments
38823         * tests/init.sh: Add some developer and user documentation.
38824
38825 2009-11-26  Jim Meyering  <meyering@redhat.com>
38826
38827         init.sh: accommodate even those who specify bogus srcdir manually
38828         * tests/init.sh: Normally, srcdir is guaranteed by automake and
38829         configure-time tests to be sanitized, so that there is no need to
38830         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
38831         (with no double quotes) suffices.  However, since tests may be
38832         invoked manually, and since you may explicitly set srcdir to the
38833         name of a directory containing spaces, do quote its uses here.
38834         * tests/test-pread.sh: Likewise.
38835         Suggested by Bruno Haible.
38836
38837         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
38838         * tests/test-pread.sh: Write no data into the pipe, because
38839         test-pread actually reads none.  This avoids a diagnostic,
38840         "bash: echo: write error: Broken pipe", that arises in the unusual
38841         event something is ignoring SIGPIPE, and might be interpreted
38842         as some sort of failure.  Reported by Bruno Haible.
38843
38844 2009-11-25  Jim Meyering  <meyering@redhat.com>
38845
38846         test-pread: cover failure with ESPIPE and EINVAL
38847         * tests/test-pread.c (main): Test for failure, too.
38848         * tests/test-pread.sh: Invoke with stdin on a pipe.
38849         Suggested by Eric Blake.
38850
38851         pread: improvement and fix
38852         * modules/pread (Depends-on): Depend on lseek, for portability to
38853         e.g., mingw.  Suggested by Eric Blake.
38854         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
38855
38856         unistd.in.h: correct declaration of pread
38857         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
38858         Reported by Richard W.M. Jones.
38859
38860         test-pread.sh: distribute the test script
38861         * modules/pread-tests (Files): Include test-pread.sh.
38862
38863         test-pread.sh: clean up
38864         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
38865         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
38866         That is unnecessary, since it's always ".".
38867         Suggestion from Eric Blake.
38868
38869         test-pread.sh: make executable
38870         * tests/test-pread.sh: Set executable bit.
38871         Reported by Eric Blake.
38872
38873         correct typo in test-pread.sh
38874         * tests/test-pread.sh: Add #! line.
38875
38876         test pread
38877         * tests/test-pread.c: New file.
38878         * tests/test-pread.sh: Likewise.
38879         * modules/pread-tests: Likewise.
38880
38881         pread: new module
38882         * modules/pread: New file.
38883         * lib/unistd.in.h (pread): Define/declare.
38884         * lib/pread.c (pread): New file.
38885         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
38886         * modules/unistd (Makefile.am): Substitute witnesses.
38887         * doc/posix-functions/pread.texi (pread): Update.
38888         * MODULES.html.sh: Add pread.
38889
38890 2009-11-25  Jim Meyering  <meyering@redhat.com>
38891
38892         tests/init.sh: new file to be used via most *.sh tests
38893         * tests/init.sh: New file.
38894
38895 2009-11-25  Eric Blake  <ebb9@byu.net>
38896
38897         utimens: work around older Linux failure with symlinks
38898         * lib/utimens.c (lutimensat_works_really): New variable.
38899         (fdutimens, lutimens): Use it to manage kernels that support
38900         nanosecond times on files, but not on symlinks.
38901         Reported by OndÅ™ej Vašík.
38902
38903         utimes: fix configure grammar
38904         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
38905
38906 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
38907
38908         regex: Fix fastmap for multibyte character ranges.
38909         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
38910         characters when a multibyte character range is included.
38911
38912 2009-11-22  Andy Wingo  <wingo@pobox.com>
38913
38914         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
38915         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
38916
38917 2009-11-24  Bruno Haible  <bruno@clisp.org>
38918
38919         doc: Most *_l functions exist in MacOS X 10.5.
38920         * doc/posix-functions/duplocale.texi: Update platforms list.
38921         * doc/posix-functions/freelocale.texi: Likewise.
38922         * doc/posix-functions/newlocale.texi: Likewise.
38923         * doc/posix-functions/uselocale.texi: Likewise.
38924         * doc/posix-functions/isalnum_l.texi: Likewise.
38925         * doc/posix-functions/isalpha_l.texi: Likewise.
38926         * doc/posix-functions/isblank_l.texi: Likewise.
38927         * doc/posix-functions/iscntrl_l.texi: Likewise.
38928         * doc/posix-functions/isdigit_l.texi: Likewise.
38929         * doc/posix-functions/isgraph_l.texi: Likewise.
38930         * doc/posix-functions/islower_l.texi: Likewise.
38931         * doc/posix-functions/isprint_l.texi: Likewise.
38932         * doc/posix-functions/ispunct_l.texi: Likewise.
38933         * doc/posix-functions/isspace_l.texi: Likewise.
38934         * doc/posix-functions/isupper_l.texi: Likewise.
38935         * doc/posix-functions/iswalnum_l.texi: Likewise.
38936         * doc/posix-functions/iswalpha_l.texi: Likewise.
38937         * doc/posix-functions/iswblank_l.texi: Likewise.
38938         * doc/posix-functions/iswcntrl_l.texi: Likewise.
38939         * doc/posix-functions/iswctype_l.texi: Likewise.
38940         * doc/posix-functions/iswdigit_l.texi: Likewise.
38941         * doc/posix-functions/iswgraph_l.texi: Likewise.
38942         * doc/posix-functions/iswlower_l.texi: Likewise.
38943         * doc/posix-functions/iswprint_l.texi: Likewise.
38944         * doc/posix-functions/iswpunct_l.texi: Likewise.
38945         * doc/posix-functions/iswspace_l.texi: Likewise.
38946         * doc/posix-functions/iswupper_l.texi: Likewise.
38947         * doc/posix-functions/iswxdigit_l.texi: Likewise.
38948         * doc/posix-functions/isxdigit_l.texi: Likewise.
38949         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
38950         * doc/posix-functions/strcasecmp_l.texi: Likewise.
38951         * doc/posix-functions/strcoll_l.texi: Likewise.
38952         * doc/posix-functions/strfmon_l.texi: Likewise.
38953         * doc/posix-functions/strftime_l.texi: Likewise.
38954         * doc/posix-functions/strncasecmp_l.texi: Likewise.
38955         * doc/posix-functions/strxfrm_l.texi: Likewise.
38956         * doc/posix-functions/tolower_l.texi: Likewise.
38957         * doc/posix-functions/toupper_l.texi: Likewise.
38958         * doc/posix-functions/towctrans_l.texi: Likewise.
38959         * doc/posix-functions/towlower_l.texi: Likewise.
38960         * doc/posix-functions/towupper_l.texi: Likewise.
38961         * doc/posix-functions/wcscoll_l.texi: Likewise.
38962         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
38963         * doc/posix-functions/wctrans_l.texi: Likewise.
38964         * doc/posix-functions/wctype_l.texi: Likewise.
38965         * doc/glibc-functions/strptime_l.texi: Likewise.
38966         * doc/glibc-functions/strtod_l.texi: Likewise.
38967         * doc/glibc-functions/strtof_l.texi: Likewise.
38968         * doc/glibc-functions/strtol_l.texi: Likewise.
38969         * doc/glibc-functions/strtold_l.texi: Likewise.
38970         * doc/glibc-functions/strtoll_l.texi: Likewise.
38971         * doc/glibc-functions/strtoul_l.texi: Likewise.
38972         * doc/glibc-functions/strtoull_l.texi: Likewise.
38973         * doc/glibc-functions/wcsftime_l.texi: Likewise.
38974         * doc/glibc-functions/wcstod_l.texi: Likewise.
38975         * doc/glibc-functions/wcstof_l.texi: Likewise.
38976         * doc/glibc-functions/wcstol_l.texi: Likewise.
38977         * doc/glibc-functions/wcstold_l.texi: Likewise.
38978         * doc/glibc-functions/wcstoll_l.texi: Likewise.
38979         * doc/glibc-functions/wcstoul_l.texi: Likewise.
38980         * doc/glibc-functions/wcstoull_l.texi: Likewise.
38981
38982 2009-11-24  Bruno Haible  <bruno@clisp.org>
38983
38984         duplocale: Fix logic bug.
38985         * lib/duplocale.c: Don't include <langinfo.h>.
38986         (_NL_LOCALE_NAME): Remove macro.
38987         (rpl_duplocale): Use setlocale instead of nl_langinfo.
38988         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
38989
38990 2009-11-23  Jim Meyering  <meyering@redhat.com>
38991
38992         test-update-copyright: don't hard-code /usr/bin/perl
38993         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
38994         perl to print the current year.  Gilles Espinasse reported that
38995         the replaced use of perl was hard-coded as /usr/bin/perl.
38996
38997 2009-11-23  Bruno Haible  <bruno@clisp.org>
38998
38999         duplocale: Add support for glibc 2.3.x.
39000         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
39001
39002 2009-11-22  Bruno Haible  <bruno@clisp.org>
39003
39004         vasnprintf: Tiny optimization.
39005         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
39006         MacOS X.
39007
39008 2009-11-22  Bruno Haible  <bruno@clisp.org>
39009
39010         Tests for module 'duplocale'.
39011         * modules/duplocale-tests: New file.
39012         * tests/test-duplocale.c: New file.
39013
39014         New module 'duplocale'.
39015         * m4/duplocale.m4: New file.
39016         * lib/locale.in.h (duplocale): New declaration.
39017         * lib/duplocale.c: New file.
39018         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
39019         gl_LOCALE_H_DEFAULTS): New macros.
39020         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
39021         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
39022         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
39023         REPLACE_DUPLOCALE.
39024         * modules/duplocale: New file.
39025         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
39026
39027 2009-11-22  Bruno Haible  <bruno@clisp.org>
39028
39029         * modules/locale-tests (configure.ac): Test for newlocale function.
39030         * tests/test-locale.c: When the system has extended locale functions,
39031         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
39032
39033         locale: Make locale_t available when possible.
39034         * lib/locale.in.h: Include <xlocale.h> when it exists.
39035         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
39036         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
39037         * modules/locale (Depends-on): Add extensions.
39038         (Makefile.am): Also substitute HAVE_XLOCALE_H.
39039         * doc/posix-headers/locale.texi: Document the problem with locale_t.
39040
39041 2009-11-22  Bruno Haible  <bruno@clisp.org>
39042
39043         Add comments.
39044         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
39045         invocation.
39046         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
39047         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
39048         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39049
39050 2009-11-22  Bruno Haible  <bruno@clisp.org>
39051
39052         error: account for the possibility of freopen (stdout).
39053         * lib/error.c: Include <unistd.h>.
39054         (flush_stdout): New function, extracted from error and error_at_line.
39055         Determine stdout's fd dynamically.
39056         (error, error_at_line): Invoke flush_stdout.
39057         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
39058         * modules/error (Depends-on): Add unistd.
39059
39060 2009-11-22  Bruno Haible  <bruno@clisp.org>
39061
39062         diffseq: Add comment.
39063         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
39064
39065 2009-11-22  Jim Meyering  <meyering@redhat.com>
39066
39067         c-stack: avoid defining an unused static function
39068         * lib/c-stack.c (find_stack_direction): Do not define this function
39069         when it will not be used.
39070
39071         diffseq: avoid spurious gcc warnings
39072         * lib/diffseq.h (IF_LINT2): Define.
39073         (compareseq): Use it to initialize two members of "part".
39074         This avoids two used-uninitialized warnings.
39075
39076 2009-11-21  Jim Meyering  <meyering@redhat.com>
39077
39078         c-stack: avoid "ignoring return value of `write'" warning
39079         * lib/c-stack.c: Include "ignore-value.h".
39080         (die): Explicitly ignore each write return value.
39081         * modules/c-stack (Depends-on): Add ignore-value.
39082
39083 2009-11-21  Bruno Haible  <bruno@clisp.org>
39084
39085         diffseq: reduce scope of variable 'best'.
39086         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
39087         variable, earlier used for two different purposes.
39088
39089 2009-11-21  Jim Meyering  <meyering@redhat.com>
39090
39091         diffseq: remove useless assignment to "best"
39092         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
39093         assignment.  At that point "best" is already guaranteed to be zero.
39094
39095 2009-11-20  Eric Blake  <ebb9@byu.net>
39096
39097         build: mention ftp redirector in release announcements
39098         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
39099         values that used to come from cfg.mk; mention FTP redirect URL.
39100         * build-aux/announce-gen: Mention the mirror list.
39101         Suggested by Karl Berry.
39102
39103         nanosleep: improve port to mingw
39104         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
39105         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
39106         LIB_NANOSLEEP, but only when needed.
39107         * modules/select (Link): Document LIBSOCKET.
39108         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
39109         enough.
39110
39111         nanosleep: work around cygwin bug
39112         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
39113         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
39114         bug.
39115         (getnow): Delete, not needed.
39116         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
39117         LIB_CLOCK_GETTIME.
39118         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
39119         clock-time, gettime.
39120         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
39121         bug.
39122         * modules/nanosleep-tests: New test.
39123         * tests/test-nanosleep.c: New file.
39124
39125         sleep: work around cygwin bug
39126         * lib/sleep.c (rpl_sleep): Work around the bug.
39127         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
39128         (gl_PREREQ_SLEEP): Delete unused macro.
39129         * modules/sleep (Depends-on): Add verify.
39130         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
39131         * modules/unistd (Makefile.am): Substitute witness.
39132         * lib/unistd.in.h (sleep): Update prototype.
39133         * doc/posix-functions/sleep.texi (sleep): Document the bug.
39134         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
39135         * modules/sleep-tests (Depends-on): Check for alarm.
39136
39137 2009-11-20  Jim Meyering  <meyering@redhat.com>
39138
39139         maint.mk: improve sc_prohibit_magic_number_exit
39140         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
39141         so it does not match uses like System.exit(1).
39142         Add comments showing how to correct all offenders.
39143
39144 2009-11-19  Eric Blake  <ebb9@byu.net>
39145
39146         xalloc-die-tests: add missing library
39147         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
39148
39149         test-xvasprintf: silence compiler warnings
39150         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
39151         empty string from gcc.
39152
39153 2009-11-19  Jim Meyering  <meyering@redhat.com>
39154
39155         xfreopen: new module, from coreutils
39156         * modules/xfreopen: New module.
39157         * lib/xfreopen.c: New file.
39158         * lib/xfreopen.h: New file.
39159         * MODULES.html.sh (File stream based Input/Output"): Add it.
39160
39161 2009-11-19  Eric Blake  <ebb9@byu.net>
39162
39163         manywarnings: depend on warnings
39164         * modules/manywarnings (Depends-on): Add warnings.
39165
39166         build: avoid compiler warnings
39167         * lib/select.c (rpl_select): Delete unused variable.
39168         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
39169
39170 2009-11-18  Eric Blake  <ebb9@byu.net>
39171
39172         tests: avoid false negative with --with-packager
39173         * tests/test-version-etc.sh: Discard packager information.
39174         * tests/test-argp-version-etc-1.sh: Likewise.
39175         Reported by Mike Frysinger.
39176
39177         utimens: fix regression on Solaris
39178         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
39179         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
39180         can only change fd timestamps via futimesat.  Instead, use an
39181         additional witness macro to avoid BSD bug.
39182         Reported by Jim Meyering.
39183
39184 2009-11-17  Eric Blake  <ebb9@byu.net>
39185
39186         usleep: use it to simplify tests
39187         * modules/stat-time-tests (Depends-on): Add usleep.
39188         (configure.ac): Drop usleep check.
39189         * modules/chown-tests (Depends-on, configure.ac): Likewise.
39190         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
39191         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
39192         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
39193         * modules/openat-tests (Depends-on, configure.ac): Likewise.
39194         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
39195         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
39196         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
39197         Likewise.
39198         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
39199         * tests/test-lchown.h (nap): Likewise.
39200         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
39201         * tests/test-stat-time.c (nap): Likewise.
39202         * tests/test-utimens-common.h (nap): Update comments.
39203
39204         usleep: new module
39205         * modules/usleep: New file.
39206         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
39207         * lib/usleep.c (usleep): Likewise.
39208         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
39209         * modules/unistd (Makefile.am): Substitute witnesses.
39210         * lib/unistd.in.h (usleep): Add declaration.
39211         * doc/pastposix-functions/usleep.texi (usleep): Document this.
39212         * MODULES.html.sh (Date and time): Likewise.
39213         * modules/usleep-tests (Depends-on): New test.
39214         * tests/test-usleep.c: New file.
39215
39216         chown: work around OpenBSD bug
39217         * lib/chown.c (rpl_chown): Work around the bug.
39218         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
39219         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
39220         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
39221         * modules/chown (Depends-on): Add stdbool.
39222         * modules/lchown (Depends-on): Likewise.
39223         * doc/posix-functions/chown.texi (chown): Document the bug.
39224         * doc/posix-functions/lchown.texi (lchown): Likewise.
39225         * tests/test-lchown.h (test_chown): Relax test.
39226
39227         mkstemp: avoid conflict with C++ keyword template
39228         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
39229         * lib/mkostemp.c (mkostemp): Likewise.
39230         * lib/mkostemps.c (mkostemps): Likewise.
39231         * lib/mkstemp.c (mkstemp): Likewise.
39232         * lib/mkstemps.c (mkstemps): Likewise.
39233
39234         xalloc-die-tests: optimize
39235         * tests/test-xalloc-die.sh: Reduce number of processes.
39236
39237 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39238
39239         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
39240         patch from ludo@gnu.org (Ludovic Courtès).
39241
39242 2009-11-17  Jim Meyering  <meyering@redhat.com>
39243
39244         version-etc: use proper license string
39245         * modules/version-etc (License): Use LGPL, not LGPLv3+.
39246         * modules/version-etc-fsf: Likewise.
39247
39248 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39249
39250         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
39251         printed to stdout.  Deal with EOL differences.
39252
39253 2009-11-17  Eric Blake  <ebb9@byu.net>
39254
39255         unsetenv: work around Solaris bug
39256         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
39257         * lib/unsetenv.c (rpl_unsetenv): Work around it.
39258         Reported by Jim Meyering.
39259
39260         vasnprintf: avoid compiler warnings
39261         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
39262         variables.
39263         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
39264
39265 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39266
39267         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
39268         settings since xalloc-die is no longer the self test,
39269         xalloc-die.sh is.
39270
39271 2009-11-17  Jim Meyering  <meyering@redhat.com>
39272
39273         test-xalloc-die.sh: make the code agree with the commit log
39274         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
39275         at the end, just in case you happen to have a test-xalloc-die
39276         program in some other PATH directory.
39277
39278         test-xalloc-die.sh: fix a portability bug
39279         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
39280         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
39281         Otherwise, argv[0] (as often seen in diagnostics) would be too
39282         system-dependent, sometimes with, and sometimes without the leading "./".
39283
39284         version-etc-fsf: relax license to LGPLv3+
39285         * modules/version-etc-fsf (License): Relax license.
39286
39287 2009-11-16  Eric Blake  <ebb9@byu.net>
39288
39289         xalloc-die-tests: avoid printing null pointer
39290         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
39291         shell script.
39292         * tests/test-xalloc-die.c (program_name): Declare.
39293         * tests/test-xalloc-die.sh (tmpfiles): New file.
39294
39295         setenv, unsetenv: work around various bugs
39296         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
39297         (setenv) [HAVE_SETENV]: Work around bugs.
39298         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
39299         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
39300         for bugs.
39301         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
39302         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
39303         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
39304         * modules/stdlib (Makefile.am): Update substitutions.
39305         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
39306         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
39307         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
39308         * modules/setenv-tests: New test.
39309         * modules/unsetenv-tests: Likewise.
39310         * tests/test-setenv.c: New file.
39311         * tests/test-unsetenv.c: Likewise.
39312
39313 2009-11-16  Jim Meyering  <meyering@redhat.com>
39314
39315         version-etc: relax license to LGPLv3+
39316         * modules/version-etc (License): Relax license.
39317
39318         better AC_REQUIRE expanded-before-required-warning avoidance
39319         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
39320         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
39321         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
39322         which is no longer needed.
39323
39324 2009-11-16  Eric Blake  <ebb9@byu.net>
39325
39326         test-freading: clean up temporary file
39327         * tests/test-freading.c (main): Remove file on success, and use
39328         ASSERT more liberally.
39329         Reported by Jim Meyering.
39330
39331 2009-11-16  Jim Meyering  <meyering@redhat.com>
39332
39333         avoid new AC_REQUIRE expanded-before-required warnings
39334         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
39335         merely using it.
39336         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
39337         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
39338
39339 2009-11-15  Simon Josefsson  <simon@josefsson.org>
39340
39341         * tests/test-xalloc-die.c: New file.
39342         * modules/xalloc-die-tests: New file.
39343         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
39344         XFAIL_TESTS so it can be appended by modules.
39345
39346 2009-11-15  Simon Josefsson  <simon@josefsson.org>
39347
39348         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
39349         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
39350
39351 2009-11-14  Eric Blake  <ebb9@byu.net>
39352
39353         fnmatch: avoid compiler warning
39354         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
39355         to silence compiler warning about mismatch signedness in ?:.
39356         Reported by Robert Millan.
39357
39358         intprops: add double-inclusion guard
39359         * lib/intprops.h: Allow idempotent includes.
39360         Suggested by Bruce Korb.
39361
39362         openat: detect Solaris fchownat bug
39363         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
39364         penalizing glibc chownat when only lchownat is broken.
39365         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
39366         trailing slash bugs.
39367         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
39368         * modules/openat-tests (Files): Include more files.
39369         (Depends-on): Add mgetgroups, sleep, stat-time.
39370         (configure.ac): Add additional checks.
39371         (Makefile.am): Build new test.
39372         * tests/test-fchownat.c: New file.
39373
39374         lchown: detect Solaris and FreeBSD bug
39375         * lib/lchown.c (rpl_lchown): Work around bug.
39376         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
39377         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39378         * modules/unistd (Makefile.am): Populate it.
39379         * lib/unistd.in.h (lchown): Update declaration.
39380         * doc/posix-functions/lchown.texi (lchown): Document the bug.
39381         * modules/lchown-tests: New file.
39382         * tests/test-lchown.h (test_lchown): Likewise.
39383         * tests/test-lchown.c (main): Likewise.
39384
39385         chown: detect Solaris and FreeBSD bug
39386         * lib/chown.c (rpl_chown): Work around bug.
39387         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
39388         (gl_PREREQ_CHOWN): Delete.
39389         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39390         * modules/unistd (Makefile.am): Populate it.
39391         * lib/unistd.in.h (chown): Update declaration.
39392         * lib/lchown.c (chown): Update client.
39393         * modules/lchown (Depends-on): Add lstat.
39394         * doc/posix-functions/chown.texi (chown): Document the bug.
39395         * doc/posix-functions/getgroups.texi (getgroups): Document
39396         getgroups pitfall.
39397         * modules/chown-tests: New file.
39398         * tests/test-chown.h (test_chown): Likewise.
39399         * tests/test-chown.c (main): Likewise.
39400
39401 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
39402
39403         gnulib-tool: correctly detect absence of m4 directories
39404         * gnulib-tool: Avoid extra newline on data passed to wc -l.
39405
39406 2009-11-14  Jim Meyering  <meyering@redhat.com>
39407
39408         maint.mk: Prohibit inclusion of "xalloc.h" without use.
39409         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
39410
39411 2009-11-14  John W. Eaton  <jwe@gnu.org>
39412
39413         strftime.h: wrap function declaration in extern "C" block
39414         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
39415
39416 2009-11-13  Eric Blake  <ebb9@byu.net>
39417
39418         getgroups: avoid compiler warning
39419         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
39420
39421         getgroups: work around FreeBSD bug
39422         * lib/getgroups.c (rpl_getgroups): Work around the bug.
39423         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
39424         * doc/posix-functions/getgroups.texi (getgroups): Document it.
39425         * tests/test-getgroups.c (main): Fix buffer overrun.
39426
39427         getgroups: avoid compilation failure
39428         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
39429         * modules/getgroups (Depends-on): Add stdint.
39430
39431 2009-11-13  Jim Meyering  <meyering@redhat.com>
39432
39433         test-getgroups: avoid compilation failure
39434         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
39435
39436 2009-11-13  Eric Blake  <ebb9@byu.net>
39437
39438         mgetgroups: new module, taken from coreutils
39439         * modules/mgetgroups: New file.
39440         * lib/mgetgroups.h: Likewise.
39441         * lib/mgetgroups.c (mgetgroups): Likewise.
39442         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
39443         * MODULES.html.sh (Users and groups): Mention it.
39444
39445         getgroups: don't expose GETGROUPS_T to user
39446         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
39447         an element at a time if GETGROUPS_T is wrong size.
39448         * lib/getugroups.h (getugroups): Change signature.
39449         * lib/unistd.in.h (getgroups): Likewise.
39450         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
39451         signature needs fixing.
39452         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
39453         AC_TYPE_GETGROUPS.
39454         * modules/group-member (Depends-on): Add getgroups.
39455         * lib/group-member.c (group_info, get_group_info): Use gid_t.
39456         (group_member): Rely on getgroups replacement.
39457         * lib/getugroups.c (getugroups): Use gid_t.
39458         * tests/test-getgroups.c (main): Likewise.
39459         * NEWS: Mention the signature change.
39460         * doc/posix-functions/getgroups.texi (getgroups): Mention the
39461         problem with signature.
39462         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
39463         GETGROUPS_T is still useful for setgroups.
39464
39465         getgroups, getugroups: provide stubs for mingw
39466         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
39467         * lib/getugroups.c (getugroups): Likewise.
39468         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
39469         function.  Modernize replacement scheme.
39470         (gl_PREREQ_GETGROUPS): Delete.
39471         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
39472         * modules/getgroups (configure.ac): Declare witness.
39473         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
39474         * modules/unistd (Depends-on): Substitute witness.
39475         * lib/unistd.in.h (getgroups): Declare replacement.
39476
39477         getgroups: avoid calling exit
39478         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
39479         drop xalloc.
39480         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
39481         dependencies.
39482         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
39483         exiting, in the rare case of malloc failure.
39484
39485         getgroups: fix logic error
39486         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
39487         has more than 20 groups.
39488         * modules/getgroups-tests: New test.
39489         * tests/test-getgroups.c: New file.
39490
39491 2009-11-13  Simon Josefsson  <simon@josefsson.org>
39492
39493         * tests/test-base64.c: Improve.
39494
39495 2009-11-13  Simon Josefsson  <simon@josefsson.org>
39496
39497         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
39498         Blake <ebb9@byu.net>.
39499
39500 2009-11-13  Simon Josefsson  <simon@josefsson.org>
39501
39502         * tests/test-xvasprintf.c: Add %s%s related checks.
39503
39504 2009-11-12  Eric Blake  <ebb9@byu.net>
39505
39506         version-etc: match standards.texi style
39507         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
39508         and use <> only for URLs.
39509
39510 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
39511
39512         fts: do not fail on a submount during traversal
39513         * lib/fts.c (fts_build): Read the stat info again after opening
39514         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
39515         Original report at http://bugzilla.redhat.com/501848.
39516
39517 2009-11-12  Jim Meyering  <meyering@redhat.com>
39518
39519         bootstrap: sync from coreutils
39520         * build-aux/bootstrap (bootstrap_epilogue): New function.
39521         Use git_modules_config in one more place.  This make bootstrap's
39522         --gnulib-srcdir option more useful for testing.
39523
39524         bootstrap: generalize autoheader check
39525         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
39526         AC_CONFIG_HEADERS.
39527
39528 2009-11-11  Eric Blake  <ebb9@byu.net>
39529
39530         mkfifoat: use new modules for Solaris and BSD bugs
39531         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
39532         * lib/mkfifoat.c (mknodat): Split...
39533         * lib/mknodat.c (mknodat): ...into new file.
39534         * modules/mkfifoat (Files): Ship new file.
39535         (Depends-on): Add mkfifo, mknod.
39536         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
39537         (Depends-on): Add symlink.
39538         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
39539         redundant with test_mkfifo.h.
39540         (do_mkfifoat, do_mknodat): New helpers.
39541
39542         mknod: new module
39543         * modules/mknod: New file.
39544         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
39545         * lib/mknod.c (mknod): Likewise.
39546         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
39547         defaults.
39548         * modules/sys_stat (Makefile.am): Substitute them.
39549         * lib/sys_stat.in.h (mknod): Declare replacement.
39550         * MODULES.html.sh (Support for systems lacking POSIX:2008):
39551         Document it.
39552         * doc/posix-functions/mknod.texi (mknod): Likewise.
39553         * modules/mknod-tests: New test.
39554         * tests/test-mknod.c: Likewise.
39555
39556         mkfifo: new module
39557         * modules/mkfifo: New file.
39558         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
39559         * lib/mkfifo.c (mkfifo): Likewise.
39560         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
39561         defaults.
39562         * modules/sys_stat (Makefile.am): Substitute them.
39563         * lib/sys_stat.in.h (mkfifo): Declare replacement.
39564         * MODULES.html.sh (Support for systems lacking POSIX:2008):
39565         Document it.
39566         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
39567         * modules/mkfifo-tests: New test.
39568         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
39569         from test-mkfifoat.c.
39570         * tests/test-mkfifo.c: New file.
39571
39572         readlink: detect FreeBSD bug
39573         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
39574         slash on symlink.
39575         * doc/posix-functions/readlink.texi (readlink): Document the bug.
39576         * tests/test-readlink.h (test_readlink): Enhance test.
39577
39578         symlink: detect FreeBSD bug
39579         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
39580         slash on symlink.
39581         * doc/posix-functions/symlink.texi (symlink): Document the bug.
39582         * tests/test-symlink.h (test_symlink): Enhance test.
39583
39584 2009-11-10  Eric Blake  <ebb9@byu.net>
39585
39586         link: detect FreeBSD bug
39587         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
39588         symlink.
39589         * doc/posix-functions/link.texi (link): Document the bug.
39590         * tests/test-link.h (test_link): Enhance test.
39591         * tests/test-linkat.c (main): Update caller.
39592
39593         unlink, remove: detect FreeBSD bug
39594         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
39595         slash on symlink.
39596         * doc/posix-functions/unlink.texi (unlink): Document the bug.
39597         * doc/posix-functions/remove.texi (remove): Likewise.
39598         * tests/test-unlink.h (test_unlink): Enhance test.
39599         * tests/test-remove.c (main): Likewise.
39600
39601 2009-11-09  Eric Blake  <ebb9@byu.net>
39602
39603         rename: detect FreeBSD bug
39604         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
39605         slash on symlink.
39606         * modules/renameat-tests (Depends-on): Add filenamecat.
39607         * tests/test-rename.h (test_rename): Allow one more errno.
39608         * tests/test-renameat.c (main): Likewise.
39609         * doc/posix-functions/rename.texi (rename): Document the bug.
39610
39611         open: detect FreeBSD bug
39612         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
39613         symlink.
39614         * doc/posix-functions/open.texi (open): Document the bug.
39615         * doc/posix-functions/utimes.texi (utimes): Likewise.
39616         * tests/test-open.h (test_open): Add parameters, and test symlink
39617         handling.
39618         * tests/test-open.c (main): Adjust caller.
39619         * tests/test-fcntl-safer.c (main): Likewise.
39620         * modules/open-tests (Depends-on): Add stdbool, symlink.
39621         * modules/fcntl-safer-tests (Depends-on): Likewise.
39622         * tests/test-openat.c (main): Add test-open tests.
39623
39624         stat: detect FreeBSD bug
39625         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
39626         symlink.
39627         * doc/posix-functions/stat.texi (stat): Document the bug.
39628         * tests/test-stat.h (test_stat_func): Add argument.
39629         * tests/test-stat.c (main): Adjust caller.
39630         * tests/test-fstatat.c (main): Likewise.
39631         * modules/stat-tests (Depends-on): Add stdbool, symlink.
39632         Reported by Jim Meyering.
39633
39634 2009-11-09  James Youngman  <jay@gnu.org>
39635
39636         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
39637         * lib/strftime.c: Correct placement of #include "ignore-value.h".
39638
39639 2009-11-08  Jim Meyering  <meyering@redhat.com>
39640
39641         utimens: remove invalid futimesat call
39642         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
39643         It used the file descriptor of the target file as the DIR_FD
39644         parameter and NULL as the file name.  That caused failure with
39645         errno == EFAULT on FreeBSD-8.0-rc2
39646
39647 2009-11-07  Eric Blake  <ebb9@byu.net>
39648
39649         fflush, freadseek: use fseeko, not fseek
39650         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
39651         (clear_ungetc_buffer): Avoid potential problems on large files.
39652         * lib/freadseek.c (freadseek): Likewise.
39653         * modules/freadseek (Depends-on): Add fseeko.
39654         * modules/fseek (configure.ac): Set a witness.
39655         * tests/test-fflush.c (main): Use fseeko.
39656         * tests/test-fpurge.c (fseek): Disable link warning.
39657         * tests/test-freadable.c (fseek): Likewise.
39658         * tests/test-freading.c (fseek): Likewise.
39659         * tests/test-fseeko.c (fseek): Likewise.
39660         * tests/test-ftell.c (fseek): Likewise.
39661         * tests/test-ftello.c (fseek): Likewise.
39662         * tests/test-fwritable.c (fseek): Likewise.
39663         * tests/test-fwriting.c (fseek): Likewise.
39664
39665 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39666
39667         * modules/memchr (Depends-on): Drop getpagesize dependency.
39668
39669 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39670
39671         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
39672         Reported by Ludovic Courtès.
39673         * build-aux/pmccabe2html: Improve example usage.
39674         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
39675
39676 2009-11-06  Jim Meyering  <meyering@redhat.com>
39677
39678         do-release-commit-and-tag: New module.
39679         Automate the release-commit and tag process.
39680         * build-aux/do-release-commit-and-tag: New script, from coreutils.
39681         * modules/do-release-commit-and-tag: New file.
39682         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39683
39684 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39685
39686         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
39687         because test-select.c uses inet_pton.
39688
39689 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39690
39691         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
39692         GETADDRINFO_LIB.  Bump serial number.
39693         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
39694         Suggested by Eric Blake <ebb9@byu.net>.
39695
39696 2009-11-05  Eric Blake  <ebb9@byu.net>
39697
39698         strtod: detect darwin bug
39699         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
39700         Reported by Leo Davis.
39701
39702         freopen-safer: new module
39703         * modules/freopen-safer: New module.
39704         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
39705         * lib/freopen-safer.c (freopen_safer): New file.
39706         * lib/stdio-safer.h (freopen_safer): New declaration.
39707         * lib/stdio--.h (freopen): New override.
39708         * MODULES.html.sh (File stream based Input/Output): Mention it.
39709         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
39710         freopen-safer module.
39711         * doc/posix-functions/stderr.texi (stderr): Likewise.
39712         * doc/posix-functions/stdin.texi (stdin): Likewise.
39713         * doc/posix-functions/stdout.texi (stdout): Likewise.
39714         * modules/freopen-safer-tests: New test.
39715         * tests/test-reopen-safer.c: New file.
39716
39717 2009-11-05  Jim Meyering  <meyering@redhat.com>
39718
39719         maint.mk: Prohibit inclusion of "close-stream.h" without use.
39720         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
39721
39722 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39723
39724         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
39725
39726 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39727
39728         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
39729
39730 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39731
39732         Fix link error.
39733         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39734         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39735
39736 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39737
39738         * tests/test-func.c: Also test value of __func__.
39739
39740 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39741
39742         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
39743         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
39744
39745 2009-11-05  Bruno Haible  <bruno@clisp.org>
39746
39747         Fix link error.
39748         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39749         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39750         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
39751
39752 2009-11-05  Bruno Haible  <bruno@clisp.org>
39753
39754         Tests for module 'inet_pton'.
39755         * modules/inet_pton-tests: New file.
39756         * tests/test-inet_pton.c: New file.
39757
39758 2009-11-05  Bruno Haible  <bruno@clisp.org>
39759
39760         Tests for module 'inet_ntop'.
39761         * modules/inet_ntop-tests: New file.
39762         * tests/test-inet_ntop.c: New file.
39763
39764 2009-11-04  Eric Blake  <ebb9@byu.net>
39765
39766         stdlib-safer: wrap all mkstemp variants
39767         * modules/mkostemp (configure.ac): Set witness.
39768         * modules/mkostemps (configure.ac): Likewise.
39769         * modules/mkstemps (configure.ac): Likewise.
39770         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
39771         (mkstemps_safer): Wrap more functions.
39772         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
39773         wrapping.
39774         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
39775         (mkstemps_safer): Implement the wrappers.
39776
39777         mkstemps, mkostemps: new modules
39778         * modules/mkostemps: New module.
39779         * modules/mkstemps: Likewise.
39780         * lib/mkostemps.c (mkostemps): New file.
39781         * lib/mkstemps.c (mkstemps): Likewise.
39782         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
39783         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
39784         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
39785         * modules/stdlib (Makefile.am): Substitute them.
39786         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
39787         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
39788         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
39789         * doc/gnulib.texi (Glibc stdlib.h): Include them.
39790         * MODULES.html.sh (File system functions): Mention them.
39791
39792         tempname: resync from glibc
39793         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
39794         same values for __GT_FILE as glibc.  Abort even when assertions
39795         are disabled.
39796         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
39797         match its value otherwise.  Allow idempotent inclusion.
39798         * lib/mkdtemp.c (mkdtemp): Adjust caller.
39799         * lib/mkostemp.c (mkostemp): Likewise.
39800         * lib/mkstemp.c (mkstemp): Likewise.
39801         * lib/tmpfile.c (tmpfile): Likewise.
39802         * NEWS: Document this.
39803
39804         utimens: fix use of futimens on older Linux
39805         * lib/utimens.c (fdutimens): Use updated, rather than original,
39806         timespec to avoid bug in older Linux kernel.
39807         Reported by Simon Josefsson.
39808
39809 2009-11-04  Bruno Haible  <bruno@clisp.org>
39810
39811         Make num_processors more flexible and consistent.
39812         * lib/nproc.h (enum nproc_query): New type.
39813         (num_processors): Add a 'query' argument.
39814         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
39815         (num_processors): Add a 'query' argument. Test the value of the
39816         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
39817         mingw, count the number of CPUs available for the current process.
39818         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
39819         Check for sched_getaffinity and sched_getaffinity_np.
39820         * modules/nproc (Depends-on): Add c-ctype, extensions.
39821         * NEWS: Mention the change.
39822
39823 2009-11-03  Bruno Haible  <bruno@clisp.org>
39824
39825         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
39826
39827 2009-11-03  Jim Meyering  <meyering@redhat.com>
39828
39829         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
39830         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
39831         if it is defined.
39832
39833 2009-11-02  Eric Blake  <ebb9@byu.net>
39834
39835         mktime, timegm: share common declaration
39836         * lib/mktime-internal.h: New file.
39837         * lib/mktime.c: Use it rather than open-coding a declaration.
39838         * lib/timegm.c: Likewise.
39839         * modules/mktime (Files): Ship it.
39840         * modules/timegm (Files): Likewise.
39841         Suggested by Bruno Haible.
39842
39843         test-update-copyright: update test to match script changes
39844         * tests/test-update-copyright.sh: Avoid hard-coding perl
39845         location.  Don't update *.bak created by earlier runs.
39846
39847 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
39848             Simon Josefsson  <simon@josefsson.org>
39849             Bruno Haible  <bruno@clisp.org>
39850
39851         Fix link error on Solaris 8.
39852         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
39853         also in libnsl. Define also INET_PTON_LIB.
39854         * modules/inet_pton (Link): New section.
39855
39856 2009-11-02  Simon Josefsson  <simon@josefsson.org>
39857             Bruno Haible  <bruno@clisp.org>
39858
39859         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
39860         * modules/inet_ntop (Link): New section.
39861         Reported by Boyan Kasarov <bkasarov@gmail.com>.
39862
39863 2009-11-02  Eric Blake  <ebb9@byu.net>
39864
39865         maint: avoid compiler warnings in m4 macros
39866         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
39867         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
39868
39869 2009-11-02  Simon Josefsson  <simon@josefsson.org>
39870
39871         * m4/pmccabe2html.m4: Remove file.
39872         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
39873         function.  Change maintainer.
39874         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
39875         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
39876         Courtès).
39877
39878 2009-10-31  Eric Blake  <ebb9@byu.net>
39879
39880         fseeko: fix m4 regression
39881         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
39882         regression from 2009-10-27.
39883         Reported by Ralf Wildenhues.
39884
39885 2009-10-31  Jim Meyering  <meyering@redhat.com>
39886
39887         inttostr: aesthetics and improved (compile-time) safety
39888         Define inttype_is_signed rather than inttype_is_unsigned,
39889         since the sole use is via "#if inttype_is_signed".
39890         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
39891         inttype_is_unsigned.
39892         * lib/offtostr.c (inttype_is_signed): Likewise.
39893         * lib/uinttostr.c (inttype_is_signed): Likewise.
39894         * lib/umaxtostr.c (inttype_is_signed): Likewise.
39895         * lib/inttostr.c (inttostr): Use verify to cross-check the
39896         inttype_is_signed value and the signedness of the actual type.
39897         * modules/inttostr (Depends-on): Add verify.
39898
39899 2009-10-30  Eric Blake  <ebb9@byu.net>
39900
39901         build: avoid compiler warnings
39902         * lib/fchmodat.c (lchmod): Mark unused variables.
39903         * lib/getopt.c (_getopt_initialize): Likewise.
39904         * lib/mktime.c (__mktime_internal): Provide prototype.
39905         * lib/inttostr.c (inttostr): Avoid compiler warning even with
39906         older gcc that do not understand #pragma GCC diagnostic.
39907         * lib/uinttostr.c (inttype_is_unsigned): Define.
39908         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
39909
39910 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
39911
39912         stat: fix compilation on AIX
39913         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
39914         only see struct stat64.
39915
39916 2009-10-30  Eric Blake  <ebb9@byu.net>
39917
39918         exclude: make more robust
39919         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
39920         rather than masking a coding bug.
39921         Suggested by Bruno Haible.
39922
39923 2009-10-30  Jim Meyering  <meyering@redhat.com>
39924
39925         perl scripts: remove #!/usr/bin/perl in favor of more portable...
39926         Rather than putting #!/usr/bin/perl on the first line,
39927         start with a variant of what's recommended by "man perlrun" that
39928         invokes the first "perl" program from your shell's search path.
39929         * build-aux/gitlog-to-changelog: Replace #!... as above.
39930         Add a "Local Variables" perl mode setting.
39931         Prompted by a patch from Ludovic Courtès.
39932         Improved by Eric Blake.
39933         * build-aux/useless-if-before-free: Likewise.
39934         * build-aux/announce-gen: Likewise.
39935         * build-aux/update-copyright: Likewise.
39936
39937 2009-10-29  Eric Blake  <ebb9@byu.net>
39938
39939         filenamecat-lgpl: adjust clients
39940         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
39941         filenamecat.
39942         * modules/renameat (Depends-on): Likewise.
39943
39944         filenamecat: split into filenamecat-lgpl
39945         * modules/filenamecat-lgpl: New module.
39946         * modules/filenamecat (Files): Move library-safe files into
39947         filenamecat-lgpl.
39948         (Depends-on): Add filenamecat-lgpl.
39949         (configure.ac): Declare witness.
39950         * lib/filenamecat.h (file_name_concat): Only declare when using
39951         GPL module.
39952         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
39953         Move...
39954         * lib/filenamecat-lgpl.c: ...into new file.
39955         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
39956         (gl_FILE_NAME_CONCAT): Use it.
39957         * MODULES.html.sh (File system functions): Mention new module.
39958
39959         argp: avoid memory leak
39960         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
39961         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
39962         base_name, since the latter malloc()s and can call exit().
39963         Leak introduced 2006-07-03.
39964
39965         dirname-lgpl: adjust clients that don't need full dirname
39966         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
39967         * modules/filenamecat (Depends-on): Likewise.
39968         * modules/linkat (Depends-on): Likewise.
39969         * modules/mkancesdirs (Depends-on): Likewise.
39970         * modules/mkdir (Depends-on): Likewise.
39971         * modules/openat (Depends-on): Likewise.
39972         * modules/savewd (Depends-on): Likewise.
39973         * modules/rename (Depends-on): Likewise.
39974         (License): Relax license.
39975         * modules/mkdir-tests (Depends-on): Drop progname.
39976         (Makefile.am): Delete unneeded LDADD.
39977         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
39978
39979         dirname: split into dirname-lgpl
39980         * modules/dirname-lgpl: New module.
39981         * modules/dirname (Files): Move library-safe files into
39982         dirname-lgpl.
39983         (Depends-on): Add dirname-lgpl.
39984         (configure.ac): Declare witness.
39985         * modules/double-slash-root (License): Relax license.
39986         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
39987         module.
39988         * lib/dirname.c (dir_len, mdir_name): Move...
39989         * lib/dirname-lgpl.c: ...into new file.
39990         * lib/basename.c (last_component, base_len): Move...
39991         * lib/basename-lgpl.c: ...into new file.
39992         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
39993         (gl_DIRNAME): Use it.
39994         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
39995         Mention new module.
39996         * modules/dirname-tests (Depends-on): Add progname.
39997         * tests/test-dirname.c (program_name): Delete.
39998
39999         mkdir: make safe for libraries
40000         * modules/mkdir (Depends-on): Drop xalloc.
40001         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
40002         exit.
40003
40004         tests: avoid some compiler warnings
40005         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
40006         literals.
40007         * tests/test-memchr.c (main): Avoid type mismatch.
40008         * tests/test-arpa_inet.c (main): Avoid unused parameters.
40009         * tests/test-base64.c (main): Likewise.
40010         * tests/test-getdelim.c (main): Likewise.
40011         * tests/test-gethostname.c (main): Likewise.
40012         * tests/test-getline.c (main): Likewise.
40013         * tests/test-netinet_in.c (main): Likewise.
40014         * tests/test-select.c (open_server_socket, main): Likewise.
40015         * tests/test-select-stdin.c (main): Likewise.
40016         * tests/test-sockets.c (main): Likewise.
40017         * tests/test-strsignal.c (main): Likewise.
40018         * tests/test-sys_select.c (main): Likewise.
40019         * tests/test-sys_socket.c (main): Likewise.
40020         * tests/test-u64.c (main): Likewise.
40021         * tests/test-xfprintf-posix.c (main): Likewise.
40022         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
40023
40024         sockets: avoid compiler warning
40025         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
40026
40027         maint: detect usage(1) and other suspicious exits
40028         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
40029
40030 2009-10-29  Jim Meyering  <meyering@redhat.com>
40031
40032         timespec: long-to-int truncation could make timespec_cmp malfunction
40033         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
40034         a multiple of 2^32 nanoseconds as no difference.
40035
40036 2009-10-28  Jim Meyering  <meyering@redhat.com>
40037
40038         fprintftime: wrap macro code argument in "do {...} while(0)"
40039         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
40040         cpy macro must be a statement that can be followed by a semicolon.
40041         Now that the else clause contains a comment and is hence longer
40042         than one line, I require curly braces.  That in turn requires
40043         that we wrap this code block in the standard do...while(0).
40044
40045         fprintftime: remove stray semicolon from previous change
40046         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
40047
40048         fprintftime: avoid a warning about ignored fwrite return value
40049         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
40050         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
40051         that is unsafe.
40052         * modules/fprintftime (Depends-on): Add ignore-value.
40053
40054         exclude: avoid an unwarranted warning
40055         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
40056
40057 2009-10-27  Eric Blake  <ebb9@byu.net>
40058
40059         fseek: avoid compilation failure when fflush is replaced
40060         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
40061         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
40062         module is in use.
40063         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
40064         module is not in use; since REPLACE_FSEEK worked otherwise.
40065         (GNULIB_FTELLO): Likewise for ftell.
40066         Reported by Ian Beckwith and others.
40067
40068 2009-10-27  Bruno Haible  <bruno@clisp.org>
40069
40070         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
40071         Reported by Jim Meyering.
40072
40073 2009-10-27  Jim Meyering  <jim@meyering.net>
40074             Bruno Haible  <bruno@clisp.org>
40075
40076         Avoid warning despite dropping the return value of fwrite.
40077         * lib/unicodeio.c: Include ignore-value.h.
40078         (fwrite_success_callback): Explicitly ignore fwrite's return value.
40079         * modules/unicodeio (Depends-on): Add ignore-value.
40080
40081 2009-10-26  Eric Blake  <ebb9@byu.net>
40082
40083         areadlinkat: fix fallback path
40084         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
40085         pointer and zero.
40086
40087 2009-10-22  Pádraig Brady  <P@draigBrady.com>
40088
40089         Use a better IO block size for modern systems
40090         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
40091         * lib/md2.c: Likewise.
40092         * lib/md4.c: Likewise.
40093         * lib/md5.c: Likewise.
40094         * lib/sha1.c: Likewise.
40095         * lib/sha256.c: Likewise.
40096         * lib/sha512.c: Likewise.
40097
40098 2009-10-22  Eric Blake  <ebb9@byu.net>
40099
40100         tests: avoid several compiler warnings
40101         * tests/test-getcwd.c (main): Avoid buffer underflow.
40102         * tests/test-getdate.c (main): String literals are not safe with
40103         putenv, so use setenv.  Declare unused argument.
40104         * modules/getdate-tests (Depends-on): Add setenv.
40105         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
40106         problems with string literals in char *.
40107         * tests/test-hash.c (main): Avoid shadowing declaration.
40108         (insert_new): Treat string literals as char const *.
40109         * tests/test-getopt.h (test_getopt): Likewise.
40110         (getopt_loop): Alter types to minimize casting elsewhere.
40111         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
40112         (test_getopt_long_posix): Likewise.
40113         (do_getopt_long): Add wrapper to minimize casting.
40114         * tests/test-atexit.c (clear_temp_file): Use void.
40115         * tests/test-areadlink-with-size.c (main): Declare unused
40116         arguments.
40117         * tests/test-areadlink.c (main): Likewise.
40118         * tests/test-areadlinkat-with-size.c (main): Likewise.
40119         * tests/test-areadlinkat.c (main): Likewise.
40120         * tests/test-canonicalize-lgpl.c (main): Likewise.
40121         * tests/test-canonicalize.c (main): Likewise.
40122         * tests/test-dirent-safer.c (main): Likewise.
40123         * tests/test-dirname.c (main): Likewise.
40124         * tests/test-dup2.c (main): Likewise.
40125         * tests/test-fchdir.c (main): Likewise.
40126         * tests/test-fcntl-h.c (main): Likewise.
40127         * tests/test-fcntl-safer.c (main): Likewise.
40128         * tests/test-fdopendir.c (main): Likewise.
40129         * tests/test-fdutimensat.c (main): Likewise.
40130         * tests/test-fflush.c (main): Likewise.
40131         * tests/test-filenamecat.c (main): Likewise.
40132         * tests/test-filevercmp.c (main): Likewise.
40133         * tests/test-fopen-safer.c (main): Likewise.
40134         * tests/test-fopen.c (main): Likewise.
40135         * tests/test-fpending.c (main): Likewise.
40136         * tests/test-fpurge.c (main): Likewise.
40137         * tests/test-freading.c (main): Likewise.
40138         * tests/test-fstatat.c (main): Likewise.
40139         * tests/test-fsync.c (main): Likewise.
40140         * tests/test-futimens.c (main): Likewise.
40141         * tests/test-getndelim2.c (main): Likewise.
40142         * tests/test-gettimeofday.c (main): Likewise.
40143         * tests/test-getopt.c (main): Likewise.
40144         * tests/test-i-ring.c (main): Likewise.
40145         * tests/test-inttypes.c (main): Likewise.
40146         * tests/test-link.c (main): Likewise.
40147         * tests/test-lstat.c (main): Likewise.
40148         * tests/test-math.c (main): Likewise.
40149         * tests/test-md5.c (main): Likewise.
40150         * tests/test-memchr2.c (main): Likewise.
40151         * tests/test-memrchr.c (main): Likewise.
40152         * tests/test-mkdir.c (main): Likewise.
40153         * tests/test-mkdirat.c (main): Likewise.
40154         * tests/test-mkfifoat.c (main): Likewise.
40155         * tests/test-open.c (main): Likewise.
40156         * tests/test-openat-safer.c (main): Likewise.
40157         * tests/test-openat.c (main): Likewise.
40158         * tests/test-quotearg.c (main): Likewise.
40159         * tests/test-rawmemchr.c (main): Likewise.
40160         * tests/test-readlink.c (main): Likewise.
40161         * tests/test-remove.c (main): Likewise.
40162         * tests/test-rename.c (main): Likewise.
40163         * tests/test-renameat.c (main): Likewise.
40164         * tests/test-rmdir.c (main): Likewise.
40165         * tests/test-sha1.c (main): Likewise.
40166         * tests/test-signal.c (main): Likewise.
40167         * tests/test-sigaction.c (main): Likewise.
40168         * tests/test-stat.c (main): Likewise.
40169         * tests/test-stat-time.c (main): Likewise.
40170         * tests/test-stddef.c (main): Likewise.
40171         * tests/test-stdint.c (main): Likewise.
40172         * tests/test-stdio.c (main): Likewise.
40173         * tests/test-stdlib.c (main): Likewise.
40174         * tests/test-strchrnul.c (main): Likewise.
40175         * tests/test-strerror.c (main): Likewise.
40176         * tests/test-string.c (main): Likewise.
40177         * tests/test-strtod.c (main): Likewise.
40178         * tests/test-strverscmp.c (main): Likewise.
40179         * tests/test-symlink.c (main): Likewise.
40180         * tests/test-symlinkat.c (main): Likewise.
40181         * tests/test-sys_stat.c (main): Likewise.
40182         * tests/test-sys_time.c (main): Likewise.
40183         * tests/test-time.c (main): Likewise.
40184         * tests/test-unistd.c (main): Likewise.
40185         * tests/test-unlink.c (main): Likewise.
40186         * tests/test-unlinkat.c (main): Likewise.
40187         * tests/test-utimens.c (main): Likewise.
40188         * tests/test-utimensat.c (main): Likewise.
40189         * tests/test-version-etc.c (main): Likewise.
40190         * tests/test-wchar.c (main): Likewise.
40191         * tests/test-wctype.c (main): Likewise.
40192         * tests/test-xprintf-posix.c (main): Likewise.
40193         * tests/test-posixtm.c (main): Likewise.
40194         (STREQ): Delete unused macro.
40195         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
40196         shadowed variables.
40197         * tests/test-memchr.c (main): Likewise.
40198
40199 2009-10-21  Eric Blake  <ebb9@byu.net>
40200
40201         areadlinkat: avoid failure on older glibc
40202         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
40203         rather than mis-comparing 0 against FUNC_RESULT of char*.
40204
40205 2009-10-21  Bruno Haible  <bruno@clisp.org>
40206
40207         * modules/stpncpy (License): Relicense under LGPLv2+.
40208         Reported by David Lutterkort <lutter@redhat.com>.
40209
40210 2009-10-20  Eric Blake  <ebb9@byu.net>
40211
40212         utimensat: work around Solaris 9 bug
40213         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
40214         has trailing slash bugs.
40215         * tests/test-lutimens.h (test_lutimens): Enhance test.
40216         * tests/test-utimens.h (test_utimens): Likewise.
40217         * doc/posix-functions/utime.texi (utime): Enhance documentation.
40218         * doc/posix-functions/utimes.texi (utimes): Likewise.
40219         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40220         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
40221         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
40222         * doc/posix-functions/futimens.texi (futimens): Likewise.
40223
40224         fdutimensat: new module
40225         * modules/fdutimensat: New file.
40226         * lib/fdutimensat.c (fdutimensat): Likewise.
40227         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
40228         * MODULES.html.sh (File system functions): Mention module.
40229         * modules/fdutimensat-tests: New test.
40230         * tests/test-fdutimensat.c: Likewise.
40231
40232         doc: regenerate INSTALL
40233         * doc/INSTALL: Reflect recent autoconf update.
40234         * doc/INSTALL.ISO: Likewise.
40235         * doc/INSTALL.UTF-8: Likewise.
40236
40237 2009-10-20  Pádraig Brady  <P@draigBrady.com>
40238
40239         acl: warn if ACL support is not detected
40240         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
40241
40242 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
40243
40244         * lib/nproc.h: Add extern "C" block for C++.
40245
40246 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
40247             Bruno Haible  <bruno@clisp.org>
40248
40249         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
40250         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
40251         * doc/posix-functions/isalpha.texi: Likewise.
40252         * doc/posix-functions/isblank.texi: Likewise.
40253         * doc/posix-functions/iscntrl.texi: Likewise.
40254         * doc/posix-functions/isdigit.texi: Likewise.
40255         * doc/posix-functions/isgraph.texi: Likewise.
40256         * doc/posix-functions/islower.texi: Likewise.
40257         * doc/posix-functions/isprint.texi: Likewise.
40258         * doc/posix-functions/ispunct.texi: Likewise.
40259         * doc/posix-functions/isspace.texi: Likewise.
40260         * doc/posix-functions/isupper.texi: Likewise.
40261         * doc/posix-functions/isxdigit.texi: Likewise.
40262
40263 2009-10-18  Bruno Haible  <bruno@clisp.org>
40264
40265         Tests for module 'isblank'.
40266         * modules/isblank-tests: New file.
40267         * tests/test-isblank.c: New file.
40268
40269         New module 'isblank'.
40270         * lib/isblank.c: New file.
40271         * m4/isblank.m4: New file.
40272         * modules/isblank: New file.
40273         * doc/posix-functions/isblank.texi: Mention the new module.
40274
40275 2009-10-18  Bruno Haible  <bruno@clisp.org>
40276
40277         New module 'ctype'.
40278         * lib/ctype.in.h: New file.
40279         * m4/ctype.m4: New file.
40280         * modules/ctype: New file.
40281         * doc/posix-headers/ctype.texi: Mention the new module.
40282
40283 2009-10-18  Jim Meyering  <meyering@redhat.com>
40284
40285         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
40286         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
40287         right after its initialization, rather than farther down.
40288         Keeping these in close proximity makes it easier to ensure
40289         that each such variable is initialized.  E.g.,
40290
40291             LIB_CLOCK_GETTIME=
40292             AC_SUBST([LIB_CLOCK_GETTIME])
40293
40294         This change also increments these serial numbers.
40295         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
40296         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
40297         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40298
40299 2009-10-18  Bruno Haible  <bruno@clisp.org>
40300
40301         Don't let environment variables perturb build.
40302         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
40303         (gl_PREREQ_GETHRXTIME): ... not here.
40304
40305 2009-10-18  Bruno Haible  <bruno@clisp.org>
40306
40307         Avoid symlink attack in localcharset module.
40308         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
40309         (O_NOFOLLOW): Define fallback.
40310         (get_charset_aliases): Don't open the file if it is a symbolic link.
40311         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
40312         gl_FCNTL_H.
40313         (gl_FCNTL_H): Require it.
40314         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
40315         * modules/localcharset (Files): Add m4/fcntl_h.m4.
40316         Reported by Fergal Glynn <fglynn@veracode.com>.
40317
40318 2009-10-18  Bruno Haible  <bruno@clisp.org>
40319
40320         Implement nproc for mingw.
40321         * lib/nproc.c: Include <windows.h>
40322         (num_processors): On native Windows platforms, try GetSystemInfo.
40323
40324 2009-10-18  Bruno Haible  <bruno@clisp.org>
40325
40326         Implement nproc for IRIX.
40327         * lib/nproc.c: Include <sys/sysmp.h>.
40328         (num_processors): On IRIX systems, try sysmp.
40329         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
40330
40331 2009-10-18  Bruno Haible  <bruno@clisp.org>
40332
40333         Implement nproc for HP-UX.
40334         * lib/nproc.c: Include <sys/pstat.h>
40335         (num_processors): On HP-UX systems, try pstat_getdynamic.
40336         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
40337         pstat_getdynamic.
40338
40339 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
40340             Bruno Haible  <bruno@clisp.org>
40341
40342         Implement nproc for NetBSD, OpenBSD.
40343         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
40344         (ARRAY_SIZE): New macro.
40345         (num_processors): On BSD systems, try sysctl of HW_NCPU.
40346         * m4/nproc.m4: New file.
40347         * modules/nproc (Files): Add m4/nproc.m4.
40348         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
40349         (Makefile.am): Instead, augment lib_SOURCES.
40350
40351 2009-10-18  Bruno Haible  <bruno@clisp.org>
40352
40353         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
40354         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
40355         sys/param.h.
40356
40357 2009-10-16  Eric Blake  <ebb9@byu.net>
40358
40359         utimensat: new module
40360         * modules/utimensat: New file.
40361         * lib/utimensat.c (utimensat): Likewise.
40362         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
40363         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
40364         so we can work around Linux bugs.
40365         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40366         * modules/sys_stat (Makefile.am): Substitute them.
40367         * lib/sys_stat.in.h (utimensat): Declare it.
40368         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40369         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40370         * modules/utimensat-tests: New test.
40371         * tests/test-utimensat.c: Likewise.
40372
40373         utimens: let lutimens work on non-symlinks
40374         * lib/utimens.c (lutimens): Fall back to utimens rather than
40375         failing with ENOSYS, when file is not a symlink.
40376         (utimens): Reduce redirection.
40377         * tests/test-lutimens.h (test_lutimens): Update test to cover
40378         non-symlinks.
40379         * tests/test-utimens.h (test_utimens): Update test to cover
40380         symlinks.
40381         * tests/test-utimens.c (main): Update caller.
40382
40383         utimens: cache whether utimensat syscall works
40384         * lib/utimens.c (utimensat_works_really): New cache variable.
40385         (fdutimens, lutimens): Use it to avoid failing syscall.
40386
40387         test-stat-time, test-utimens: improve portability
40388         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
40389         ext4 on alpha, and for cygwin.
40390         * tests/test-utimens-common.h: New file.
40391         (nap): Factor delays into single function.
40392         * tests/test-lutimens.h (test_lutimens): Use new header.
40393         * tests/test-futimens.h (test_futimens): Likewise.
40394         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
40395         timestamps to occur from same machine, as was done previously for
40396         test_utimens.
40397         * modules/utimens-tests (Files): Ship new file.
40398         * modules/futimens-tests (Files): Likewise.
40399         Reported in part by Jim Meyering.
40400
40401         sys_stat: sort replacement declarations
40402         * lib/sys_stat.in.h: Sort declarations.
40403         * lib/futimens.c (futimens): Fix typo.
40404
40405 2009-10-15  Jim Meyering  <meyering@redhat.com>
40406
40407         don't let environment settings perturb build
40408         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
40409         could cause a configure-time and/or build-time malfunction.
40410         Typically, a configure-time function-in-library test is performed
40411         via code like this:
40412
40413           LIB_VAR=
40414           AC_SUBST([LIB_VAR])
40415           prefix_saved_LIBS=$LIBS
40416             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
40417                        [test "$ac_cv_search_FUNC" = "none required" ||
40418                         LIB_VAR=$ac_cv_search_FUNC])
40419           LIBS=$prefix_saved_LIBS
40420
40421         However, in each of the files affected by this change, the LIB_VAR=
40422         initialization was omitted.  Thus, when set in the environment, its
40423         value would propagate into generated Makefiles when FUNC is not found
40424         in LIB_NAME.
40425         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
40426         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
40427         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40428
40429 2009-10-14  Eric Blake  <ebb9@byu.net>
40430
40431         fchdir: avoid infinite recursion in mingw
40432         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
40433         recursing.
40434
40435         test-stat-time: port to mingw
40436         * tests/test-stat-time.c (force_unlink): Return a value.
40437         (test_ctime) [W32]: Fix compilation error.
40438         (nap): Don't call usleep with too large an argument.  Use
40439         force_unlink.
40440         * doc/pastposix-functions/usleep.texi (usleep): Document the
40441         portability issue.
40442
40443 2009-10-13  Jim Meyering  <meyering@redhat.com>
40444
40445         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
40446         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
40447         * modules/pipe-filter-ii: Likewise.
40448         * modules/sys_socket-tests: Likewise.
40449         * modules/tsearch-tests: Likewise.
40450         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
40451         (check): Depend on it.
40452
40453 2009-10-12  Eric Blake  <ebb9@byu.net>
40454
40455         utimens-tests: port to NFS file systems
40456         * tests/test-utimens.h (test_utimens): Refactor utimecmp
40457         comparisons to avoid spurious failures from timestamp drift
40458         between NFS machines.
40459
40460 2009-10-12  Eric Blake  <ebb9@byu.net>
40461
40462         stat-time-tests: minor cleanups
40463         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
40464         * tests/test-stat-time.c (nap): Separate assignment from call.
40465         Suggested by Paolo Bonzini and Bruno Haible.
40466
40467         sys_stat: guarantee struct timespec
40468         * lib/sys_stat.in.h (includes): Always include <time.h>
40469         * modules/sys_stat (Depends-on): Add time.
40470         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
40471         mode_t permission values.
40472         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
40473         get at subsecond timestamps.
40474
40475 2009-10-10  Eric Blake  <ebb9@byu.net>
40476
40477         futimens: new module
40478         * modules/futimens: New file.
40479         * lib/futimens.c (futimens): Likewise.
40480         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
40481         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
40482         we can work around Linux bugs.
40483         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40484         * modules/sys_stat (Makefile.am): Substitute them.
40485         * lib/sys_stat.in.h (futimens): Declare it.
40486         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40487         * doc/posix-functions/futimens.texi (futimens): Likewise.
40488         * modules/futimens-tests: New test.
40489         * tests/test-futimens.c: Likewise.
40490
40491         utimens: introduce fdutimens
40492         * lib/utimens.h (fdutimens): New prototype.
40493         * lib/utimens.c (gl_futimens): Move guts...
40494         (fdutimens): ...to new interface.
40495         * tests/test-utimens.c (do_fdutimens): Use it.
40496
40497         utimens: add UTIME_NOW and UTIME_OMIT support
40498         * lib/utimens.c (validate_timespec, update_timespec): New helper
40499         functions.
40500         (gl_futimens, lutimens): Use them.
40501         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
40502         stdbool, sys_stat.
40503         (Link): Mention resulting library dependency.
40504         * modules/utimecmp (Link): Likewise.
40505         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
40506         (Makefile.am): Pick up library dependency.
40507         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
40508         definition.
40509         * tests/test-sys_stat.c: Test the definitions.
40510         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
40511         * NEWS: Document library dependency.
40512
40513         utimecmp: support symlink timestamps
40514         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
40515         hashing when possible.  Use pathconf when available.
40516         (SYSCALL_RESOLUTION): Recognize tighter resolution.
40517         * modules/utimecmp (Depends-on): Add lstat.
40518
40519         utimens: add lutimens interface
40520         * lib/utimens.c (lutimens): New function.
40521         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
40522         * lib/utimens.h (lutimens): Declare new interface.
40523         * tests/test-utimens.c (main): Enhance test.
40524         * tests/test-lutimens.h (test_lutimens): New file.
40525         * modules/utimens-tests (Files): Distribute it.
40526         (Depends-on): Add symlink.
40527         (configure.ac): Check for usleep.
40528
40529         utimens: validate futimens usage
40530         * lib/utimens.c (gl_futimens): Require valid fd up front, using
40531         fewer syscalls on failure later on.  Avoid compiler warning on
40532         mingw.
40533         * modules/utimens (Depends-on): Add dup2.
40534
40535         utimens: add test
40536         * modules/utimens-tests: New test.
40537         * tests/test-utimens.h: New file.
40538         * tests/test-futimens.h: Likewise.
40539         * tests/test-utimens.c: Likewise.
40540
40541         doc: mention timestamp portability issues
40542         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
40543         instead.
40544         * doc/posix-functions/utime.texi (utime): Likewise.
40545         * doc/posix-functions/utimes.texi (utimes): Likewise.
40546         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
40547         instead.
40548         * doc/posix-functions/futimens.texi (futimens): Mention utimens
40549         module.
40550         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40551         Mention weakness with symlink timestamps.
40552         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
40553         to utimensat/futimens instead.
40554         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
40555
40556         test-dup2: enhance test
40557         * tests/test-dup2.c (main): Also check AT_FDCWD.
40558
40559         test-stat-time: avoid more spurious failures
40560         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
40561         xfs; and avoid race if the two timestamps cross quantization edge.
40562
40563         relocatable: prefer 'file system' over 'filesystem'
40564         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
40565         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
40566         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
40567         * doc/relocatable.texi (Enabling Relocatability): Likewise.
40568         * lib/relocatable.c (compute_curr_prefix): Likewise.
40569
40570 2009-10-10  Jim Meyering  <meyering@redhat.com>
40571
40572         stat-time-tests: check for the usleep function
40573         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
40574
40575 2009-10-10  Bruno Haible  <bruno@clisp.org>
40576
40577         * modules/xnanosleep: Put the Link section after the Include section.
40578
40579 2009-10-09  Eric Blake  <ebb9@byu.net>
40580
40581         dup2: work around FreeBSD 6.1 bug
40582         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
40583         * doc/posix-functions/dup2.texi (dup2): Document it.
40584         Reported by Nelson H. F. Beebe and Jim Meyering.
40585
40586         test-stat-time: port to buggy NFS clients
40587         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
40588         (test_ctime): Also skip test if mtime and ctime are skewed.
40589
40590         maint: prefer 'file system' over 'filesystem'
40591         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
40592         * doc/posix-functions/lstat.texi (lstat): Likewise.
40593         * lib/file-has-acl.c (file_has_acl): Likewise.
40594         * lib/fwriteerror.c [TEST]: Likewise.
40595         * tests/test-areadlink.h (test_areadlink): Likewise.
40596         * tests/test-areadlinkat-with-size.c (main): Likewise.
40597         * tests/test-areadlinkat.c (main): Likewise.
40598         * tests/test-canonicalize-lgpl.c (main): Likewise.
40599         * tests/test-canonicalize.c (main): Likewise.
40600         * tests/test-fstatat.c (main): Likewise.
40601         * tests/test-linkat.c (main): Likewise.
40602         * tests/test-lstat.h (test_lstat_func): Likewise.
40603         * tests/test-mkdir.h (test_mkdir): Likewise.
40604         * tests/test-readlink.h (test_readlink): Likewise.
40605         * tests/test-remove.c (main): Likewise.
40606         * tests/test-rename.h (test_rename): Likewise.
40607         * tests/test-renameat.c (main): Likewise.
40608         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40609         * tests/test-symlink.h (test_symlink): Likewise.
40610         * tests/test-symlinkat.c (main): Likewise.
40611         * tests/test-unlink.h (test_unlink_func): Likewise.
40612         * tests/test-unlinkat.c (main): Likewise.
40613
40614         maint: make realtime library usage explicit
40615         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
40616         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
40617         * modules/settime (Link): Likewise.
40618         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
40619
40620         test-stat-time: speed up execution
40621         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
40622         warning on mingw.
40623         (nap): New helper function.
40624         (prepare_test): Use it to reduce sleep time.
40625         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
40626         execution.
40627         * modules/stat-time-tests (configure.ac): Check for usleep.
40628
40629 2009-10-09  Jim Meyering  <meyering@redhat.com>
40630
40631         selinux-h: always use getfilecon wrappers
40632         * lib/getfilecon.c: New file.
40633         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
40634         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
40635         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
40636         (fgetfilecon): Provide a stub.
40637         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
40638         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
40639         file unconditionally.
40640         When <selinux/selinux.h> is found, arrange to use wrappers.
40641         * modules/selinux-h (Files): Add getfilecon.c.
40642         (Makefile.am): Substitute include-next-related bits
40643         into the now-always-generated selinux/selinux.h file.
40644         * doc/glibc-functions/lgetfilecon.texi: New file.
40645         * doc/glibc-functions/fgetfilecon.texi: New file.
40646         * doc/glibc-functions/getfilecon.texi: New file.
40647         * doc/glibc-functions/getfilecon-desc.texi: New file.
40648         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
40649         which to pull in the new files.
40650         * MODULES.html.sh (Misc): Add selinux-h.
40651
40652 2009-10-08  Jim Meyering  <meyering@redhat.com>
40653
40654         unistd: fix comment typo
40655         * lib/unistd.in.h (euidaccess): Fix a comment typo.
40656
40657 2009-10-08  Eric Blake  <ebb9@byu.net>
40658
40659         areadlink: use SIZE_MAX consistently
40660         * modules/areadlink (Depends-on): Add stdint.
40661         * modules/areadlink-with-size (Depends-on): Likewise.
40662         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
40663         gives NULL; drop sys/types, since unistd gives size_t; and add
40664         stdint for SIZE_MAX.
40665         (SIZE_MAX): Rely on headers.
40666         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
40667         and add stdint.
40668         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
40669         (SIZE_MAX): Likewise.
40670         (INITIAL_BUF_SIZE): Turn into enum.
40671         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
40672
40673 2009-10-08  Jim Meyering  <meyering@redhat.com>
40674
40675         areadlinkat: avoid compilation failure
40676         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
40677         Fix typo in comment.
40678
40679 2009-10-07  Eric Blake  <ebb9@byu.net>
40680
40681         areadlinkat-with-size: new module
40682         * modules/areadlinkat-with-size: New module.
40683         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
40684         * lib/areadlink.h (areadlinkat): Declare it.
40685         * MODULES.html.sh (File system functions): Mention it.
40686         * modules/areadlinkat-with-size-tests: New test.
40687         * tests/test-areadlinkat-with-size.c: New file.
40688
40689         xreadlinkat: new module
40690         * modules/xreadlinkat: New module.
40691         * lib/xreadlinkat.c (xreadlinkat): New file.
40692         * lib/xreadlink.h (xreadlinkat): Declare it.
40693         * MODULES.html.sh (File system functions): Mention it.
40694
40695         areadlinkat: new module
40696         * lib/at-func.c (FUNC_FAIL): New define.
40697         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
40698         * modules/areadlinkat: New module.
40699         * lib/linkat.c (areadlinkat): Move...
40700         * lib/areadlinkat.c (areadlinkat): ...to new file.
40701         * lib/areadlink.h (areadlinkat): Declare it.
40702         * modules/linkat (Depends-on): Add areadlinkat.
40703         * MODULES.html.sh (File system functions): Mention it.
40704         * modules/areadlinkat-tests: New test.
40705         * tests/test-areadlinkat.c: New file.
40706
40707         areadlink, areadlink-with-size: add tests
40708         * modules/areadlink-tests: New test.
40709         * modules/areadlink-with-size-tests: Likewise.
40710         * tests/test-areadlink.h: New file.
40711         * tests/test-areadlink.c: Likewise.
40712         * tests/test-areadlink-with-size.c: Likewise.
40713
40714         maint: minor cleanups
40715         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
40716         _UNUSED_PARAMETER_ instead.
40717         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
40718         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
40719         * modules/linkat-tests (Files): Distribute test-link.h.
40720
40721         openat, utimens: whitespace cleanup
40722         * lib/openat.c: Prefer space throughout, rather than mix of 8
40723         spaces vs. tabs.
40724         * lib/at-func.c: Likewise.
40725         * lib/utimens.c: Likewise.
40726
40727         openat: avoid using wrong fd
40728         * lib/openat.c (openat_permissive): Reject user's fd if saving the
40729         working directory chooses same fd.
40730         * lib/at-func.c (AT_FUNC_NAME): Likewise.
40731
40732         mkdir, mkdirat: fix cygwin 1.5.x bug
40733         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
40734         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
40735         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
40736         bug.
40737         (gl_PREREQ_MKDIR): Delete unused macro.
40738         * modules/mkdir (Files): Track file rename.
40739         (configure.ac): Update macro name.
40740         * modules/openat (Depends-on): Add mkdir.
40741         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
40742
40743         mkdir, mkdirat: add tests
40744         * modules/mkdir-tests: New test.
40745         * tests/test-mkdir.h: New file.
40746         * tests/test-mkdir.c: Likewise.
40747         * tests/test-mkdirat.c: Likewise.
40748         * modules/openat-tests (Files): Add new files.
40749         (Makefile.am): Run new test.
40750
40751 2009-10-06  Eric Blake  <ebb9@byu.net>
40752
40753         doc: tweak *at function documentation
40754         * doc/posix-functions/faccessat.texi (faccessat): Mention
40755         known issue with replacement.
40756         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
40757         * doc/posix-functions/linkat.texi (linkat): Likewise.
40758         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
40759         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
40760         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40761         * doc/posix-functions/renameat.texi (renameat): Likewise.
40762         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40763
40764         openat: fix GNU/Hurd bug in unlinkat
40765         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
40766         broken.
40767         * doc/posix-functions/unlink.texi (unlink): Document this.
40768         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
40769
40770         fdopendir: fix GNU/Hurd bug
40771         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
40772         allowing non-directory fds.
40773         * lib/fdopendir.c (rpl_fdopendir): Work around it.
40774         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
40775         * modules/dirent (Makefile.am): Substitute it.
40776         * lib/dirent.in.h (fdopendir): Declare replacement.
40777         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
40778         * tests/test-fdopendir.c (main): Test something other than
40779         /dev/null, since on Hurd that behaves like a directory.
40780
40781         test-symlink: port to GNU/Hurd
40782         * tests/test-symlink.h (test_symlink): Relax expected errno.
40783
40784         doc: tweak more cygwin information
40785         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
40786         now compatible with glibc.
40787         * doc/posix-functions/getopt.texi (getopt): Likewise.
40788
40789         getopt-gnu: add another test
40790         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
40791         guarantee behavior relied on by m4.
40792         * tests/test-getopt.c (main): Use it.
40793         * modules/getopt-posix-tests (Depends-on): Add setenv.
40794         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
40795
40796         getopt: fix compilation on darwin
40797         * lib/getopt.in.h (includes): Leave breadcrumbs during system
40798         include.
40799         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
40800         Reported by Ludovic Courtès.
40801
40802 2009-10-06  Bruno Haible  <bruno@clisp.org>
40803
40804         * modules/size_max (Description): Discourage its use.
40805         Reported by Simon Josefsson.
40806
40807 2009-10-06  Jim Meyering  <meyering@redhat.com>
40808
40809         linkat: avoid compilation failure
40810         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
40811
40812 2009-10-05  Eric Blake  <ebb9@byu.net>
40813
40814         linkat: support Linux 2.6.17
40815         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
40816         linkat on Linux, but allow cache variable override.
40817         * lib/linkat.c (rpl_linkat): Define override.
40818         * modules/linkat (Depends-on): Add symlinkat.
40819         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
40820         * modules/unistd (Makefile.am): Substitute it.
40821         * lib/unistd.in.h (linkat): Declare replacement.
40822         Reported by Pádraig Brady.
40823
40824         quotearg: port test to systems with C.UTF-8 locale
40825         * tests/test-quotearg.c (struct result_strings): Add another
40826         member, differentiating between C.ASCII and C.UTF-8 handling.
40827         (compare_strings): Add parameter.
40828         (main): Adjust all callers.
40829
40830         getopt: avoid clash with FreeBSD _getopt_internal
40831         * lib/getopt.in.h (_getopt_internal): Override the name.
40832         * lib/getopt_int.h (includes): Pick up any overrides.
40833         Reported by Reuben Thomas.
40834
40835         hash: allow C89 compilation
40836         * lib/hash.c (check_tuning): Move declaration before statement.
40837         Reported by Reuben Thomas.
40838
40839 2009-10-05  Karl Berry  <karl@gnu.org>
40840
40841         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
40842
40843 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
40844             Bruno Haible  <bruno@clisp.org>
40845
40846         * lib/uname.c (uname): Use a table-driven algorithm to compute
40847         Windows NT versions.
40848
40849 2009-10-04  Bruno Haible  <bruno@clisp.org>
40850
40851         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
40852         program_invocation_short_name.
40853         * modules/progname (configure.ac): Test for presence of
40854         program_invocation_short_name.
40855         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
40856
40857 2009-10-04  Bruno Haible  <bruno@clisp.org>
40858
40859         * lib/progname.c (set_program_name): Fix comment.
40860         Reported by Jim Meyering.
40861
40862 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
40863             Bruno Haible  <bruno@clisp.org>
40864
40865         * lib/uname.c: Include <string.h>.
40866         (uname): Do only one call to GetVersionEx in the common case.
40867
40868 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
40869             Bruno Haible  <bruno@clisp.org>
40870
40871         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
40872         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
40873         (uname): Add support for Windows CE and various non-x86 CPU types.
40874
40875 2009-10-03  Bruno Haible  <bruno@clisp.org>
40876
40877         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
40878         invocation to tests/configure.ac.
40879         Reported by Ian Beckwith <ianb@erislabs.net>.
40880
40881 2009-10-02  Eric Blake  <ebb9@byu.net>
40882
40883         fchdir: avoid compiler warning
40884         * lib/fchdir.c (canonicalize_file_name)
40885         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
40886
40887         test-open: support mingw errno values
40888         * tests/test-open.h (test_open): Relax test.
40889         * tests/test-fopen.h (test_fopen): Likewise.
40890         * tests/test-openat-safer.c (main): Likewise.
40891
40892         open: fix opening directory on mingw
40893         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
40894
40895         test-open: on GNU/Hurd, /dev/null is a directory
40896         * tests/test-fopen.h (main): Rename...
40897         (test_fopen): ...to this.  Use a guaranteed non-directory when
40898         confirming open behavior on trailing slash.
40899         * tests/test-openat-safer.c (main): Likewise.
40900         * tests/test-open.h (main): Likewise....
40901         (test_open): ...to this.
40902         * tests/test-fopen.c (main): Adjust caller.
40903         * tests/test-fopen-safer.c (main): Likewise.
40904         * tests/test-open.c (main): Likewise.
40905         * tests/test-fcntl-safer.c (main): Likewise.
40906         Reported by Samuel Thibault.
40907
40908         rename, fchdir: don't ignore chdir failure
40909         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
40910         * lib/rename.c (rpl_rename) [W32]: Likewise.
40911         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
40912         an empty destination directory if source cannot be renamed,
40913         although there is still possibility for failure.
40914         * doc/posix-functions/rename.texi (rename): Document the race.
40915         Reported by Jim Meyering.
40916
40917         maint: cleanup whitespace in recent commits
40918         * lib/rename.c (rpl_rename): Remove tabs.
40919         * tests/test-link.h (test_link): Likewise.
40920         * lib/fchdir.c (get_name): Likewise.
40921         Reported by Jim Meyering.
40922
40923 2009-10-02  Ben Pfaff  <blp@gnu.org>
40924
40925         relocatable-prog-wrapper: Add missing dependency on
40926         double-slash-root.
40927         * modules/relocatable-prog-wrapper: Add dependency.
40928         Reported by Ian Beckwith <ianb@erislabs.net>.
40929
40930 2009-10-02  Eric Blake  <ebb9@byu.net>
40931
40932         renameat: fix Solaris bugs
40933         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
40934         needed fixing.
40935         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
40936         * modules/stdio (Makefile.am): Substitute it.
40937         * lib/stdio.in.h (renameat): Declare replacement.
40938         * lib/renameat.c (rpl_renameat): Implement fix.
40939
40940         renameat: new module
40941         * modules/renameat: New file.
40942         * lib/renameat.c (renameat): Likewise.
40943         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
40944         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
40945         * modules/stdio (Makefile.am): Substitute them.
40946         * lib/stdio.in.h (renameat): Declare it.
40947         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40948         * doc/posix-functions/renameat.texi (renameat): Likewise.
40949         * modules/renameat-tests: New test.
40950         * tests/test-renameat.c: Likewise.
40951
40952         rename: fix mingw bugs
40953         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
40954         directory overwrite bugs.
40955
40956         rename: fix another cygwin 1.5 bug
40957         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
40958         checks.
40959         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
40960         unnecessary cygwin workarounds.  Also work around bug with moving
40961         full directory onto an empty one.
40962         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
40963
40964         rename-dest-slash: merge into rename module
40965         * modules/rename-dest-slash (Status): Mark obsolete.
40966         (Depends-on): Add rename.
40967         (Files): Let rename do it all.
40968         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
40969         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
40970         * m4/rename-dest-slash.m4: ...so this file can be deleted.
40971         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
40972         * lib/rename.c (rpl_rename): Update comments.
40973
40974         rename: fix cygwin 1.5.x bugs
40975         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
40976         * lib/rename.c (rpl_rename): Work around them.
40977         * modules/rename (Depends-on): Add same-inode.
40978
40979         rename: fix Solaris 10 bug
40980         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
40981         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
40982         was the only bug.
40983
40984         rename: fix Solaris 9 bug
40985         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
40986         on non-directory.  Avoid calling exit.
40987         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
40988         strdup.
40989         * modules/rename-tests (Depends-on): Drop lstat.
40990         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
40991         (gl_PREREQ_RENAME): Delete unused macro.
40992
40993         rename-dest-slash: fix NetBSD bug
40994         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
40995         links.
40996         * modules/rename-dest-slash (Depends-on): Add same-inode.
40997
40998         rename-tests: new test, exposes several platform bugs
40999         * modules/rename-tests: New file.
41000         * tests/test-rename.h: Likewise.
41001         * tests/test-rename.c: Likewise.
41002         * doc/posix-functions/rename.texi (rename): Improve documentation,
41003         including bugs that will eventually be fixed in gnulib.
41004
41005 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
41006
41007         * lib/uname.c: Include <stdlib.h>
41008         (uname): Assume version info is available.
41009
41010 2009-10-02  Jim Meyering  <meyering@redhat.com>
41011
41012         gnu-web-doc-update: correct --help output
41013         * build-aux/gnu-web-doc-update: Make --help output relevant.
41014
41015         gnu-web-doc-update: add standard options
41016         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
41017
41018         gnu-web-doc-update: New module.
41019         Use this script to automatically update the on-line web documentation
41020         for your GNU project at http://www.gnu.org/software/$pkg/manual/
41021         * modules/gnu-web-doc-update: New file, from coreutils.
41022         * build-aux/gnu-web-doc-update: New script.
41023
41024 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
41025
41026         link: LoadLibrary is not needed.
41027         * lib/link.c: Use GetModuleHandle.
41028
41029 2009-10-01  Eric Blake  <ebb9@byu.net>
41030
41031         getopt: bump serial number
41032         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
41033         change.
41034
41035         tests: tighten link, rmdir, and remove tests
41036         * tests/test-link.h (includes): No need to use <config.h> here.
41037         Clean up if directory hard link was created, otherwise test for
41038         trailing '.'.
41039         * tests/test-linkat.c (main): Simplify.
41040         * tests/test-remove.c (main): Enhance test for trailing '.'.
41041         * tests/test-rmdir.h (test_rmdir_func): Likewise.
41042
41043 2009-10-01  Jim Meyering  <meyering@redhat.com>
41044
41045         maint.mk: requiring "make major" was annoying, for a "minor" release.
41046         What is intended is "stable", to contrast with alpha and beta,
41047         so require "make stable", not "make major".
41048         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
41049         (get_tool_versions): Likewise.
41050         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
41051
41052 2009-09-30  Ben Pfaff  <blp@gnu.org>
41053
41054         Fix broken build of replacement for Windows tmpfile().
41055         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
41056         flags argument added along with the 'mkostemp' module.
41057
41058 2009-09-28  Bruno Haible  <bruno@clisp.org>
41059
41060         Avoid identifier clash with POSIX function 'remove' defined as a macro.
41061         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
41062         to 'remove_elt'.
41063         (gl_list_remove): Update.
41064         * lib/gl_list.c (gl_list_remove): Update.
41065         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
41066         to 'remove_elt'.
41067         (gl_oset_remove): Update.
41068         * lib/gl_list.c (gl_oset_remove): Update.
41069         Reported by Eric Blake.
41070
41071 2009-09-28  Eric Blake  <ebb9@byu.net>
41072
41073         doc: mention yet more cygwin 1.7 status
41074         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
41075         cygwin.
41076         * doc/glibc-functions/execvpe.texi (execvpe): New file.
41077         * doc/gnulib.texi (Glibc unistd.h): Mention it.
41078
41079         argp: fix test failure
41080         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
41081         that are not upper-case.  Pass correct range to tolower.
41082
41083 2009-09-27  Jim Meyering  <meyering@redhat.com>
41084
41085         test-yesno: work around sparc-dash here-document infelicity
41086         Without this change, the literal \177 byte in a here document
41087         would make dash 0.5.5.1-3 access uninitialized memory.
41088         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
41089         Instead, use a marker, "@", and filter through tr to create the desired
41090         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
41091
41092 2009-09-27  Bruno Haible  <bruno@clisp.org>
41093
41094         Disable untested support for new flavours of ACLs on AIX.
41095         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
41096         progress.
41097         * lib/set-mode-acl.c (qset_acl): Likewise.
41098
41099 2008-12-07  Bruno Haible  <bruno@clisp.org>
41100
41101         Add support for new flavours of ACLs on AIX. (Untested.)
41102         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
41103         (file_has_acl): Add support for newer AIX.
41104         * lib/set-mode-acl.c (qset_acl): Likewise.
41105         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
41106         Rainer Tammer <tammer@tammer.net>.
41107
41108 2009-09-26  Eric Blake  <ebb9@byu.net>
41109
41110         argp: fix compilation of getopt
41111         * lib/getopt.in.h (includes): Use different guard than glibc.
41112         Reported by Sergey Poznyakoff.
41113
41114         doc: mention more cygwin 1.7 status
41115         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
41116         bug.
41117         * doc/posix-functions/execl.texi (execl): Likewise.
41118         * doc/posix-functions/execle.texi (execle): Likewise.
41119         * doc/posix-functions/execlp.texi (execlp): Likewise.
41120         * doc/posix-functions/execv.texi (execv): Likewise.
41121         * doc/posix-functions/execve.texi (execve): Likewise.
41122         * doc/posix-functions/execvp.texi (execvp): Likewise.
41123         * doc/glibc-functions/canonicalize_file_name.texi
41124         (canonicalize_file_name): Cygwin 1.7 now provides this.
41125         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
41126         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
41127         on AT_SYMLINK_NOFOLLOW.
41128
41129 2009-09-24  Eric Blake  <ebb9@byu.net>
41130
41131         test-linkat: make test more robust
41132         * tests/test-linkat.c (main): Avoid collision with EEXIST.
41133
41134         getopt: fix inclusion guards for cygwin
41135         * modules/getopt-posix (Depends-on): Add include-next.
41136         (Makefile.am): Substitute more items in replacement header.
41137         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
41138         <getopt.h>.
41139         * lib/getopt.in.h (includes): Use split inclusion guard, and
41140         prefer <getopt.h> over include <unistd.h> when one is present.
41141         (option): Also override name of 'struct option'.
41142
41143         same-inode: revert prior change; it is not yet ready
41144         * NEWS: Undo mention of this change.
41145         * lib/same-inode.h (same-inode.h): Undo tri-state change.
41146         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
41147         * lib/cycle-check.c (cycle_check): Likewise.
41148         * lib/same.c (same_name): Likewise.
41149         * lib/at-func2.c (at_func2): Likewise.
41150
41151 2009-09-23  Eric Blake  <ebb9@byu.net>
41152
41153         linkat: new module
41154         * modules/linkat: New file.
41155         * lib/at-func2.c (at_func2): Likewise.
41156         * lib/linkat.c (linkat): Likewise.
41157         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
41158         * lib/openat-priv.h (at_func2): Add declaration.
41159         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41160         * modules/unistd (Makefile.am): Substitute them.
41161         * lib/unistd.in.h (linkat): Declare it.
41162         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41163         * doc/posix-functions/linkat.texi (linkat): Likewise.
41164         * doc/posix-functions/link.texi (link): Tweak wording.
41165         * tests/test-link.c (main): Move guts...
41166         * tests/test-link.h (test_link): ...into new file.
41167         * modules/linkat-tests: New test.
41168         * tests/test-linkat.c: Likewise.
41169         * modules/link-tests (Files): Ship new file.
41170         (Depends-on): Add stdbool.
41171
41172         dirname: add library-safe mdir_name
41173         * lib/dirname.h (mdir_name): New prototype.
41174         * lib/dirname.c (dir_name): Move guts...
41175         (mdir_name): ...to new function that avoids xalloc_die.
41176
41177         fchdir: another mingw fix
41178         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
41179         * lib/fchdir.c (get_name): New helper method; skips canonicalize
41180         on mingw (where it has not yet been ported), and make it optional
41181         elsewhere.
41182         (_gl_register_fd): Use it.
41183
41184         same-inode: make SAME_INODE tri-state, to port to mingw
41185         * NEWS: Mention this change.
41186         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
41187         st_ino always being 0.
41188         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
41189         * lib/cycle-check.c (cycle_check): Likewise.
41190         * lib/same.c (same_name): Likewise.
41191
41192         lstat: avoid mingw compilation error
41193         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
41194         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
41195         lstat ourselves.
41196         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
41197         was adequate.
41198         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
41199         the checks for lstat.
41200         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
41201
41202         link: fix test failure on Solaris 9
41203         * lib/link.c (rpl_link): Don't assume link will catch bogus
41204         trailing slash on source.
41205
41206         test-symlinkat: enhance test
41207         * tests/test-readlink.c (main): Move guts...
41208         * tests/test-readlink.h (test_readlink): ...into new file.
41209         * tests/test-symlink.c (main): Move guts...
41210         * tests/test-symlink.h (test_symlink): ...into new file.
41211         * tests/test-symlinkat.c (main): Use new files for further
41212         coverage.
41213         (do_symlink, do_readlink): New helper functions.
41214         * modules/symlink-tests (Files): Ship new file.
41215         (Depends-on): Add stdbool.
41216         * modules/readlink-tests (Files): Ship new file.
41217         (Depends-on): Add stdbool.
41218         * modules/symlinkat-tests (Files): Use new files.
41219
41220 2009-09-23  Eric Blake  <ebb9@byu.net>
41221
41222         readlink: document portability issue with symlink length
41223         * doc/posix-functions/lstat.texi (lstat): Mention that some file
41224         systems have bogus st_size on symlinks, and mention the
41225         areadlink-with-size module.
41226         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
41227         * doc/posix-functions/readlink.texi (readlink): Mention the
41228         areadlink module, and ERANGE failure.
41229         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41230         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
41231
41232         readlink: fix Solaris 9 bug with trailing slash
41233         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
41234         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
41235         * doc/posix-functions/readlink.texi (readlink): Document this.
41236         * modules/readlink-tests: New test.
41237         * tests/test-readlink.c: Likewise.
41238
41239         readlink: fix cygwin 1.5.x bug with return type
41240         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
41241         * lib/unistd.in.h (readlink): Use ssize_t.
41242         * lib/readlink.c (readlink): Likewise.
41243         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41244         * modules/unistd (Makefile.am): Substitute it.
41245         * lib/unistd.in.h (readlink): Declare replacement.
41246         * doc/posix-functions/readlink.texi (readlink): Document this.
41247
41248         symlink: use throughout gnulib
41249         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
41250         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
41251         symlink is not used.
41252         * modules/symlinkat (Depends-on): Add symlink.
41253         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
41254         * modules/canonicalize-tests (Depends-on): Likewise.
41255         * modules/lstat-tests (Depends-on): Likewise.
41256         * modules/openat-tests (Depends-on): Likewise.
41257         * modules/remove-tests (Depends-on): Likewise.
41258         * modules/rmdir-tests (Depends-on): Likewise.
41259         * modules/unlink-tests (Depends-on): Likewise.
41260         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
41261         * tests/test-canonicalize.c (symlink): Likewise.
41262         * tests/test-fstatat.c (symlink): Likewise.
41263         * tests/test-lstat.c (symlink): Likewise.
41264         * tests/test-remove.c (symlink): Likewise.
41265         * tests/test-rmdir.c (symlink): Likewise.
41266         * tests/test-unlink.c (symlink): Likewise.
41267         * tests/test-unlinkat.c (symlink): Likewise.
41268
41269         symlink: new module, for Solaris 9 bug
41270         * modules/symlink: New file.
41271         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
41272         * lib/symlink.c: Likewise.
41273         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
41274         * modules/unistd (Makefile.am): Substitute them.
41275         * lib/unistd.in.h (symlink): Declare replacement.
41276         * MODULES.html.sh (File system functions): Mention it.
41277         * doc/posix-functions/symlink.texi (symlink): Likewise.
41278         * modules/symlink-tests: New test.
41279         * tests/test-symlink.c: Likewise.
41280
41281 2009-09-23  Bruno Haible  <bruno@clisp.org>
41282
41283         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
41284         when needed.
41285         Test case: gnulib-tool --import --with-tests atexit inttypes.
41286         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
41287
41288 2009-09-23  Bruno Haible  <bruno@clisp.org>
41289
41290         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
41291         subcommand, not in a subshell.
41292
41293 2009-09-22  Eric Blake  <ebb9@byu.net>
41294
41295         unistd: sort replacement declarations
41296         * lib/unistd.in.h: Sort declarations.
41297
41298         open, openat: minor optimization
41299         * lib/open.c (open): If open succeeded, len is non-zero.
41300         * lib/openat.c (rpl_openat): Likewise.
41301
41302         link-follow: ensure correct result
41303         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
41304         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
41305         distinguish between possible failures.
41306
41307 2009-09-21  Eric Blake  <ebb9@byu.net>
41308
41309         fts: avoid compiler warning
41310         * lib/fts.c (dirent_inode_sort_may_be_useful)
41311         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
41312
41313 2009-09-19  Bruno Haible  <bruno@clisp.org>
41314
41315         * lib/progreloc.c (canonicalize_file_name): New declaration.
41316
41317 2009-09-19  Eric Blake  <ebb9@byu.net>
41318
41319         link: fix quoting
41320         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
41321
41322         openat: fix openat bugs on Solaris 9
41323         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
41324         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
41325         * modules/openat (Depends-on): Add open.
41326         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
41327         * modules/fcntl-h (Makefile.am): Substitute it.
41328         * lib/fcntl.in.h (openat): Declare replacement.
41329         * doc/posix-functions/openat.texi (openat): Document this.
41330
41331         openat: move fstatat and unlinkat into correct files
41332         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
41333         compiled.
41334         * lib/openat.c (fstatat, unlinkat): Move...
41335         * lib/fstatat.c (fstatat): ...into correct files.
41336         * lib/unlinkat.c (unlinkat): Likewise.
41337
41338         openat: fix unlinkat bugs on Solaris 9
41339         * lib/unlinkat.c (unlinkat): New file.
41340         * modules/openat (Depends-on): Add unlink.
41341         (Files): Distribute it.
41342         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
41343         trailing slash behavior is broken.
41344         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41345         * modules/unistd (Makefile.am): Substitute it.
41346         * lib/unistd.in.h (unlinkat): Declare replacement.
41347         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
41348
41349         openat: fix fstatat bugs on Solaris 9
41350         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
41351         stat.
41352         * doc/posix-functions/fstatat.texi (fstatat): Document this.
41353
41354         test-unlinkat: enhance test, to expose Solaris 9 bug
41355         * tests/test-unlink.c (main): Factor guts...
41356         * tests/test-unlink.h (test_rmdir_func): ...into new file.
41357         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
41358         * tests/test-rmdir.c (main): Adjust caller.
41359         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
41360         (unlinker): New helper function.
41361         (rmdirat): Enhance check.
41362         * modules/rmdir-tests (Depends-on): Add stdbool.
41363         * modules/unlink-tests (Depends-on): Likewise.
41364         (Files): Add test-unlink.h.
41365         * modules/openat-tests (Files): Likewise.
41366         (Depends-on): Add unlinkdir.
41367
41368         test-fstatat: new test, to expose Solaris 9 bugs
41369         * tests/test-stat.c (main): Factor guts...
41370         * tests/test-stat.h (test_stat_func): ...into new file.
41371         * tests/test-lstat.c (main): Factor guts...
41372         * tests/test-lstat.h (test_lstat_func): ...into new file.
41373         * tests/test-fstatat.c: New file.
41374         * modules/stat-tests (Files): Add test-stat.h.
41375         * modules/lstat-tests (Files): Add test-lstat.h.
41376         (Depends-on): Add stdbool.
41377         * modules/openat-tests (Depends-on): Add pathmax.
41378         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
41379         (Makefile.am): Run new test.
41380
41381         remove: new module, for mingw and Solaris 9 bugs
41382         * modules/remove: New file.
41383         * lib/remove.c: Likewise.
41384         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
41385         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
41386         * modules/stdio (Makefile.am): Use them.
41387         * lib/stdio.in.h (remove): Declare replacement.
41388         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41389         * doc/posix-functions/remove.texi (remove): Likewise.
41390         * modules/remove-tests: New test.
41391         * tests/test-remove.c: Likewise.
41392
41393         unlink: new module, for Solaris 9 bug
41394         * modules/unlink: New file.
41395         * lib/unlink.c: Likewise.
41396         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
41397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41398         * modules/unistd (Makefile.am): Use them.
41399         * lib/unistd.in.h (stat): Declare replacement.
41400         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41401         * doc/posix-functions/unlink.texi (unlink): Likewise.
41402         * modules/unlink-tests: New test.
41403         * tests/test-unlink.c: Likewise.
41404
41405         lstat: fix Solaris 9 bug
41406         * lib/lstat.c (lstat): Also check for trailing slash on
41407         non-symlink, non-directories.  Use stat module to simplify logic.
41408         * doc/posix-functions/lstat.texi (lstat): Document it.
41409         * modules/lstat-tests (Depends-on): Add errno, same-inode.
41410         (configure.ac): Check for symlink.
41411         * tests/test-lstat.c (main): Add more tests.
41412
41413         stat: add as dependency to other modules
41414         * modules/chown (Depends-on): Add stat.
41415         * modules/euidaccess (Depends-on): Likewise.
41416         * modules/fchdir (Depends-on): Likewise.
41417         * modules/isdir (Depends-on): Likewise.
41418         * modules/link (Depends-on): Likewise.
41419         * modules/lstat (Depends-on): Likewise.
41420         * modules/mkdir-p (Depends-on): Likewise.
41421         * modules/modechange (Depends-on): Likewise.
41422         * modules/open (Depends-on): Likewise.
41423         * modules/readlink (Depends-on): Likewise.
41424         * modules/same (Depends-on): Likewise.
41425
41426         stat: fix Solaris 9 bug
41427         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
41428         slash.
41429         * lib/stat.c (rpl_stat): Work around it.
41430         * doc/posix-functions/stat.texi (stat): Update documentation.
41431
41432         stat: new module, for mingw bug
41433         * modules/stat: New file.
41434         * lib/stat.c: Likewise.
41435         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
41436         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41437         * modules/sys_stat (Makefile.am): Use them.
41438         * lib/sys_stat.in.h (stat): Declare replacement.
41439         * lib/openat.c (fstatat): Deal with lstat and stat being function
41440         macros.
41441         * modules/openat (Depends-on): Add inline.
41442         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41443         * doc/posix-functions/stat.texi (stat): Likewise.
41444         * modules/stat-tests: New test.
41445         * tests/test-stat.c: Likewise.
41446
41447 2009-09-19  Jim Meyering  <meyering@redhat.com>
41448
41449         syntax-check: detect unnecessary inclusion of canonicalize.h
41450         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
41451
41452 2009-09-19  Eric Blake  <ebb9@byu.net>
41453
41454         canonicalize-lgpl: adjust clients to use correct header
41455         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
41456         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
41457         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
41458         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
41459         * lib/progreloc.c (includes): Likewise.
41460
41461 2009-09-19  Jim Meyering  <meyering@redhat.com>
41462
41463         test-posixtm.c: correct a comment
41464         * tests/test-posixtm.c: Correct first-line comment.
41465         Spotted by Eric Blake.
41466
41467 2009-09-16  Jim Meyering  <meyering@redhat.com>
41468
41469         posixtm-tests: make T const-correct; add a test case
41470         * tests/test-posixtm.c (T): Declare const.
41471         Add a test for -(2^31+1).
41472         Remove useless can-succeed-only-in-2002 test.
41473
41474         posixtm-tests: adjust the sole failing test
41475         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
41476         expected output matches what mktime now produces.  Cross-checked via
41477         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
41478
41479         posixtm: move #ifdef'd tests into a new module
41480         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
41481         * tests/test-posixtm.c: ... this new file.
41482         * modules/posixtm-tests: New module.
41483
41484 2009-09-19  Eric Blake  <ebb9@byu.net>
41485
41486         openat: simplify use of at-func.c
41487         * lib/at-func.c (includes): Include prerequisites here, to
41488         simplify requirements on client files.
41489         * lib/openat-priv.h: Add double-inclusion guard.
41490         * lib/faccessat.c (includes): Simplify.
41491         * lib/fchmodat.c (includes): Likewise.
41492         * lib/fchownat.c (includes): Likewise.
41493         * lib/mkdirat.c (includes): Likewise.
41494         * lib/mkfifoat.c (includes): Likewise.
41495         * lib/symlinkat.c (includes): Likewise.
41496
41497         openat: allow return of fd 0
41498         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
41499         * modules/save-cwd (Depends-on): Replace fcntl-safer with
41500         unistd-safer.
41501         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
41502         <fcntl.h>; this module does not leak fds.
41503         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
41504         must be allowed to return 0, leaving openat_safer to add the
41505         safety.
41506         (openat_permissive): Avoid writing to just-opened fd 2 if
41507         restoring the current directory fails.
41508         * lib/openat-die.c (openat_restore_fail): Add comment.
41509         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
41510         (save_cwd): Guarantee safe fd, but without use of open_safer.
41511         * tests/test-openat.c: New test.
41512         * modules/openat-tests (Files, Makefile.am): Distribute and build
41513         new file.
41514
41515         relocatable-prog-wrapper: fix build
41516         * modules/relocatable-prog-wrapper (Files): Update name of
41517         canonicalize m4 file, broken on 2009-09-17.
41518         Reported by emad hajjar <aleppos@hotmail.com>.
41519
41520 2009-09-19  Bruno Haible  <bruno@clisp.org>
41521
41522         * lib/safe-alloc.h: Use the standard header with GPL copyright.
41523         * lib/safe-alloc.c: Likewise.
41524         Reported by Ian Beckwith <ianb@erislabs.net>.
41525
41526 2009-09-18  Bruno Haible  <bruno@clisp.org>
41527
41528         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
41529         Reported by <erobles@sensacd.com.mx>.
41530
41531 2009-09-17  Eric Blake  <ebb9@byu.net>
41532
41533         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
41534         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
41535         slashes when checking if last component is missing.
41536         * tests/test-canonicalize.c (main): Test this.
41537
41538         canonicalize, canonicalize-lgpl: honor // if distinct from /
41539         * modules/canonicalize (Files): Add double-slash-root.m4.
41540         * modules/canonicalize-lgpl (Files): Likewise.
41541         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
41542         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
41543         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
41544         fallback definition.
41545         (canonicalize_filename_mode): Use it to protect //.
41546         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
41547         (__realpath): Likewise.
41548         * tests/test-canonicalize.c (main): Test this.
41549         * tests/test-canonicalize-lgpl.c (main): Likewise.
41550         * modules/canonicalize-tests (Depends-on): Add same-inode.
41551         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
41552
41553         canonicalize-lgpl: fix glibc bug with trailing slash
41554         * m4/canonicalize-lgpl.m4: Move contents...
41555         * m4/canonicalize.m4: ...here.
41556         (gl_CANONICALIZE_LGPL): Factor realpath check...
41557         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
41558         glibc 2.3.5 bug, fixed 2005-04-27.
41559         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
41560         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
41561         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
41562         * modules/canonicalize-lgpl (Files): Manage file rename.
41563         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
41564         * modules/stdlib (Makefile.am): Substitute witness.
41565         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
41566         is needed.
41567         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
41568         replacement is required.
41569         * lib/canonicalize.c (canonicalize_file_name): Likewise.
41570         * doc/glibc-functions/canonicalize_file_name.texi
41571         (canonicalize_file_name): Document this.
41572         * doc/posix-functions/realpath.texi (realpath): Likewise.
41573
41574         canonicalize-lgpl: reject non-directory with trailing slash
41575         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
41576         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
41577         catches failures in glibc 2.3.5.
41578         * tests/test-canonicalize.c (main): Likewise.
41579
41580         canonicalize-lgpl: use native realpath if it works
41581         * lib/canonicalize-lgpl.c (realpath): Guard with
41582         FUNC_REALPATH_WORKS.
41583         * lib/stdlib.in.h (realpath): Make declaration optional based on
41584         HAVE_REALPATH.
41585         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
41586         native realpath works.
41587         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
41588         * modules/stdlib (Makefile.am): Substitute witness.
41589
41590         canonicalize, canonicalize-lgpl: use <stdlib.h>
41591         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
41592         (Include): Mention <stdlib.h>.
41593         (configure.ac): Mention functions we provide.
41594         * modules/canonicalize (configure.ac): Likewise.
41595         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
41596         realpath if canonicalize_file_name is missing.
41597         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
41598         * modules/stdlib (Makefile.am): Substitute witnesses.
41599         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
41600         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
41601         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
41602         * NEWS: Document this.
41603         * doc/glibc-functions/canonicalize_file_name.texi
41604         (canonicalize_file_name): Likewise.
41605         * doc/posix-functions/realpath.texi (realpath): Likewise.
41606         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
41607
41608         test-canonicalize: consolidate into single C program
41609         * tests/test-canonicalize.sh: Delete; move setup into...
41610         * tests/test-canonicalize.c (main): ...the program, making it
41611         easier to run in debugger.  Add some tests.
41612         * modules/canonicalize-tests (Files): Remove unused file.
41613         (Depends-on): Add progname.
41614         (configure.ac, Makefile.am): Simplify.
41615
41616         test-canonicalize-lgpl: consolidate into single C program
41617         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
41618         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
41619         easier to run in debugger.  Add some tests.
41620         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
41621         (configure.ac, Makefile.am): Simplify.
41622
41623         canonicalize: avoid resolvepath
41624         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
41625         unnecessary checks.
41626         * lib/canonicalize.c (includes): Simplify.
41627         (canonicalize_file_name): Drop resolvepath implementation.
41628         * modules/canonicalize (Depends-on): Drop filenamecat.
41629
41630         canonicalize: don't lose errno
41631         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
41632         over calls to free.
41633
41634         canonicalize: simplify errno handling
41635         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
41636         assignment.
41637
41638         canonicalize, canonicalize-lgpl: update module dependencies
41639         * modules/canonicalize (Depends-on): Add extensions, lstat,
41640         pathmax, stdlib.
41641         (Files): Drop pathmax.h.
41642         (configure.ac): Adjust macro name.
41643         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
41644         lstat, stdlib, sys_stat.
41645         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
41646         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
41647         extensions.
41648         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
41649         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
41650         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
41651         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
41652         declaration, if available.
41653         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
41654         we can rely on the readlink module.
41655         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
41656         (includes): Use <unistd.h> unconditionally.
41657
41658 2009-09-17  Eric Blake  <ebb9@byu.net>
41659
41660         maint: make Include sections of modules consistent
41661         * modules/alloca: Use only header name; no need to list #include.
41662         * modules/alloca-opt: Likewise.
41663         * modules/arpa_inet: Likewise.
41664         * modules/canon-host: Likewise.
41665         * modules/configmake: Likewise.
41666         * modules/dirent: Likewise.
41667         * modules/eealloc: Likewise.
41668         * modules/environ: Likewise.
41669         * modules/fchdir: Likewise.
41670         * modules/fcntl: Likewise.
41671         * modules/fcntl-h: Likewise.
41672         * modules/gethrxtime: Likewise.
41673         * modules/gettime: Likewise.
41674         * modules/ignore-value: Likewise.
41675         * modules/inet_ntop: Likewise.
41676         * modules/inet_pton: Likewise.
41677         * modules/inttypes: Likewise.
41678         * modules/isnand-nolibm: Likewise.
41679         * modules/isnanf-nolibm: Likewise.
41680         * modules/mbchar: Likewise.
41681         * modules/mbfile: Likewise.
41682         * modules/mbiter: Likewise.
41683         * modules/mbuiter: Likewise.
41684         * modules/netdb: Likewise.
41685         * modules/netinet_in: Likewise.
41686         * modules/nproc: Likewise.
41687         * modules/pagealign_alloc: Likewise.
41688         * modules/poll: Likewise.
41689         * modules/printf-frexp: Likewise.
41690         * modules/pthread: Likewise.
41691         * modules/putenv: Likewise.
41692         * modules/random_r: Likewise.
41693         * modules/relocatable-prog: Likewise.
41694         * modules/search: Likewise.
41695         * modules/select: Likewise.
41696         * modules/selinux-h: Likewise.
41697         * modules/settime: Likewise.
41698         * modules/signal: Likewise.
41699         * modules/size_max: Likewise.
41700         * modules/socklen: Likewise.
41701         * modules/ssize_t: Likewise.
41702         * modules/stdarg: Likewise.
41703         * modules/stdbool: Likewise.
41704         * modules/stddef: Likewise.
41705         * modules/stdint: Likewise.
41706         * modules/stdio: Likewise.
41707         * modules/stdlib: Likewise.
41708         * modules/string: Likewise.
41709         * modules/strings: Likewise.
41710         * modules/sys_file: Likewise.
41711         * modules/sys_ioctl: Likewise.
41712         * modules/sys_select: Likewise.
41713         * modules/sys_socket: Likewise.
41714         * modules/sys_stat: Likewise.
41715         * modules/sys_time: Likewise.
41716         * modules/sys_times: Likewise.
41717         * modules/sys_utsname: Likewise.
41718         * modules/sys_wait: Likewise.
41719         * modules/sysexits: Likewise.
41720         * modules/time: Likewise.
41721         * modules/times: Likewise.
41722         * modules/tmpfile: Likewise.
41723         * modules/trim: Likewise.
41724         * modules/unistd: Likewise.
41725         * modules/wchar: Likewise.
41726         * modules/wctype: Likewise.
41727
41728 2009-09-17  Bruno Haible  <bruno@clisp.org>
41729
41730         Make getdate.y compile on QNX and NetBSD 5 / i386.
41731         * m4/getdate.m4 (gl_GETDATE): Conditionally define
41732         TIME_T_FITS_IN_LONG_INT.
41733         * lib/getdate.y (long_time_t): New type.
41734         (relative_time): Change type of 'seconds' field to long_time_t.
41735         (get_date): Update types of local variables. Check against overflow
41736         during conversion from long_time_t to time_t.
41737         Reported by Matt Kraai <kraai@ftbfs.org>
41738         and Hasso Tepper <hasso@netbsd.org>.
41739
41740 2009-09-17  Bruno Haible  <bruno@clisp.org>
41741
41742         * modules/COPYING: Update copyright years.
41743         * modules/README: Likeiwse.
41744         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
41745         Reported by Ian Beckwith <ianb@erislabs.net>.
41746
41747 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
41748
41749         * users.txt: Update references for gnuit package.
41750
41751 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
41752
41753         * m4/getdelim.m4: Fix typo in copyright line.
41754
41755 2009-09-17  Bruno Haible  <bruno@clisp.org>
41756
41757         * lib/atoll.c: Use the standard header with GPL copyright.
41758         * lib/argz.in.h: Likewise.
41759         * lib/glob.c: Likewise.
41760         * lib/glob-libc.h: Likewise.
41761         * lib/random_r.c: Likewise.
41762         * lib/siglist.h: Likewise.
41763         * lib/strsignal.c: Likewise.
41764         Reported by Ian Beckwith <ianb@erislabs.net>.
41765
41766 2009-09-17  Eric Blake  <ebb9@byu.net>
41767
41768         rmdir: ensure correct dependency order
41769         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
41770
41771 2009-09-17  Bruno Haible  <bruno@clisp.org>
41772
41773         Disable assertion that fails on NetBSD 5 / i386.
41774         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
41775         Reported by Sam Steingold <sds@gnu.org>
41776         and Hasso Tepper <hasso@netbsd.org>.
41777
41778 2009-09-16  Eric Blake  <ebb9@byu.net>
41779
41780         unlinkdir: port to mingw
41781         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
41782         on which no one can unlink a directory.
41783
41784         stdlib: sort witness names
41785         * modules/stdlib (Makefile.am): Sort replacements.
41786         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
41787         * lib/stdlib.in.h: Likewise.
41788
41789         parse-duration-tests: avoid link failure
41790         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
41791         LIBINTL.
41792         Reported by Tom G. Christensen.
41793
41794         openat-tests: ensure unlinkat behaves like rmdir
41795         * tests/test-rmdir.c (main): Factor guts...
41796         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
41797         * modules/rmdir-tests (Files): Ship new file.
41798         * modules/openat-tests: New test.
41799         * tests/test-unlinkat.c: Likewise.
41800
41801         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
41802         * modules/rmdir-errno (Status, Notice): Now obsolete.
41803
41804         rmdir: work around cygwin 1.5.x and mingw bugs
41805         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
41806         * lib/rmdir.c (rmdir): Work around it.
41807         * modules/rmdir (Status, Notice): No longer obsolete.
41808         (Files): Add dos.m4.
41809         (Depends-on): Add unistd.
41810         (configure.ac): Set witnesses.
41811         (License): Relax to LGPLv2+.
41812         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
41813         * modules/unistd (Makefile.am): Substitute witnesses.
41814         * lib/unistd.in.h (rmdir): Declare replacement.
41815         * doc/posix-functions/rmdir.texi (rmdir): Document this.
41816         * modules/rmdir-tests: New tests.
41817         * tests/test-rmdir.c: Likewise.
41818
41819 2009-09-15  Eric Blake  <ebb9@byu.net>
41820
41821         fchdir: improve use of replacement functions
41822         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
41823         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
41824         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
41825         REPLACE_CLOSEDIR.
41826         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
41827         * modules/sys_stat (Makefile.am): Substitute correct witness.
41828         * modules/dirent (Makefile.am): Likewise.
41829         * modules/unistd (Makefile.am): Likewise.
41830         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
41831         * lib/unistd.in.h (dup): Likewise.
41832         * lib/sys_stat.in.h (fstat): Likewise.
41833
41834         maint: ignore gnulib-tool temp files
41835         * .gitignore: Ignore files created during gnulib-tool --test.
41836
41837 2009-09-13  Jim Meyering  <meyering@redhat.com>
41838
41839         posixtm: don't reject a time that specify "60" as the number of seconds
41840         * lib/posixtm.c (posixtime): The code to reject invalid dates
41841         would also reject a time specified with the .60 suffix.
41842         But POSIX allows that, in order to accommodate leap seconds.
41843         So don't reject it.
41844         (main): Adjust tests accordingly.
41845         * modules/posixtm (Depends-on): Add stpcpy.
41846
41847 2009-09-11  Jim Meyering  <meyering@redhat.com>
41848
41849         announce-gen: include [$release_type] in emitted Subject:
41850         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
41851         e.g., [stable] in the emitted Subject: line.
41852
41853 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41854
41855         Remove obsolete macros from several modules.
41856         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
41857         obsolete Autoconf macros with their modern counterparts.
41858         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
41859         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
41860         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
41861         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
41862         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
41863         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
41864         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
41865         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41866         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
41867         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
41868         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
41869         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
41870         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
41871         * m4/sockets.m4 (gl_SOCKETS): Likewise.
41872         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
41873         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
41874         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
41875         * m4/time_r.m4 (gl_TIME_R): Likewise.
41876         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
41877         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
41878         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
41879
41880         Fix copyright header in build-aux scripts.
41881         * build-aux/git-version-gen: Fix copyright header to match GPLv3
41882         recommendation.
41883         * build-aux/ncftpput-ftp: Likewise.
41884         * build-aux/update-copyright: Likewise.
41885
41886 2009-09-09  Eric Blake  <ebb9@byu.net>
41887
41888         test-link: allow Linux choice of errno
41889         * tests/test-link.c (main): Relax test for alternate error.
41890
41891         strndup: fix improper m4 caching
41892         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
41893         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
41894         (gl_PREREQ_STRNDUP): Delete.
41895         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
41896         * modules/string (Makefile.am): Substitute it.
41897         * lib/string.in.h (strndup): Modernize prototype.
41898
41899         getcwd: port to mingw
41900         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
41901         different from the POSIX assumptions made throughout the getcwd
41902         module; fortunately, the mingw getcwd does not need replacement.
41903         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
41904         * modules/getcwd-tests: New test.
41905         * tests/test-getcwd.c: Likewise.
41906
41907         link: fix platform bugs
41908         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
41909         * lib/link.c (link): Work around them.  Fix related mingw bug.
41910         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
41911         * modules/unistd (Makefile.am): Substitute it.
41912         * lib/unistd.in.h (link): Declare replacement.
41913         * doc/posix-functions/link.texi (link): Document this.
41914         * modules/link (Depends-on): Add strdup-posix, sys_stat.
41915
41916         test-link: consolidate into single C program, test more cases
41917         * tests/test-link.sh: Delete.
41918         * tests/test-link.c: Test more error conditions.  Exposes bugs on
41919         at least Cygwin and Solaris.
41920         * modules/link-tests (Files): Remove unused file.
41921         (Depends-on): Add errno, sys_stat.
41922         (Makefile.am): Simplify.
41923
41924 2009-09-08  Bruno Haible  <bruno@clisp.org>
41925
41926         Work around towlower, towupper bug on mingw.
41927         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
41928         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
41929         * doc/posix-functions/towlower.texi: Mention the mingw bug.
41930         * doc/posix-functions/towupper.texi: Likewise.
41931         Reported by Eric Blake.
41932
41933 2009-09-08  Jim Meyering  <meyering@redhat.com>
41934
41935         build: don't try to run autoheader if we don't use it
41936         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
41937         is not used in configure.ac.
41938
41939 2009-09-08  Eric Blake  <ebb9@byu.net>
41940
41941         euidaccess: fix compilation error
41942         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
41943
41944         rawmemchr: relax license
41945         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
41946         okay.
41947         Reported by Jim Meyering.
41948
41949         mkfifoat: new module
41950         * modules/mkfifoat: New file.
41951         * lib/mkfifoat.c: Likewise.
41952         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
41953         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41954         * modules/sys_stat (Makefile.am): Use them.
41955         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
41956         * MODULES.html.sh (File system functions): Mention module.
41957         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
41958         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
41959         * modules/mkfifoat-tests: New test.
41960         * tests/test-mkfifoat.c: Likewise.
41961
41962         strchrnul: relax license
41963         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
41964         okay.
41965         Reported by Jim Meyering.
41966
41967 2009-09-08  Eric Blake  <ebb9@byu.net>
41968
41969         fstatat: fix compilation on Solaris
41970         * lib/fstatat.c (includes): Add fcntl.h.
41971         Reported by Pádraig Brady.
41972
41973 2009-09-07  Eric Blake  <ebb9@byu.net>
41974
41975         rename: modernize replacement
41976         * modules/rename (Depends-on): Add stdio.
41977         (configure.ac): Declare witness.
41978         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
41979         stdio take care of replacement.
41980         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
41981         * modules/stdio (Makefile.am): Substitute them.
41982         * lib/stdio.in.h (rename): Declare replacement.
41983         * lib/rename.c (includes): Allow cross-compilation to non-windows
41984         machines.
41985         * doc/posix-functions/rename.texi (rename): Improve
41986         documentation.
41987
41988         stdio: sort witness names
41989         * modules/stdio (Makefile.am): Sort replacements.
41990         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41991         * lib/stdio.in.h: Likewise.
41992
41993         getcwd: minor cleanups
41994         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
41995         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
41996
41997         openat: provide more convenience names
41998         * modules/faccessat (configure.ac): Add C witness.
41999         * lib/unistd.in.h (readlinkat): Fix typo.
42000         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
42001         convenience wrappers.
42002         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
42003         wrappers in syntax checks.
42004
42005 2009-09-06  Eric Blake  <ebb9@byu.net>
42006
42007         doc: fix comments in recent patches
42008         * lib/faccessat.c: Mention correct function.
42009         * lib/fchmodat.c: Likewise.
42010         * lib/fchownat.c: Likewise.
42011         * lib/symlinkat.c: Likewise.
42012         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
42013         constants.
42014
42015         faccessat, symlinkat: continue cleanup of previous patch
42016         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
42017         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
42018         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
42019         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
42020         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
42021         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
42022         set.
42023
42024 2009-09-06  Bruno Haible  <bruno@clisp.org>
42025
42026         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
42027         (fstatat): Declare if GNULIB_FSTATAT is set.
42028         (mkdirat): Declare if GNULIB_MKDIRAT is set.
42029         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
42030         (unlinkat): Declare if GNULIB_UNLINKAT is set.
42031         * modules/fcntl-h (Files): Remove m4/openat.m4.
42032         * modules/sys_stat (Files): Remove m4/openat.m4.
42033         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
42034         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
42035         * modules/unistd (Files): Remove m4/openat.m4.
42036         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
42037         GNULIB_OPENAT.
42038         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
42039         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
42040         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
42041         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
42042         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
42043         gl_OPENAT_DEFAULTS.
42044         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
42045         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
42046         Don't require gl_OPENAT_DEFAULTS.
42047         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
42048         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
42049         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
42050         (gl_OPENAT_DEFAULTS): Remove macro.
42051
42052 2009-09-06  Bruno Haible  <bruno@clisp.org>
42053
42054         * modules/openat (configure.ac): Remove unneeded witness.
42055
42056 2009-09-06  Bruno Haible  <bruno@clisp.org>
42057
42058         Set errno to ENOSYS when a function is entirely unsupported.
42059         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
42060         EOPNOTSUPP.
42061         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
42062         * modules/chown (Depends-on): Remove errno.
42063
42064 2009-09-06  Bruno Haible  <bruno@clisp.org>
42065
42066         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
42067
42068 2009-09-06  Bruno Haible  <bruno@clisp.org>
42069
42070         * lib/sys_stat.in.h: Fix preprocessor command indentation.
42071
42072 2009-09-06  Ben Pfaff  <blp@gnu.org>
42073             Bruno Haible  <bruno@clisp.org>
42074
42075         Work around a glibc bug in strtok_r.
42076         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
42077         Undefine if UNDEFINE_STRTOK_R is set.
42078         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
42079         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42080         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
42081         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
42082         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
42083         UNDEFINE_STRTOK_R.
42084         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
42085
42086 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
42087
42088         exclude: minor fix
42089         * lib/exclude.c: Include wctype.h
42090
42091 2009-09-06  Akim Demaille  <demaille@gostai.com>
42092
42093         bootstrap: improve error message
42094         * build-aux/bootstrap (find_tool): Upon failure, report the list
42095         of candidates.
42096         Honor the initial value of the envvar.
42097
42098 2009-09-05  Eric Blake  <ebb9@byu.net>
42099
42100         symlinkat: new module
42101         * modules/symlinkat: New file.
42102         * lib/symlinkat.c: Likewise.
42103         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
42104         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42105         * modules/unistd (Makefile.am): Use them.
42106         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
42107         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
42108         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
42109         * MODULES.html.sh (File system functions): Mention module.
42110         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
42111         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
42112         * modules/symlinkat-tests: New test.
42113         * tests/test-symlinkat.c: Likewise.
42114
42115         test-openat-safer: add more checks
42116         * tests/test-openat-safer.c (main): Check more code paths.
42117
42118 2009-09-05  Jim Meyering  <meyering@redhat.com>
42119
42120         syntax-check: detect unnecessary inclusion of openat.h
42121         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
42122
42123 2009-09-05  Bruno Haible  <bruno@clisp.org>
42124
42125         Support towlower, towupper.
42126         * doc/posix-functions/towlower.texi: Mention module wctype.
42127         * doc/posix-functions/towupper.texi: Likewise.
42128         * lib/wctype.in.h (towlower, towupper): New functions.
42129         * tests/test-wctype.c: Include stdio.h, stdlib.h.
42130         (ASSERT): New macro.
42131         (e): New variable.
42132         (main): Test also towlower, towupper. Test WEOF argument.
42133         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42134
42135 2009-09-05  Bruno Haible  <bruno@clisp.org>
42136
42137         Fix conversion behaviour when the input is invalid.
42138         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
42139         mark occurring in first pass of indirect conversion.
42140         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
42141         input.
42142         Found by clang's static analyzer.
42143
42144 2009-09-05  Bruno Haible  <bruno@clisp.org>
42145
42146         * tests/test-striconveh.c (main): Test indirect conversion on platforms
42147         where direct conversion is possible.
42148
42149 2009-09-04  Eric Blake  <ebb9@byu.net>
42150
42151         openat: fail with ENOENT on empty name
42152         * lib/openat-proc.c (openat_proc_name): Special-case the empty
42153         buffer.
42154
42155         link-follow: fix logic bug in prior patch
42156         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
42157         reversed sense of yes and no in prior patch.  Avoid confusing
42158         compilation failure with desired semantics.
42159
42160         link-follow: accommodate mingw and cross-compilation
42161         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
42162         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
42163         cross-compilation results to -1, to make linkat easier to
42164         implement when cross-compiling.  Trivially support mingw.
42165         * modules/link-follow (configure.ac): Call new name.
42166         * NEWS: Mention this.
42167
42168 2009-09-03  Eric Blake  <ebb9@byu.net>
42169
42170         faccessat: compile replacement
42171         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
42172         needed.
42173
42174         fts: fix compilation error
42175         * lib/fts.c (includes): Re-add "openat.h", for
42176         openat_needs_fchdir.
42177
42178         faccessat: new module
42179         * modules/faccessat: New file.
42180         * lib/faccessat.c: Likewise.
42181         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
42182         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42183         * modules/unistd (Makefile.am): Use it.
42184         * lib/unistd.in.h (faccessat): Declare it.
42185         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
42186         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
42187         * MODULES.html.sh (File system functions): Mention it.
42188         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
42189         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
42190
42191         euidaccess: prefer POSIX over non-standard implementation
42192         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
42193         * lib/euidaccess.c (euidaccess): Use it if available.
42194
42195         openat: make template easier to use
42196         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
42197         AT_FUNC_F2 to be undefined.
42198         (VALIDATE_FLAG): New macro; use it to reject bad flags.
42199         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
42200         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
42201         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
42202         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
42203         Likewise.
42204         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
42205         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
42206         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
42207         Likewise.
42208
42209         openat: declare in POSIX headers
42210         * NEWS: Mention this.
42211         * modules/openat (configure.ac): Declare witnesses.
42212         (Depends-on): Add fcntl-h, sys_stat, unistd.
42213         (Include): Mention correct headers.
42214         * modules/fcntl-h (Depends-on): Add link-warning.
42215         (Files): Add openat.m4.
42216         (Makefile.am): Substitute witnesses.
42217         * modules/sys_stat (Files, Makefile.am): Likewise.
42218         * modules/unistd (Files, Makefile.am): Likewise.
42219         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
42220         (gl_OPENAT_DEFAULTS): New macro.
42221         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
42222         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
42223         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
42224         (SYS_STAT_H): Remove unused variable.
42225         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
42226         * lib/fcntl--.h (includes): Remove unneeded header.
42227         * lib/openat-safer.c (includes): Likewise.
42228         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
42229         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
42230         appropriate headers.
42231         (__OPENAT_PREFIX): Delete.
42232         * lib/fcntl.in.h (openat): Provide declaration.
42233         (AT_FDCWD): Fix Solaris bug.
42234         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
42235         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
42236         * lib/fchmodat.c (includes):  Adjust to find declaration.
42237         * lib/fchownat.c (includes): Likewise.
42238         * lib/mkdirat.c (includes): Likewise.
42239         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
42240         still visible.
42241
42242 2009-09-02  Eric Blake  <ebb9@byu.net>
42243
42244         errno: use consistently
42245         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
42246         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
42247         * lib/canonicalize.c (ELOOP): Likewise.
42248         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
42249         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
42250         * lib/lchown.c (EOPNOTSUPP): Likewise.
42251         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
42252         * lib/savewd.c (ESTALE): Likewise.
42253         * lib/settime.c (ENOSYS): Likewise.
42254         * lib/utimens.c (ENOSYS): Likewise.
42255         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
42256         * lib/chdir-safer.c (ELOOP): Likewise.
42257         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
42258         * modules/c-stack (Depends-on): Add errno.
42259         * modules/canonicalize (Depends-on): Likewise.
42260         * modules/chdir-safer (Depends-on): Likewise.
42261         * modules/fdopendir (Depends-on): Likewise.
42262         * modules/inet_ntop (Depends-on): Likewise.
42263         * modules/inet_pton (Depends-on): Likewise.
42264         * modules/lchown (Depends-on): Likewise.
42265         * modules/openat (Depends-on): Likewise.
42266         * modules/savewd (Depends-on): Likewise.
42267         * modules/settime (Depends-on): Likewise.
42268         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
42269
42270         fts: avoid leaking fds
42271         * modules/fts (Depends-on): Add cloexec.
42272         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
42273         flag.
42274
42275         fts: make directory fds more robust
42276         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
42277         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
42278
42279         backupfile, chdir-long, fts, savedir: make safer
42280         * lib/backupfile.c (includes): Use "dirent--.h", since
42281         numbered_backup can write to stderr during readdir.
42282         * lib/savedir.c (includes): Likewise.
42283         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
42284         emulation can write to stderr on failure.
42285         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
42286         * lib/getcwd.c: Document why opendir_safer is unused.
42287         * lib/glob.c: Likewise.
42288         * lib/scandir.c: Likewise.
42289         * lib/openat-proc.c: Likewise, for open_safer.
42290         * modules/backupfile (Depends-on): Add dirent-safer.
42291         * modules/savedir (Depends-on): Likewise.
42292         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
42293         * modules/chdir-long (Depends-on): Add openat-safer.
42294
42295         openat-safer: new module
42296         * modules/openat-safer: New file.
42297         * lib/openat-safer.c: Likewise.
42298         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
42299         * lib/fcntl-safer.h (openat_safer): Declare.
42300         * lib/fcntl--.h (openat): Override.
42301         * MODULES.html.sh (File descriptor based I/O): Mention it.
42302         * lib/openat.h: Add double-inclusion guards.
42303         * lib/openat.c (includes): Only include "fcntl-safer.h", not
42304         "fcntl--.h", so we can implement openat.
42305         * modules/openat-safer-tests: New test.
42306         * tests/test-openat-safer.c: New file.
42307
42308         dirent-safer: new module
42309         * modules/dirent-safer: New file.
42310         * lib/dirent--.h: Likewise.
42311         * lib/dirent-safer.h: Likewise.
42312         * lib/opendir-safer.c: Likewise.
42313         * m4/dirent-safer.m4: Likewise.
42314         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
42315         * modules/dirent-safer-tests: New test.
42316         * tests/test-dirent-safer.c: New file.
42317         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
42318
42319         fdopendir: optimize on mingw
42320         * lib/unistd.in.h (_gl_directory_name): New prototype.
42321         * lib/fchdir.c (_gl_directory_name): Implement it.
42322         (fchdir): Use it to simplify implementation.
42323         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
42324         fchdir, when available, to avoid calling [f]chdir().
42325
42326         fdopendir: split into its own module
42327         * lib/openat.c (fdopendir): Move...
42328         * lib/fdopendir.c: ...into new file.
42329         * modules/fdopendir: New module.
42330         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
42331         * modules/openat (Depends-on): Add fdopendir.
42332         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
42333         fdopendir here.
42334         * modules/savedir (Depends-on): Only need fdopendir, not full
42335         openat.
42336         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
42337         * lib/openat.h (fdopendir): Drop prototype.
42338         * lib/dirent.in.h (fdopendir): Provide prototype.
42339         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
42340         * modules/dirent (Makefile.am): Substitute them.
42341         * MODULES.html.sh (File system functions): Mention it.
42342         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
42343         * modules/fdopendir-tests: New file.
42344         * tests/test-fdopendir.c: Likewise.
42345
42346         fchdir: use more consistent macro convention
42347         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
42348         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
42349         REPLACE_FCHDIR, rather than relying on config.h macros.
42350         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
42351         inside a single make-time REPLACE_FCHDIR block, rather than using
42352         the config.h FCHDIR_REPLACEMENT.
42353         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
42354         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
42355         Manage fstat replacement.
42356         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
42357         REPLACE_FCHDIR.
42358         * modules/sys_stat (Files): Add m4/unistd_h.m4.
42359         (Makefile.am): Substitute REPLACE_FCHDIR.
42360         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
42361         FCHDIR_REPLACEMENT.
42362         * lib/dup-safer.c (dup_safer): Likewise.
42363         * lib/dup2.c (rpl_dup2): Likewise.
42364         * lib/dup3.c (rpl_dup3): Likewise.
42365         * lib/open.c (rpl_open): Likewise.
42366
42367         fchdir: simplify error handling, and support dup3
42368         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
42369         stdbool, malloc-posix, realloc-posix.
42370         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
42371         (ensure_dirs_slot): Return false on allocation failure.
42372         (rpl_dup2): Delete.
42373         (_gl_register_dup): New function.
42374         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
42375         (_gl_register_fd): Close fd on allocation failure.
42376         * lib/fcntl.in.h (_gl_register_fd): Update signature.
42377         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
42378         prototype.
42379         (rpl_dup2_fchdir): Delete prototype.
42380         * lib/open.c (open): Update caller.
42381         * lib/dup2.c (dup2): Track fchdir metadata.
42382         * lib/dup3.c (dup3): Likewise.
42383         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
42384         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
42385
42386 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42387
42388         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
42389         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
42390         don't pass arguments to AC_OUTPUT.
42391
42392 2009-09-02  Bruno Haible  <bruno@clisp.org>
42393
42394         * modules/mkdtemp (License): Relicense under LGPLv2+.
42395         Reported by Paolo Bonzini.
42396
42397 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42398
42399         Replace uses of obsolete autoconf macros in Jim's modules.
42400         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
42401         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
42402         can evoke a warning from autoconf when run with -Wobsolete
42403         enabled.  They were declared obsolete for good reasons (see
42404         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
42405         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
42406         should not continue using the deprecated macros.
42407         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
42408         obsolete Autoconf macros with modern counterparts.
42409         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
42410         * m4/dos.m4 (gl_AC_DOS): Likewise.
42411         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
42412         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
42413         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
42414         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
42415         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
42416         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
42417         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
42418         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
42419         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
42420         Likewise.
42421         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
42422         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
42423         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
42424         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
42425         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
42426         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
42427
42428 2009-09-01  Eric Blake  <ebb9@byu.net>
42429
42430         fchdir: fix off-by-one bug in previous patch
42431         * lib/fchdir.c (rpl_fstat): Use correct bounds.
42432         (_gl_unregister_fd): Delete useless if.
42433
42434 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
42435
42436         maint.mk: sort the list of syntax-check rules
42437         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
42438         easier to get a sense of progress when the rules are run sequentially
42439         and take a long time.
42440
42441 2009-09-01  Simon Josefsson  <simon@josefsson.org>
42442
42443         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
42444         * modules/netinet_in: Likewise.
42445         * modules/sys_file: Likewise.
42446         * modules/sys_ioctl: Likewise.
42447         * modules/sys_select: Likewise.
42448         * modules/sys_socket: Likewise.
42449         * modules/sys_stat: Likewise.
42450         * modules/sys_time: Likewise.
42451         * modules/sys_times: Likewise.
42452         * modules/sys_utsname: Likewise.
42453         * modules/sys_wait: Likewise.
42454
42455 2009-09-01  Jim Meyering  <meyering@redhat.com>
42456
42457         fts: help ensure that return values are not ignored
42458         * lib/fts_.h (__GNUC_PREREQ): Define.
42459         (__attribute_warn_unused_result__): Define.
42460         (fts_children, fts_close, fts_open, fts_read): Declare with
42461         __attribute_warn_unused_result__.
42462
42463         fts: fts_close now fails also when closing a dir file descriptor fails
42464         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
42465         and propagate to caller, along with errno.
42466
42467         announce-gen: correct formatting in --help output
42468         * build-aux/announce-gen (usage): Move the one-line description in
42469         --help output "up", to where it belongs, just after Usage:.
42470
42471 2009-08-31  Eric Blake  <ebb9@byu.net>
42472
42473         fchdir: port to mingw
42474         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
42475         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
42476         opened, then use a substitute.
42477         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
42478         replacement.
42479         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
42480         (_gl_register_fd): No need to check stat if open already filters
42481         all directories.
42482         (fchdir): Fix error condition to match POSIX.
42483         * modules/fchdir (Depends-on): Add sys_stat.
42484         * doc/posix-functions/open.texi (open): Document the limitation.
42485         * modules/fchdir-tests: New file.
42486         * tests/test-fchdir.c: Likewise.
42487
42488         canonicalize: allow cross-testing from cygwin to mingw
42489         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
42490         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
42491         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
42492         Likewise.
42493         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
42494         target does not support symlinks.
42495         * tests/test-canonicalize-lgpl.sh: Likewise.
42496
42497         chown: avoid compilation warning on mingw
42498         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
42499         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
42500         mingw.
42501         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
42502         * modules/chown (Depends-on): Add errno.
42503
42504 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
42505
42506         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
42507         command.
42508
42509 2009-08-31  Jim Meyering  <meyering@redhat.com>
42510
42511         canonicalize: remove useless initialization
42512         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
42513         initialization of local, "end".
42514
42515 2009-08-30  Bruno Haible  <bruno@clisp.org>
42516
42517         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
42518         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
42519         ENOSYS.
42520
42521 2009-08-30  Bruno Haible  <bruno@clisp.org>
42522
42523         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
42524         /usr/xpg4/bin/tr when it exists.
42525         * tests/test-pipe-filter-gi1.sh: Likewise.
42526
42527 2009-08-30  Bruno Haible  <bruno@clisp.org>
42528
42529         Work around deficient /usr/bin/id program on Solaris.
42530         * tests/test-file-has-acl.sh (ID): New variable.
42531         * tests/test-set-mode-acl.sh (ID): Likewise.
42532         * tests/test-copy-acl.sh (ID): Likewise.
42533         * tests/test-copy-file.sh (ID): Likewise.
42534
42535 2009-08-30  Bruno Haible  <bruno@clisp.org>
42536
42537         New module 'xstriconveh'.
42538         * lib/xstriconveh.h: New file.
42539         * lib/xstriconveh.c: New file.
42540         * modules/xstriconveh: New file.
42541
42542 2009-08-30  Bruno Haible  <bruno@clisp.org>
42543
42544         Make it easier to use mem_cd_iconveh.
42545         * lib/striconveh.h (iconveh_t): New type.
42546         (iconveh_open, iconveh_close): New declarations.
42547         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
42548         with a single 'const iconveh_t *' argument.
42549         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
42550         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
42551         with a single 'const iconveh_t *' argument.
42552         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
42553         * tests/test-striconveh.c (main): Update.
42554         * NEWS: Mention the change.
42555
42556 2009-08-30  Bruno Haible  <bruno@clisp.org>
42557
42558         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
42559         problem.
42560
42561 2009-08-30  Bruno Haible  <bruno@clisp.org>
42562
42563         Work around iconv_open problem on Solaris.
42564         * lib/iconv_open-solaris.gperf: New file.
42565         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
42566         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
42567         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
42568         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
42569         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
42570         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
42571
42572 2009-08-29  Jim Meyering  <meyering@redhat.com>
42573
42574         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
42575         * top/maint.mk (cvs-check): Remove target; it was just an alias
42576         to the better-named vc-diff-check.
42577         (maintainer-distcheck): Remove rule.  It was used only from
42578         the (alpha/beta/major) target, and all of its commands but one
42579         were coreutils-specific.
42580         (vc-dist): Remove rule.
42581         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
42582         Run vc-diff-check, not vc-dist.
42583         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
42584
42585 2009-08-27  Bruno Haible  <bruno@clisp.org>
42586
42587         * tests/test-bitrotate.c (main): Remove test that uses a shift count
42588         of 0.
42589
42590 2009-08-27  Bruno Haible  <bruno@clisp.org>
42591
42592         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
42593         compilers.
42594         * doc/func.texi: Document the SunPRO C bug.
42595
42596 2009-08-27  Bruno Haible  <bruno@clisp.org>
42597
42598         Fix link error on Solaris.
42599         * tests/test-parse-duration.c (xstrdup): Remove function.
42600
42601 2009-08-26  Pádraig Brady  <P@draigbrady.com>
42602
42603         ignore-value: handle pointer types, too
42604         * lib/ignore-value.h (__attribute__): Remove definition.
42605         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
42606         of a more concise and more-often effective "(void) i" statement.
42607         (ignore_ptr): New function to suppress warnings from functions that
42608         return pointers, and to make it explicit that one function doesn't
42609         handle all cases.
42610
42611 2009-08-25  Bruno Haible  <bruno@clisp.org>
42612
42613         dup2: work around a Linux bug.
42614         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
42615         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
42616         * doc/posix-functions/dup2.texi: Mention the Linux bug.
42617         Reported by Simon Josefsson.
42618
42619 2009-08-25  Jim Meyering  <meyering@redhat.com>
42620
42621         libguestfs uses gnulib
42622         * users.txt: Add libguestfs.
42623
42624 2009-08-24  Eric Blake  <ebb9@byu.net>
42625
42626         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
42627         * lib/pipe2.c (includes): Add binary-io.h.
42628         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
42629
42630 2009-08-24  Bruno Haible  <bruno@clisp.org>
42631
42632         Tolerate declared but missing accept4 syscall.
42633         * lib/accept4.c (accept4): Invoke original accept4 function first, if
42634         available.
42635         * lib/sys_socket.in.h (accept4): If the function is already present,
42636         override it.
42637         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
42638         * modules/accept4 (Makefile.am): Compile accept4.c always.
42639         Reported by Paolo Bonzini and Eric Blake.
42640
42641 2009-08-23  Bruno Haible  <bruno@clisp.org>
42642
42643         New module 'accept4'.
42644         * lib/sys_socket.in.h (accept4): New declaration.
42645         * lib/accept4.c: New file.
42646         * m4/accept4.m4: New file.
42647         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
42648         GNULIB_ACCEPT4, HAVE_ACCEPT4.
42649         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
42650         HAVE_ACCEPT4.
42651         * modules/accept4: New file.
42652         * doc/glibc-functions/accept4.texi: Mention the new module.
42653
42654 2009-08-24  Jim Meyering  <meyering@redhat.com>
42655
42656         progname: also set global program_invocation_name, when possible
42657         Before this change, a libtool-enabled program that calls glibc's
42658         error function would report the program name as
42659         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
42660         * modules/progname (configure.ac): Check for a declaration of
42661         program_invocation_name.
42662         * lib/progname.c:  Include <errno.h>.
42663         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
42664         Set program_invocation_name.
42665
42666 2009-08-23  Bruno Haible  <bruno@clisp.org>
42667
42668         * lib/dup3.c: Include <string.h>.
42669
42670 2009-08-23  Bruno Haible  <bruno@clisp.org>
42671
42672         * lib/dup3.c (dup3): Test only once whether the system actually exists.
42673         * lib/pipe2.c (pipe2): Likewise.
42674         Suggested by Eric Blake.
42675
42676 2009-08-23  Bruno Haible  <bruno@clisp.org>
42677
42678         Tolerate declared but missing dup3 syscall.
42679         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
42680         * lib/unistd.in.h (dup3): If the function is already present,
42681         override it.
42682         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
42683         * modules/dup3 (Makefile.am): Compile dup3.c always.
42684         Reported by Paolo Bonzini.
42685
42686 2009-08-23  Bruno Haible  <bruno@clisp.org>
42687
42688         Tolerate declared but missing pipe2 syscall.
42689         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
42690         available.
42691         * lib/unistd.in.h (pipe2): If the function is already present,
42692         override it.
42693         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
42694         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
42695         Reported by Paolo Bonzini.
42696
42697 2009-08-23  Bruno Haible  <bruno@clisp.org>
42698
42699         * lib/pipe2.c (pipe2): Move #ifs inside function.
42700
42701 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42702
42703         quotearg: document limitations of quote_these_too
42704         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
42705         those limitations are created.
42706         * lib/quotearg.h (set_char_quoting): Document that digits and
42707         letters that are special after backslash are not permitted.
42708         (quotearg_char): Cross-reference set_char_quoting documentation.
42709
42710 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
42711
42712         quotearg: implement custom_quoting_style
42713         * lib/quotearg.c: (struct quoting_options): Add left_quote and
42714         right_quote fields.
42715         (set_custom_quoting): New public function.
42716         (quotearg_buffer_restyled): Add left_quote and right_quote
42717         arguments, handle them very much like locale quoting, and update
42718         all uses.
42719         (quotearg_n_custom): New public function.
42720         (quotearg_n_custom_mem): New public function.
42721         (quotearg_custom): New public function.
42722         (quotearg_custom_mem): New public function.
42723         * lib/quotearg.h: Prototype and document new public functions.
42724         (enum quoting_style): For escape_quoting_style and
42725         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
42726         ignored even though they're otherwise like c_quoting_style.
42727         Add custom_quoting_style member and document with comparison to
42728         clocale_quoting_style.
42729         * tests/test-quotearg.c (custom_quotes): New array.
42730         (custom_results): New array.
42731         (main): Extend to test custom quoting.
42732
42733 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42734
42735         quotearg: fix right quote escaping when it's in quote_these_too
42736         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
42737         quote, be sure to prepend only one backslash.
42738         * tests/test-quotearg.c (use_quote_double_quotes): New function.
42739         (main): Test it.
42740
42741 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42742
42743         quotearg-tests: test escaping of embedded locale quotes
42744         * tests/test-quotearg.c (struct result_strings): Add member for
42745         new input.
42746         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
42747         (inputs): Add new input.
42748         (results_g): Add expected results.
42749         (flag_results): Likewise.
42750         (locale_results): Likewise.
42751         (compare_strings): Check those.
42752
42753 2009-08-23  Bruno Haible  <bruno@clisp.org>
42754
42755         Tests for module 'dup3'.
42756         * modules/dup3-tests: New file.
42757         * tests/test-dup3.c: New file.
42758
42759         New module 'dup3'.
42760         * lib/unistd.in.h (dup3): New declaration.
42761         * lib/dup3.c: New file.
42762         * m4/dup3.m4: New file.
42763         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
42764         HAVE_DUP3.
42765         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
42766         * modules/dup3: New file.
42767         * doc/glibc-functions/dup3.texi: Mention the new module.
42768
42769 2009-08-23  Bruno Haible  <bruno@clisp.org>
42770
42771         Tweak the dup2 test.
42772         * tests/test-dup2.c (main): Create the test file empty. Verify that an
42773         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
42774         the test file is still empty. Fix argument order of lseek.
42775
42776 2009-08-23  Bruno Haible  <bruno@clisp.org>
42777
42778         Avoid test link errors when the modules getopt-gnu, gettext are used.
42779         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
42780         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42781
42782 2009-08-23  Bruno Haible  <bruno@clisp.org>
42783
42784         Fix getdtablesize() on mingw.
42785         * lib/getdtablesize.c (getdtablesize): Implement differently.
42786         * lib/unistd.in.h (getdtablesize): Improve comment.
42787
42788 2009-08-23  Bruno Haible  <bruno@clisp.org>
42789
42790         New module 'mkostemp'.
42791         Based on Ulrich Drepper's 2007-08-10 change in glibc.
42792         * lib/stdlib.in.h (mksotemp): New declaration.
42793         * lib/mkostemp.c: New file, from glibc with modifications.
42794         * lib/tempname.h (GT_FILE): Remove outdated comment.
42795         (gen_tempname): Add flags argument.
42796         * lib/tempname.c (__GT_BIGFILE): Remove macro.
42797         (__GT_FILE): Map to 1.
42798         (small_open, large_open): Remove macros.
42799         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
42800         * lib/mkstemp.c (mkstemp): Update.
42801         * lib/mkdtemp.c (mkdtemp): Likewise.
42802         * m4/mkostemp.m4: New file.
42803         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
42804         HAVE_MKOSTEMP.
42805         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
42806         HAVE_MKOSTEMP.
42807         * modules/mkostemp: New file, based on modules/mkstemp.
42808         * doc/glibc-functions/mkostemp.texi: Mention the new module.
42809         * NEWS: Mention the change.
42810
42811 2009-08-23  Bruno Haible  <bruno@clisp.org>
42812
42813         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
42814         Reported by Eric Blake.
42815
42816 2009-08-23  Bruno Haible  <bruno@clisp.org>
42817
42818         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
42819         Reported by Eric Blake.
42820
42821 2009-08-23  Bruno Haible  <bruno@clisp.org>
42822
42823         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
42824         * modules/pipe2 (Depends-on): Likewise.
42825
42826 2009-08-23  Eric Blake  <ebb9@byu.net>
42827
42828         fcntl-h: add O_TTY_INIT support
42829         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
42830         * tests/test-fcntl-h.c (o): Test it.
42831         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42832
42833         fcntl-h: rename from fcntl, in preparation for fcntl(2)
42834         * modules/fcntl: Move <fcntl.h> header replacement...
42835         * modules/fcntl-h: ...to new name, so as not to collide with
42836         like-named function.
42837         * tests/test-fcntl.c: Rename...
42838         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
42839         * modules/fcntl-tests: Rename...
42840         * modules/fcntl-h-tests: ...to this.  Update test file name.
42841         * modules/chdir-long (Depends-on): Update clients.
42842         * modules/chdir-safer (Depends-on): Likewise.
42843         * modules/fcntl-safer (Depends-on): Likewise.
42844         * modules/fts (Depends-on): Likewise.
42845         * modules/mkancesdirs (Depends-on): Likewise.
42846         * modules/mkdir-p (Depends-on): Likewise.
42847         * modules/open (Depends-on): Likewise.
42848         * modules/savewd (Depends-on): Likewise.
42849         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
42850         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42851
42852 2009-08-22  Bruno Haible  <bruno@clisp.org>
42853
42854         * modules/binary-io (License): Relicense under LGPL.
42855         * modules/pipe2 (License): Likewise.
42856
42857 2009-08-22  Bruno Haible  <bruno@clisp.org>
42858
42859         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
42860         return value.
42861         * lib/pipe-filter-gi.c (filter_init): Likewise.
42862         Reported by Eric Blake.
42863
42864 2009-08-22  Bruno Haible  <bruno@clisp.org>
42865
42866         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
42867         * modules/pipe (Depends-on): Add pipe2.
42868
42869 2009-08-22  Bruno Haible  <bruno@clisp.org>
42870
42871         Tests for module 'pipe2'.
42872         * modules/pipe2-tests: New file.
42873         * tests/test-pipe2.c: New file.
42874
42875         New module 'pipe2'.
42876         * lib/unistd.in.h (pipe2): New declaration.
42877         * lib/pipe2.c: New file.
42878         * m4/pipe2.m4: New file.
42879         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
42880         HAVE_PIPE2.
42881         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
42882         * modules/pipe2: New file.
42883         * doc/glibc-functions/pipe2.texi: Mention the new module.
42884
42885 2009-08-22  Bruno Haible  <bruno@clisp.org>
42886
42887         Reference some new glibc functions.
42888         * doc/glibc-functions/accept4.texi: New file.
42889         * doc/glibc-functions/dup3.texi: New file.
42890         * doc/glibc-functions/mkostemp.texi: New file.
42891         * doc/glibc-functions/pipe2.texi: New file.
42892         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
42893         (Glibc sys/socket.h): Refer to accept4.
42894         (Glibc unistd.h): Refer to dup3, pipe2.
42895         Reported by Eric Blake.
42896
42897 2009-08-22  Jim Meyering  <meyering@redhat.com>
42898             Bruno Haible  <bruno@clisp.org>
42899
42900         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
42901         This makes it so packages using automake-1.11's silent-rules option
42902         can print e.g., a single "GEN    configmake.h" line, rather than
42903         the 30+ statements that perform the job.  If you want to see the
42904         actual commands, you can still run "make V=1".
42905         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
42906         so that make output is abbreviated when those variables are defined
42907         appropriately.
42908         * modules/argz: Likewise.
42909         * modules/arpa_inet: Likewise.
42910         * modules/byteswap: Likewise.
42911         * modules/configmake: Likewise.
42912         * modules/dirent: Likewise.
42913         * modules/errno: Likewise.
42914         * modules/fcntl: Likewise.
42915         * modules/float: Likewise.
42916         * modules/fnmatch: Likewise.
42917         * modules/getopt-posix: Likewise.
42918         * modules/glob: Likewise.
42919         * modules/iconv_open: Likewise.
42920         * modules/inttypes: Likewise.
42921         * modules/localcharset: Likewise.
42922         * modules/locale: Likewise.
42923         * modules/math: Likewise.
42924         * modules/netdb: Likewise.
42925         * modules/netinet_in: Likewise.
42926         * modules/poll: Likewise.
42927         * modules/posix_spawnp-tests: Likewise.
42928         * modules/sched: Likewise.
42929         * modules/search: Likewise.
42930         * modules/selinux-h: Likewise.
42931         * modules/signal: Likewise.
42932         * modules/spawn: Likewise.
42933         * modules/stdarg: Likewise.
42934         * modules/stdbool: Likewise.
42935         * modules/stddef: Likewise.
42936         * modules/stdint: Likewise.
42937         * modules/stdio: Likewise.
42938         * modules/stdlib: Likewise.
42939         * modules/string: Likewise.
42940         * modules/strings: Likewise.
42941         * modules/sys_file: Likewise.
42942         * modules/sys_ioctl: Likewise.
42943         * modules/sys_select: Likewise.
42944         * modules/sys_socket: Likewise.
42945         * modules/sys_stat: Likewise.
42946         * modules/sys_time: Likewise.
42947         * modules/sys_times: Likewise.
42948         * modules/sys_utsname: Likewise.
42949         * modules/sys_wait: Likewise.
42950         * modules/sysexits: Likewise.
42951         * modules/time: Likewise.
42952         * modules/unistd: Likewise.
42953         * modules/wchar: Likewise.
42954         * modules/wctype: Likewise.
42955
42956 2009-08-22  Jim Meyering  <meyering@redhat.com>
42957
42958         announce-gen: detect write failure
42959         * build-aux/announce-gen: Add Coda at end.
42960         Remove equivalent-but-more-verbose block at top.
42961
42962 2009-08-19  Akim Demaille  <demaille@gostai.com>
42963
42964         bootstrap: --help to stdout.
42965         * bootstrap (usage): Don't send --help to stderr.
42966         Use a here doc instead of a long string.
42967
42968 2009-08-21  Eric Blake  <ebb9@byu.net>
42969
42970         test-popen-safer: split from test-popen
42971         * tests/test-popen.c (main): Move...
42972         * tests/test-popen.h: ...into new file.
42973         * tests/test-popen-safer2.c: New file.
42974         * modules/popen-tests (Files): Add test-popen.h.
42975         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
42976         Suggested by Bruno Haible.
42977
42978         test-fcntl-safer: split from test-open
42979         * tests/test-open.c (main): Move...
42980         * tests/test-open.h: ...into new file.
42981         * tests/test-fcntl-safer.c: New file.
42982         * modules/open-tests (Files): Add test-open.h.
42983         * modules/fcntl-safer-tests: New file.
42984         Suggested by Bruno Haible.
42985
42986         test-fopen-safer: split from test-fopen
42987         * tests/test-fopen.c (main): Move...
42988         * tests/test-fopen.h: ...into new file.
42989         * tests/test-fopen-safer.c: New file.
42990         * modules/fopen-tests (Files): Add test-fopen.h.
42991         * modules/fopen-safer-tests: New file.
42992         Suggested by Bruno Haible.
42993
42994 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
42995
42996         popen-safer: test O_CLOEXEC at run-time.
42997         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
42998
42999 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
43000
43001         fcntl: move more flags to the header
43002         * lib/cloexec.c: Do not define FD_CLOEXEC here.
43003         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
43004         * lib/fcntl.in.h: Do both things here.
43005
43006 2009-08-21  Jim Meyering  <meyering@redhat.com>
43007
43008         consistently remove $@-t before redirecting to it
43009         * modules/argz: Remove $@-t and $@ before redirecting to the former.
43010         * modules/alloca-opt: Likewise.
43011         * modules/byteswap: Likewise.
43012         * modules/fnmatch: Likewise.
43013         * modules/getopt-posix: Likewise.
43014         * modules/glob: Likewise.
43015         * modules/poll: Likewise.
43016         * modules/posix_spawnp-tests: Likewise.
43017         * modules/sys_socket: Likewise.
43018         * modules/sysexits: Likewise.
43019
43020 2009-08-21  Eric Blake  <ebb9@byu.net>
43021
43022         popen: simplify access to original popen
43023         * lib/popen.c (rpl_popen): No need to worry about popen being a
43024         macro.
43025         Reported by Bruno Haible.
43026
43027 2009-08-20  Eric Blake  <ebb9@byu.net>
43028
43029         build: avoid some compiler warnings
43030         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
43031         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
43032         type.
43033         (new_exclude_segment, excluded_file_pattern_p)
43034         (excluded_file_name_p): Reduce scope.
43035         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
43036         old-style declaration.
43037
43038 2009-08-20  Simon Josefsson  <simon@josefsson.org>
43039
43040         * tests/test-exclude1.sh: Handle Windows EOL.
43041         * tests/test-exclude2.sh: Likewise.
43042         * tests/test-exclude3.sh: Likewise.
43043         * tests/test-exclude4.sh: Likewise.
43044         * tests/test-exclude5.sh: Likewise.
43045         * tests/test-exclude6.sh: Likewise.
43046         * tests/test-exclude7.sh: Likewise.
43047
43048 2009-08-19  Akim Demaille  <demaille@gostai.com>
43049
43050         bootstrap: find sha1sum when named gsha1sum.
43051         * bootstrap (find_tool): New.
43052         ($SHA1SUM): New.
43053         Use it.
43054
43055 2009-08-20  Jim Meyering  <meyering@redhat.com>
43056
43057         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
43058         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
43059         expression that converts "." in a file name to "\." in the resulting
43060         regexp.  Start with a dummy statement, so that prior shell variable
43061         definitions are expanded portably.  Reported by Simon Josefsson.
43062
43063 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
43064
43065         Fix polling for writeability of a screen buffer.
43066         * lib/poll.c: Distinguish input and screen buffers for the
43067         Win32 implementation.
43068         * lib/select.c: Likewise.
43069
43070 2009-08-19  Eric Blake  <ebb9@byu.net>
43071
43072         popen-safer: prevent popen from clobbering std descriptors
43073         * modules/popen-safer: New file.
43074         * lib/popen-safer.c: Likewise.
43075         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
43076         * lib/stdio--.h (popen): Provide override.
43077         * lib/stdio-safer.h (popen_safer): Provide declaration.
43078         * tests/test-popen.c (includes): Partially test this.
43079         * modules/popen-safer-tests: New file, for more tests.
43080         * tests/test-popen-safer.c: Likewise.
43081         * MODULES.html.sh (file stream based Input/Output): Mention it.
43082
43083         tests: test some of the *-safer modules
43084         * modules/fopen-safer (Depends-on): Add fopen.
43085         * modules/fcntl-safer (Depends-on): Add fcntl.
43086         * modules/stdlib-safer (Depends-on): Add stdlib.
43087         (configure.ac): Set indicator.
43088         * modules/unistd-safer (configure.ac): Likewise.
43089         * modules/tmpfile-safer (configure.ac): Likewise.
43090         (Depends-on): Add tmpfile.
43091         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
43092         active.
43093         * tests/test-fopen.c (includes): Test safer versions when they are
43094         in use.
43095         * tests/test-open.c (includes): Likewise.
43096
43097         popen: fix cygwin 1.5 bug when stdin closed
43098         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
43099         * modules/popen: New file.
43100         * modules/popen-tests: Likewise.
43101         * tests/test-popen.c: Likewise.
43102         * m4/popen.m4: Likewise.
43103         * lib/popen.c: Likewise.
43104         * lib/stdio.in.h (popen): New declaration.
43105         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
43106         * modules/stdio (Makefile.am): Likewise.
43107         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
43108
43109 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
43110
43111         maint.mk: give full control over update-copyright exclusions
43112         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
43113         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
43114         (update-copyright): Don't force inclusion of top-level
43115         ChangeLog.  Don't force exclusion of all COPYING files, but make
43116         them the default exclusion instead.
43117
43118 2009-08-16  Bruno Haible  <bruno@clisp.org>
43119
43120         Fix test failures on Solaris 10.
43121         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
43122         tests when Solaris iconv() is used.
43123         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
43124         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
43125         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
43126         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
43127         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
43128
43129 2009-08-16  Bruno Haible  <bruno@clisp.org>
43130
43131         Fix test failures on Solaris 10.
43132         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
43133         'tr' program and pass it as first argument.
43134         * tests/test-pipe-filter-gi1.sh: Likewise.
43135         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
43136         program as first argument.
43137         * tests/test-pipe-filter-gi1.c (main): Likewise.
43138
43139 2009-08-16  Eric Blake  <ebb9@byu.net>
43140
43141         fpurge: fix previous commits
43142         * modules/fpurge (Makefile.am): Make replacement conditional,
43143         partially reverting 2007-04-29 change; missed in previous
43144         attempt.
43145         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
43146         is missing.
43147
43148 2009-08-16  Bruno Haible  <bruno@clisp.org>
43149
43150         Clarify fpurge's effect on the file position.
43151         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
43152         * tests/test-fpurge.c (main): Make a second pass for checking the file
43153         position.
43154
43155 2009-08-16  Bruno Haible  <bruno@clisp.org>
43156
43157         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
43158         declaration of fpurge is missing.
43159         * tests/test-fpurge.c (main): Check that the file has not more contents
43160         than expected. Close the file before removing it.
43161
43162 2009-08-15  Eric Blake  <ebb9@byu.net>
43163
43164         fpurge: don't wrap working cygwin implementation
43165         * lib/fpurge.c (fpurge): Fix comment typo.
43166         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
43167         1.7 to avoid replacement.
43168         * tests/test-fpurge.c (main): Enhance test.
43169
43170 2009-08-15  Eric Blake  <ebb9@byu.net>
43171         and Jim Meyering  <meyering@redhat.com>
43172
43173         test-update-copyright: skip if perl is insufficient
43174         * tests/test-update-copyright.sh: Failure to run maintainer tool
43175         should not cause testsuite failure on cygwin 1.5.
43176
43177 2009-08-14  Eric Blake  <ebb9@byu.net>
43178
43179         doc: mention more functions added in cygwin 1.7.0
43180         * doc/posix-headers/limits.texi (limits.h): Update for recent
43181         cygwin additions.
43182         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
43183         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
43184         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
43185         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
43186         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
43187
43188 2009-08-14  Eric Blake  <ebb9@byu.net>
43189
43190         maint.mk: simplify update-copyright rule
43191         * top/maint.mk (update-copyright-local): Delete, and document how
43192         to do it in cfg.mk instead.
43193         (update-copyright-exclude-regexp): Delete, and document how to do
43194         it in .x-update-copyright instead.
43195         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
43196         exclude ChangeLog.
43197
43198 2009-08-14  Bruno Haible  <bruno@clisp.org>
43199
43200         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
43201
43202 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43203
43204         maint.mk: support update-copyright-env
43205         * top/maint.mk (update-copyright-env): Define place-holder.
43206         (update-copyright): Expand $(update-copyright-env) before
43207         invoking update-copyright.
43208
43209 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43210
43211         update-copyright: implement forced reformatting
43212         * build-aux/update-copyright: Implement and document
43213         UPDATE_COPYRIGHT_FORCE.
43214         * tests/test-update-copyright.sh: Test it.
43215
43216 2009-08-14  Eric Blake  <ebb9@byu.net>
43217         and Bruno Haible  <bruno@clisp.org>
43218
43219         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
43220         * tests/test-locale.c: Revert previous patch related to NULL.
43221         * tests/test-stdio.c: Likewise.
43222         * tests/test-stdlib.c: Likewise.
43223         * tests/test-string.c: Likewise.
43224         * tests/test-unistd.c: Likewise.
43225         * modules/time-tests (Depends-on): Add verify.
43226         * modules/wchar-tests (Depends-on): Likewise.
43227         * tests/test-time.c: Test for NULL compliance.
43228         * tests/test-wchar.c: Likewise.
43229         * modules/locale (Depends-on): Add stddef.
43230         * modules/stdio (Depends-on): Likewise.
43231         * modules/stdlib (Depends-on): Likewise.
43232         * modules/string (Depends-on): Likewise.
43233         * modules/time (Depends-on): Likewise.
43234         * modules/unistd (Depends-on): Likewise.
43235         * modules/wchar (Depends-on): Likewise.
43236         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
43237         * lib/stdlib.in.h (includes): Likewise.
43238         * lib/string.in.h (includes): Likewise.
43239         * lib/time.in.h (includes): Likewise.
43240         * lib/unistd.in.h (includes): Likewise.
43241         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
43242         replaced.
43243         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
43244         * m4/stddef_h.m4: New file.
43245         * modules/stddef: Likewise.
43246         * lib/stddef.in.h: Likewise.
43247         * modules/stddef-tests: Likewise.
43248         * tests/test-stddef.c: Likewise.
43249         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
43250         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
43251         * doc/posix-headers/locale.texi (locale.h): Likewise.
43252         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
43253         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
43254         * doc/posix-headers/string.texi (string.h): Likewise.
43255         * doc/posix-headers/time.texi (time.h): Likewise.
43256         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
43257         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
43258
43259 2009-08-14  Eric Blake  <ebb9@byu.net>
43260
43261         doc: improve git diff of texinfo files
43262         * .gitattributes: Add rule for *.texi files, with hint on how to
43263         use it.
43264         Copied from m4, and based on a report by Bruno Haible.
43265
43266 2009-08-14  Bruno Haible  <bruno@clisp.org>
43267
43268         Disable multithread support by default on Cygwin 1.5.x for real.
43269         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
43270
43271 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43272
43273         update-copyright: much ado about intervals
43274         * build-aux/update-copyright: Implement and document
43275         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
43276         of copyright year intervals.
43277         Also, document UPDATE_COPYRIGHT_YEAR.
43278         * tests/test-update-copyright.sh: Test it.
43279
43280         update-copyright: convert 2-digit to 4-digit years
43281         * build-aux/update-copyright: Implement and document.
43282         * tests/test-update-copyright.sh: Update.
43283
43284 2009-08-14  Jim Meyering  <meyering@redhat.com>
43285
43286         test-exclude: avoid coreutils "make check" failure
43287         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
43288         just as in test-argmatch.c.
43289
43290 2009-08-13  Eric Blake  <ebb9@byu.net>
43291
43292         test-dup2: fix bad assumption
43293         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
43294         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
43295
43296         test-version-etc: fix CRLF portability issue
43297         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
43298         recognize \r.
43299         * tests/test-argp-version-etc-1.sh: Likewise.
43300
43301         getopt: update client modules
43302         * modules/argp (Depends-on): Use getopt-gnu.
43303         * modules/git-merge-changelog (Depends-on): Likewise.
43304         * modules/long-options (Depends-on): Likewise.
43305         * modules/xstrtol (Depends-on): Likewise.
43306
43307 2009-08-13  Simon Josefsson  <simon@josefsson.org>
43308
43309         * tests/test-version-etc.sh: Don't fail on different
43310         project/version.  Don't fail on CRLF differences.  Rewrite to use
43311         multiple -e instead of multiple sed forks, suggested by Eric Blake
43312         <ebb9@byu.net>.
43313         * tests/test-argp-version-etc-1.sh: Likewise.
43314
43315 2009-08-13  Simon Josefsson  <simon@josefsson.org>
43316
43317         * tests/test-version-etc.sh: Don't fail on different
43318         project/version.
43319
43320 2009-08-12  Bruno Haible  <bruno@clisp.org>
43321
43322         Tests for modules 'getopt-posix', 'getopt-gnu'.
43323         * modules/getopt-posix-tests: New file.
43324         * tests/test-getopt.c: New file.
43325         * tests/test-getopt.h: New file.
43326         * tests/test-getopt_long.h: New file.
43327
43328         New modules 'getopt-posix', 'getopt-gnu'.
43329         * modules/getopt-gnu: New file, renamed from modules/getopt.
43330         * modules/getopt-posix: New file.
43331         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
43332         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
43333         (gl_GETOPT): Remove macro.
43334         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
43335         Disable the test against BSD systems that declare optreset. Test
43336         against mingw bug. Test against lack of support of optional arguments
43337         on many platforms.
43338         * doc/glibc-headers/getopt.texi: Update module name and list of
43339         relevant platforms.
43340         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
43341         'getopt-gnu' and more portability problems.
43342         * NEWS: Mention the changes.
43343
43344 2009-08-12  Bruno Haible  <bruno@clisp.org>
43345
43346         Ensure that optarg etc. get declared by <unistd.h>.
43347         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
43348         AC_USE_SYSTEM_EXTENSIONS.
43349         * modules/getopt (Depends-on): Add 'extensions'.
43350
43351 2009-08-12  Bruno Haible  <bruno@clisp.org>
43352
43353         Avoid test link errors.
43354         * modules/pipe-filter-ii-tests (Makefile.am): Define
43355         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
43356         * modules/pipe-filter-gi-tests (Makefile.am): Define
43357         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
43358         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43359
43360 2009-08-12  Bruno Haible  <bruno@clisp.org>
43361
43362         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
43363         gl_GETOPT_SUBSTITUTE before.
43364         (gl_GETOPT): Use it.
43365         * m4/argp.m4 (gl_ARGP): Update.
43366         Reported by Sergey Poznyakoff.
43367
43368         * m4/getopt.m4: Reorder macros.
43369         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
43370         (gl_GETOPT_SUBSTITUTE): Remove macro.
43371
43372 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
43373
43374         Minor improvement in gitlog-to-changelog
43375
43376         * build-aux/gitlog-to-changelog: New option `--format' makes
43377         output format string configurable.
43378
43379 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
43380
43381         Optimize exclude: use hash tables for non-wildcard patterns.
43382
43383         * lib/exclude.c: Include hash.h and mbuiter.h
43384         (struct exclude_pattern, exclude_segment): New data types.
43385         (struct exclude): Rewrite.
43386         (fnmatch_pattern_has_wildcards): New function.
43387         (new_exclude_segment, free_exclude_segment): New functions.
43388         (excluded_file_pattern_p, excluded_file_name_p): New functions.
43389         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
43390         * lib/exclude.h (is_fnmatch_pattern): New prototype.
43391         * modules/exclude: Depend on hash and mbuiter.
43392
43393         * modules/exclude-tests: New file.
43394         * tests/test-exclude.c: New file.
43395         * tests/test-exclude1.sh: New file.
43396         * tests/test-exclude2.sh: New file.
43397         * tests/test-exclude3.sh: New file.
43398         * tests/test-exclude4.sh: New file.
43399         * tests/test-exclude5.sh: New file.
43400         * tests/test-exclude6.sh: New file.
43401         * tests/test-exclude7.sh: New file.
43402
43403 2009-08-12  Bruno Haible  <bruno@clisp.org>
43404
43405         Ensure that getopt() gets declared by <unistd.h>.
43406         * lib/unistd.in.h: Conditionally include getopt.h.
43407         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
43408         Set GNULIB_UNISTD_H_GETOPT.
43409         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43410         GNULIB_UNISTD_H_GETOPT.
43411         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
43412
43413 2009-08-12  Bruno Haible  <bruno@clisp.org>
43414
43415         Clarify logic.
43416         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
43417         gl_replace_getopt instead of GETOPT_H.
43418
43419 2009-08-12  Bruno Haible  <bruno@clisp.org>
43420
43421         * m4/getopt.m4: Add comments.
43422
43423 2009-08-12  Bruno Haible  <bruno@clisp.org>
43424
43425         Disable multithread support by default on Cygwin 1.5.x.
43426         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
43427         set gl_use_threads=no if not specified otherwise.
43428
43429 2009-08-11  Bruno Haible  <bruno@clisp.org>
43430
43431         Avoid compilation error on NetBSD 5.0.
43432         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
43433         * tests/test-stdio.c: Likewise.
43434         * tests/test-stdlib.c: Likewise.
43435         * tests/test-string.c: Likewise.
43436         * tests/test-unistd.c: Likewise.
43437         Reported by Greg Troxel <gdt@ir.bbn.com>
43438         at <https://savannah.gnu.org/support/?106973>.
43439
43440 2009-08-11  Bruno Haible  <bruno@clisp.org>
43441
43442         * modules/dup2-tests (Depends-on): Remove close.
43443
43444         Undo 2009-07-19 commit.
43445         * modules/acl-tests (Depends-on): Remove close.
43446         * modules/binary-io-tests (Depends-on): Likewise.
43447         * modules/closein-tests (Depends-on): Likewise.
43448         * modules/flock-tests (Depends-on): Likewise.
43449         * modules/fsync-tests (Depends-on): Likewise.
43450         * modules/lseek-tests (Depends-on): Likewise.
43451         * modules/pipe-tests (Depends-on): Likewise.
43452         * modules/posix_spawn-tests (Depends-on): Likewise.
43453         * modules/posix_spawnp-tests (Depends-on): Likewise.
43454         * modules/stat-time-tests (Depends-on): Likewise.
43455         * modules/yesno-tests (Depends-on): Likewise.
43456
43457 2009-08-10  Bruno Haible  <bruno@clisp.org>
43458
43459         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
43460
43461 2009-08-10  Bruno Haible  <bruno@clisp.org>
43462
43463         Fix a gcc warning.
43464         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
43465
43466 2009-08-10  Bruno Haible  <bruno@clisp.org>
43467
43468         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
43469         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
43470         not only the first time.
43471         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
43472         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
43473         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
43474         is 1, not only the the first time.
43475
43476 2009-08-10  Bruno Haible  <bruno@clisp.org>
43477
43478         Make it possible to use module 'gethostname' without module 'close'.
43479         * lib/unistd.in.h (close): Evoke a link error only if
43480         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
43481         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43482         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43483         * modules/unistd (Makefile.am): Substitute
43484         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43485         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
43486         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
43487         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
43488         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43489         * modules/sys_ioctl (Makefile.am): Substitute
43490         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43491         * modules/socket (configure.ac): On native Windows, set
43492         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
43493         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43494         Reported by Sam Steingold <sds@gnu.org>.
43495
43496 2009-08-10  Bruno Haible  <bruno@clisp.org>
43497
43498         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
43499         * modules/ioctl (configure.ac): Likewise.
43500
43501 2009-08-10  Bruno Haible  <bruno@clisp.org>
43502
43503         Avoid collision between gnulib wrapper and libintl wrapper.
43504         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
43505         already defined in intl/printf.c.
43506         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
43507         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
43508
43509 2009-08-09  Bruno Haible  <bruno@clisp.org>
43510
43511         Make <sys/select.h> really self-contained, also on Solaris 10.
43512         * lib/sys_select.in.h: Include <string.h>.
43513         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
43514         Solaris 10 problem.
43515         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
43516         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
43517         Reported by Jim Meyering.
43518
43519 2009-08-09  Bruno Haible  <bruno@clisp.org>
43520
43521         Avoid warnings from 'aclocal' that are due to a use of macro name
43522         AM_XGETTEXT_OPTION that is not defined in automake.
43523         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
43524         automake.
43525         * modules/error (configure.ac): Likewise.
43526         * modules/propername (configure.ac): Likewise.
43527         * modules/vasprintf (configure.ac): Likewise.
43528         * modules/verror (configure.ac): Likewise.
43529         * modules/xprintf (configure.ac): Likewise.
43530         * modules/xvasprintf (configure.ac): Likewise.
43531
43532 2009-08-08  Bruno Haible  <bruno@clisp.org>
43533
43534         Avoid compilation error in C++ mode.
43535         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
43536         Reported by Sam Steingold <sds@gnu.org>.
43537
43538 2009-08-08  Bruno Haible  <bruno@clisp.org>
43539
43540         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
43541         for the various Unix platforms.
43542         * doc/posix-headers/limits.texi: Update platforms list regarding
43543         HOST_NAME_MAX.
43544         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43545
43546 2009-08-07  Jim Meyering  <meyering@redhat.com>
43547
43548         selinux-at: fix typo in a comment
43549         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
43550         Spotted by Paolo Bonzini.
43551
43552         selinux-at: remove redundant m4 code, add documentation
43553         * modules/selinux-at (configure.ac): Remove redundant code.
43554         LIB_SELINUX is already set via the dependent module, selinux-h.
43555         (Include): Add quotes around selinux-at.h.
43556         * lib/selinux-at.h: Add documentation.
43557         Reported by Bruno Haible in
43558         http://marc.info/?l=gnulib-bug&m=124958988300749
43559
43560 2009-08-07  Bruno Haible  <bruno@clisp.org>
43561
43562         Avoid link error on MacOS X 10.3 and 10.4.
43563         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
43564         on non-ELF systems.
43565         * lib/argp-pv.c (argp_program_version): Likewise.
43566         Reported by Simon Josefsson.
43567
43568 2009-08-07  Simon Josefsson  <simon@josefsson.org>
43569
43570         * tests/test-version-etc.sh: Use $EXEEXT.
43571
43572 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
43573
43574         update-copyright: update documentation to point to maint.mk
43575         * build-aux/update-copyright: Here.
43576
43577 2009-08-06  Jim Meyering  <meyering@redhat.com>
43578
43579         maint.mk: support update-copyright-local
43580         * top/maint.mk (update-copyright-local): Define place-holder.
43581         (update-copyright): Depend on $(update-copyright-local).
43582
43583 2009-08-06  Jim Meyering  <meyering@redhat.com>
43584
43585         selinux-at: new module
43586         Initially written for coreutils, this module will soon be
43587         used by findutils, too.
43588         * MODULES.html.sh [Misc]: Add selinux-at.
43589         * lib/selinux-at.h: New file, from coreutils.
43590         * lib/selinux-at.c: Likewise.
43591         * modules/selinux-at: Likewise.
43592         (License): Change from LGPL to GPL, since it depends
43593         on the GPL'd openat module.
43594
43595         doc: update README
43596         * README: Remove references to cogito.
43597         Remove cvs-repo-updating instructions from 2007.
43598         Don't imply that CVS is better if you have limited disk space.
43599
43600 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43601
43602         update-copyright: support C-style comments
43603         * build-aux/update-copyright: Implement and document.
43604         * tests/test-update-copyright.sh: Test.
43605
43606 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43607
43608         update-copyright: support omitted "(C)"
43609         * build-aux/update-copyright: Implement and document.  Also,
43610         allow variable whitespace before "(C)".
43611         * tests/test-update-copyright.sh: Test.
43612
43613 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43614
43615         update-copyright: don't trip on non-FSF copyright statements
43616         * build-aux/update-copyright: Fix so that the first correctly
43617         formatted FSF copyright statement is recognized no matter what
43618         appears before it.  Update documentation.
43619         * tests/test-update-copyright.sh: Test that.
43620
43621 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43622
43623         update-copyright: clean up code a little
43624         * build-aux/update-copyright: Append "_re" to the name of any
43625         variable holding a regular expression.
43626         Replace "old" and "new" with "stmt" in variable names.
43627         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
43628         handled correctly.
43629         Format code more consistently.
43630
43631 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43632
43633         update-copyright-tests: improve portability
43634         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
43635         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
43636
43637 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43638
43639         update-copyright: support @copyright{} and &copy;
43640         * build-aux/update-copyright: Implement and document.
43641         * tests/test-update-copyright.sh: Test.
43642
43643 2009-08-04  Jim Meyering  <meyering@redhat.com>
43644
43645         update-copyright-tests: correctly test EOL=\r\n handling
43646         * tests/test-update-copyright.sh: Put \r at the end of some lines
43647         for the dos-eol tests.  Based on a patch by Joel E. Denny.
43648
43649         maint.mk: make update-copyright exclusion list more configurable
43650         * top/maint.mk (update-copyright): Default to excluding COPYING,
43651         but allow an override, in case someone does want to update that file.
43652
43653         maint.mk: don't update copyright date in COPYING
43654         * top/maint.mk (update-copyright): Exclude COPYING.
43655
43656         maint.mk: add a copyright-updating rule
43657         * top/maint.mk (update-copyright): New rule.
43658         Derived from coreutils/Makefile.am.
43659
43660         update-copyright: rename some variables
43661         * build-aux/update-copyright: Rename a few variables for clarity.
43662         Tweak syntax.  List Joel E. Denny as coauthor.
43663
43664 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43665
43666         update-copyright: fix bug for 2-digit last year and add tests
43667         * build-aux/update-copyright: Fix bug.
43668         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
43669         specified.
43670         * modules/update-copyright-tests: New
43671         * tests/test-update-copyright.sh: New.
43672
43673 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43674
43675         update-copyright: handle leading tabs in line prefix
43676         * build-aux/update-copyright: Count leading tabs as 8 spaces
43677         when computing margin.  This helps with the formatting of
43678         ChangeLogs, for example.
43679         Fix documentation a little.
43680
43681 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43682
43683         update-copyright: support EOL=\r\n
43684         * build-aux/update-copyright: Implement that.
43685
43686 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43687
43688         update-copyright: automatically format copyright statements
43689         * build-aux/update-copyright: Implement that.
43690         Also, be a little more predictable and safer by always failing
43691         when the full copyright format is not perfectly recognized as an
43692         unbroken whole.  Discussed at
43693         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
43694         Rewrite documentation.
43695
43696 2009-08-03  Bruno Haible  <bruno@clisp.org>
43697
43698         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
43699
43700 2009-08-02  Bruno Haible  <bruno@clisp.org>
43701
43702         Tests for module 'uname'.
43703         * modules/uname-tests: New file.
43704         * tests/test-uname.c: New file.
43705
43706         New module 'uname'.
43707         * lib/uname.c: New file.
43708         * m4/uname.m4: New file.
43709         * modules/uname: New file.
43710         * doc/posix-functions/uname.texi: Mention the new module.
43711
43712 2009-08-02  Bruno Haible  <bruno@clisp.org>
43713
43714         Tests for module 'sys_utsname'.
43715         * modules/sys_utsname-tests: New file.
43716         * tests/test-sys_utsname.c: New file.
43717
43718         New module 'sys_utsname'.
43719         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
43720         * m4/sys_utsname_h.m4: New file.
43721         * modules/sys_utsname: New file.
43722         * doc/posix-headers/sys_utsname.texi: Mention the new module.
43723
43724 2009-08-02  Bruno Haible  <bruno@clisp.org>
43725
43726         Implicitly initialize the sockets library.
43727         * lib/gethostname.c: Include sockets.h.
43728         (rpl_gethostname): Invoke gl_sockets_startup.
43729         * lib/socket.c: Include sockets.h.
43730         (rpl_socket): Invoke gl_sockets_startup.
43731         * modules/gethostname (Depends-on): Add sockets.
43732         * modules/socket (Depends-on): Likewise.
43733         * tests/test-poll.c: Don't include sockets.h.
43734         (main): Don't invoke gl_sockets_startup.
43735         * tests/test-select.c: Don't include sockets.h.
43736         (main): Don't invoke gl_sockets_startup.
43737
43738 2009-08-02  Bruno Haible  <bruno@clisp.org>
43739
43740         Allow multiple calls to gl_sockets_startup.
43741         * lib/sockets.c (initialized_sockets_version): New variable.
43742         (gl_sockets_startup): Do nothing if already called for this or a higher
43743         version.
43744         (gl_sockets_cleanup): Reset initialized_sockets_version.
43745
43746 2009-08-03  Simon Josefsson  <simon@josefsson.org>
43747
43748         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
43749         different project/version.
43750
43751 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
43752             Bruno Haible  <bruno@clisp.org>
43753
43754         Tests for module 'pipe-filter-gi'.
43755         * modules/pipe-filter-gi-tests: New file.
43756         * tests/test-pipe-filter-gi1.sh: New file.
43757         * tests/test-pipe-filter-gi1.c: New file.
43758         * tests/test-pipe-filter-gi2.sh: New file.
43759         * tests/test-pipe-filter-gi2-main.c: New file.
43760         * tests/test-pipe-filter-gi2-child.c: New file.
43761
43762         New module 'pipe-filter-gi'.
43763         * lib/pipe-filter-gi.c: New file.
43764         * modules/pipe-filter-gi: New file.
43765
43766 2009-08-02  Bruno Haible  <bruno@clisp.org>
43767             Paolo Bonzini  <bonzini@gnu.org>
43768
43769         Tests for module 'pipe-filter-ii'.
43770         * modules/pipe-filter-ii-tests: New file.
43771         * tests/test-pipe-filter-ii1.sh: New file.
43772         * tests/test-pipe-filter-ii1.c: New file.
43773         * tests/test-pipe-filter-ii2.sh: New file.
43774         * tests/test-pipe-filter-ii2-main.c: New file.
43775         * tests/test-pipe-filter-ii2-child.c: New file.
43776
43777         New module 'pipe-filter-ii'.
43778         * lib/pipe-filter.h: New file.
43779         * lib/pipe-filter-ii.c: New file.
43780         * lib/pipe-filter-aux.h: New file.
43781         * modules/pipe-filter-ii: New file.
43782
43783 2009-08-02  Simon Josefsson  <simon@josefsson.org>
43784
43785         * lib/gc-libgcrypt.c: Change copyright to FSF.
43786         * lib/gc-gnulib.c: Likewise.
43787
43788 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
43789
43790         * lib/gethostname.c: Include limits.h.
43791
43792 2009-08-02  Simon Josefsson  <simon@josefsson.org>
43793             Bruno Haible  <bruno@clisp.org>
43794
43795         Ensure HOST_NAME_MAX as part of the gethostname module.
43796         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
43797         define also HOST_NAME_MAX.
43798         * tests/test-gethostname.c: Include <limits.h>.
43799         (main): Check also HOST_NAME_MAX.
43800         * doc/posix-headers/limits.texi: Document the mingw problem.
43801
43802 2009-08-02  Bruno Haible  <bruno@clisp.org>
43803
43804         * lib/gethostname.c (gethostname): Fix handling of large len argument.
43805         Add comments.
43806
43807 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43808
43809         * lib/gethostname.c: Add Windows wrapper.
43810         * m4/gethostname.m4: Look for gethostname in -lws2_32.
43811         * modules/gethostname: Depend on sys_socket & errno, for also
43812         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
43813         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
43814
43815 2009-07-31  Jim Meyering  <meyering@redhat.com>
43816
43817         getloadavg: fix symbol name in comment
43818         * lib/getloadavg.c: Correct a typo I introduced when adding
43819         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
43820         Matt Kraai spotted the problem.
43821
43822 2009-07-29  Matt Kraai  <mkraai@beckman.com>
43823
43824         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
43825         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
43826         code also if ! defined N_NAME_POINTER.
43827         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
43828         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
43829         but the n_name member is a 12-byte array.
43830
43831 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
43832
43833         update-copyright: generalize comment handling
43834         * build-aux/update-copyright: Handle copyright statements
43835         within more comment styles.
43836         Document usage.
43837         Report any file with an external copyright holder or parse failure.
43838
43839 2009-07-29  Jim Meyering  <meyering@redhat.com>
43840
43841         mktime: correct setting of REPLACE_MKTIME
43842         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
43843
43844         update-copyright: new module
43845         * modules/update-copyright: New file.
43846         * build-aux/update-copyright: New file.
43847         * MODULES.html.sh (maint+release support): Add update-copyright.
43848
43849 2009-07-27  Bruno Haible  <bruno@clisp.org>
43850
43851         Fix compilation error when <ctime> is used and mktime is replaced.
43852         * lib/time.in.h (mktime): New declaration.
43853         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
43854         REPLACE_MKTIME instead of defining mktime in config.h.
43855         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
43856         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
43857         Reported by Ross McFarland <rwmcfa1@neces.com>.
43858
43859 2009-07-27  Bruno Haible  <bruno@clisp.org>
43860
43861         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
43862         Reported by Matt Kraai <mkraai@beckman.com>.
43863
43864 2009-07-25  Jim Meyering  <meyering@redhat.com>
43865
43866         maint.mk: avoid warnings about missing files
43867         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
43868         diagnostic when .prev-version does not exist.
43869         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
43870         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
43871         nonexistent cfg.mk.
43872         Suggestions from Simon Josefsson.
43873
43874 2009-07-25  Bruno Haible  <bruno@clisp.org>
43875
43876         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
43877         defined as macros. Needed on QNX 6.4.1.
43878         Reported by Matt Kraai <mkraai@beckman.com>.
43879
43880 2009-07-23  Jim Meyering  <meyering@redhat.com>
43881
43882         maint.mk: invoke "make dist" with a working value of XZ_OPT
43883         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
43884
43885 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
43886
43887         Make fseeko.c compile on QNX.
43888         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
43889
43890 2009-07-22  Peter Simons  <simons@cryp.to>
43891
43892         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
43893         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
43894         * lib/md4.h: Likewise.
43895         * lib/md5.h: Likewise.
43896         * lib/sha1.h: Likewise.
43897         * lib/sha256.h: Likewise.
43898         * lib/sha512.h: Likewise.
43899
43900         tests-sha1: don't assign literal string to 'char *' variable
43901         * tests/test-sha1.c (main): Declare locals with "const" to match
43902         attributes of the right hand side.
43903
43904 2009-07-21  Eric Blake  <ebb9@byu.net>
43905
43906         dup2: fix more mingw problems
43907         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
43908         fd to itself.
43909         * doc/posix-functions/dup2.texi (dup2): Document the bug.
43910         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
43911         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
43912         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
43913         care of mingw bugs.
43914
43915 2009-07-21  Jim Meyering  <meyering@redhat.com>
43916
43917         vc-list-files: avoid failure when /bin/sh is dash
43918         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
43919         On some Debian based systems, /bin/sh is a symlink to dash, and running
43920         this command would omit the "/" following each 'tests' prefix:
43921           dash -x build-aux/vc-list-files -C . tests
43922         That is because bash and dash work differently:
43923           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
43924           bash ok
43925           dash odd
43926
43927 2009-07-21  Eric Blake  <ebb9@byu.net>
43928
43929         dup2-tests: test previous patch
43930         * modules/dup2-tests: New file.
43931         * tests/test-dup2.c: Likewise.
43932         * tests/test-open.c (main): Avoid unspecified behavior.
43933         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
43934         test.
43935
43936         dup2: work around mingw and cygwin 1.5 bug
43937         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
43938         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43939         * modules/unistd (Makefile.am): Substitute it.
43940         * lib/unistd.in.h (dup2): Declare the replacement.
43941         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
43942         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
43943         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
43944         * modules/execute (Depends-on): Add dup2.
43945         * modules/fseterr (Depends-on): Likewise.
43946         * modules/pipe (Depends-on): Likewise.
43947         * modules/posix_spawn-internal (Depends-on): Likewise.
43948
43949 2009-07-21  Bruno Haible  <bruno@clisp.org>
43950
43951         * modules/.gitattributes: New file.
43952
43953 2009-07-20  Bruno Haible  <bruno@clisp.org>
43954
43955         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
43956         (main): Use it.
43957
43958 2009-07-20  Eric Blake  <ebb9@byu.net>
43959
43960         test-pipe: make a bit more robust.
43961         * tests/test-pipe.c (myerr): Allow error messages regardless of
43962         what we do to stderr.
43963         (test_pipe): Rearrange to avoid deadlock.
43964         (child_main): Try a larger read, to ensure we avoided deadlock.
43965         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
43966         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
43967         if misused.
43968
43969 2009-07-19  Jim Meyering  <meyering@redhat.com>
43970
43971         fts: avoid false-positive cycle-detection
43972         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
43973         for each new command line argument.
43974
43975 2009-07-19  Bruno Haible  <bruno@clisp.org>
43976
43977         Fix build error on mingw with the modules sys_select and unistd.
43978         * modules/acl-tests (Depends-on): Add close.
43979         * modules/binary-io-tests (Depends-on): Likewise.
43980         * modules/closein-tests (Depends-on): Likewise.
43981         * modules/flock-tests (Depends-on): Likewise.
43982         * modules/fsync-tests (Depends-on): Likewise.
43983         * modules/lseek-tests (Depends-on): Likewise.
43984         * modules/pipe-tests (Depends-on): Likewise.
43985         * modules/posix_spawn-tests (Depends-on): Likewise.
43986         * modules/posix_spawnp-tests (Depends-on): Likewise.
43987         * modules/stat-time-tests (Depends-on): Likewise.
43988         * modules/yesno-tests (Depends-on): Likewise.
43989
43990 2009-07-19  Bruno Haible  <bruno@clisp.org>
43991
43992         Unify conditionals.
43993         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
43994         macros, not at the compiler macros.
43995         * lib/pipe.c: Likewise.
43996         * lib/execute.c: Likewise.
43997         * lib/spawni.c: Likewise.
43998
43999 2009-07-19  Bruno Haible  <bruno@clisp.org>
44000
44001         Fix handling of closed stdin/stdout/stderr on mingw.
44002         * lib/w32spawn.h: Include unistd.h.
44003         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
44004         file descriptor with O_NOINHERIT flag.
44005         (fd_safer_noinherit): New function, based on fd-safer.c.
44006         (dup_safer_noinherit): New function, based on dup-safer.c.
44007         (undup_safer_noinherit): New function.
44008         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
44009         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
44010         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
44011         instead of fd_safer.
44012         * tests/test-pipe.c: Include <windows.h>.
44013         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
44014         result.
44015
44016         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
44017         from main.
44018         (test_pipe): Pass an extra argument for disambiguation.
44019         (main): Invoke parent_main or child_main.
44020
44021         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
44022         consistently.
44023
44024 2009-07-18  Eric Blake  <ebb9@byu.net>
44025
44026         test-pipe: fix mingw build
44027         * tests/test-pipe.c (main): Avoid fcntl on mingw.
44028
44029 2009-07-18  Bruno Haible  <bruno@clisp.org>
44030
44031         * modules/pipe-tests (Makefile.am): Fix typo.
44032
44033 2009-07-18  Eric Blake  <ebb9@byu.net>
44034
44035         error: fix mingw build
44036         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
44037         Reported by Bruno Haible.
44038
44039         error: avoid undefined use of stdout
44040         * lib/error.c (error, error_at_line): Check that fd 1 is open
44041         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
44042         is handling faults and the close_stdout module wants to report the
44043         detection of closed stdout as an error.
44044
44045 2009-07-17  Eric Blake  <ebb9@byu.net>
44046
44047         pipe: be robust in face of closed fds
44048         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
44049         should cause child to misbehave.
44050         * modules/pipe-tests: New module.
44051         * tests/test-pipe.c: New file.
44052         * tests/test-pipe.sh: New file.
44053         Reported by Akim Demaille.
44054
44055 2009-07-14  Bruno Haible  <bruno@clisp.org>
44056
44057         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
44058         Reported by anonymous kc.
44059
44060 2009-07-07  Jim Meyering  <meyering@redhat.com>
44061
44062         maint.mk: don't look for translatable strings in *.m4 or *.mk
44063         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
44064         when searching for translatable strings.
44065
44066 2009-07-05  Jim Meyering  <meyering@redhat.com>
44067
44068         remove superfluous parentheses in STREQ definition
44069         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
44070         * lib/getugroups.c (STREQ): Likewise.
44071         * lib/fnmatch.c (STREQ): Likewise.
44072         Spotted by Bruno Haible.
44073
44074 2009-07-04  Jim Meyering  <meyering@redhat.com>
44075
44076         argv-iter: new module
44077         * MODULES.html.sh: Add argv-iter.
44078         * lib/argv-iter.c, lib/argv-iter.h: New files.
44079         * modules/argv-iter: New file.
44080         * modules/argv-iter-tests: New file.
44081         * tests/test-argv-iter.c: Test it.
44082
44083 2009-07-04  Bruno Haible  <bruno@clisp.org>
44084
44085         Fix assertion.
44086         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
44087         contains more exact copies of a given entry than file2, leave the extra
44088         copies unpaired rather than aborting.
44089         Reported by Eric Blake.
44090
44091 2009-07-02  Bruno Haible  <bruno@clisp.org>
44092
44093         Speedup git-merge-changelog for git cherry-pick.
44094         * lib/git-merge-changelog.c (struct entries_mapping): New type.
44095         (entries_mapping_get): New function, extracted from compute_mapping.
44096         (entries_mapping_reverse_get): New function.
44097         (compute_mapping): Add a 'full' argument. Return the result in a
44098         'struct entries_mapping'.
44099         (main): Update. Access the mappings through entries_mapping_get.
44100         Reported by Eric Blake.
44101
44102 2009-07-02  Bruno Haible  <bruno@clisp.org>
44103
44104         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
44105         best_i.
44106
44107 2009-07-02  Bruno Haible  <bruno@clisp.org>
44108
44109         Speed up approximate search for matching ChangeLog entries.
44110         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
44111         argument. Call fstrcmp_bounded instead of fstrcmp.
44112         (compute_mapping, try_split_merged_entry, main): Update callers.
44113
44114 2009-07-02  Bruno Haible  <bruno@clisp.org>
44115
44116         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
44117
44118 2009-06-30  Bruno Haible  <bruno@clisp.org>
44119
44120         Reduce the number of uc_is_cased calls.
44121         * lib/unicase.h (casing_suffix_context_t): Add
44122         'first_char_except_ignorable' field.
44123         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
44124         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
44125         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
44126         Update initializer.
44127         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
44128         case-ignorable characters.
44129         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
44130         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
44131         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
44132         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
44133         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
44134
44135 2009-06-30  Bruno Haible  <bruno@clisp.org>
44136
44137         Tests for module 'unicase/ignorable'.
44138         * modules/unicase/ignorable-tests: New file.
44139         * tests/unicase/test-ignorable.c: New file, generated by
44140         gen-uni-tables.
44141
44142         Tests for module 'unicase/cased'.
44143         * modules/unicase/cased-tests: New file.
44144         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
44145         * tests/unicase/test-predicate-part1.h: New file, derived from
44146         tests/unictype/test-predicate-part1.h.
44147         * tests/unicase/test-predicate-part2.h: New file, same as
44148         tests/unictype/test-predicate-part2.h.
44149
44150         Fix evaluation of "Before C" condition of FINAL_SIGMA.
44151         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
44152         (output_casing_properties): New function.
44153         (main): Call it.
44154         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
44155         * lib/unicase/cased.c: Include unictype/bitmap.h.
44156         (uc_is_cased): Define through a bitmap lookup.
44157         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
44158         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
44159         (uc_is_case_ignorable): Define through a bitmap lookup.
44160         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
44161         lib/unictype/bitmap.h.
44162         (Depends-on): Add inline. Clean up.
44163         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
44164         lib/unictype/bitmap.h.
44165         (Depends-on): Add inline. Clean up.
44166         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
44167         recognition.
44168         * tests/unicase/test-u16-tolower.c (main): Likewise.
44169         * tests/unicase/test-u32-tolower.c (main): Likewise.
44170
44171 2009-06-30  Bruno Haible  <bruno@clisp.org>
44172
44173         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
44174         * lib/unicase/u16-casemap.c: Likewise.
44175         * lib/unicase/u32-casemap.c: Likewise.
44176
44177 2009-06-29  Bruno Haible  <bruno@clisp.org>
44178
44179         Define u32_casefold as a wrapper around u32_ct_casefold.
44180         * lib/unicase/u32-casefold.c: Update.
44181         * modules/unicase/u32-casefold (Depends-on): Add
44182         unicase/u32-ct-casefold, unicase/empty-prefix-context,
44183         unicase/empty-suffix-context. Clean up.
44184
44185         Define u16_casefold as a wrapper around u16_ct_casefold.
44186         * lib/unicase/u16-casefold.c: Update.
44187         * modules/unicase/u16-casefold (Depends-on): Add
44188         unicase/u16-ct-casefold, unicase/empty-prefix-context,
44189         unicase/empty-suffix-context. Clean up.
44190
44191         Define u8_casefold as a wrapper around u8_ct_casefold.
44192         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
44193         * lib/unicase/u8-casefold.c: Update.
44194         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
44195         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44196
44197         Define u32_totitle as a wrapper around u32_ct_totitle.
44198         * lib/unicase/u32-totitle.c: Update.
44199         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
44200         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44201
44202         Define u16_totitle as a wrapper around u16_ct_totitle.
44203         * lib/unicase/u16-totitle.c: Update.
44204         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
44205         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44206
44207         Define u8_totitle as a wrapper around u8_ct_totitle.
44208         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
44209         functions.
44210         (FUNC): Delegate to U_CT_TOTITLE.
44211         * lib/unicase/u8-totitle.c: Update.
44212         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
44213         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44214
44215         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
44216         invocation.
44217         * modules/unicase/u32-tolower (Depends-on): Add
44218         unicase/empty-prefix-context, unicase/empty-suffix-context.
44219
44220         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
44221         invocation.
44222         * modules/unicase/u16-tolower (Depends-on): Add
44223         unicase/empty-prefix-context, unicase/empty-suffix-context.
44224
44225         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
44226         * modules/unicase/u8-tolower (Depends-on): Add
44227         unicase/empty-prefix-context, unicase/empty-suffix-context.
44228
44229         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
44230         invocation.
44231         * modules/unicase/u32-toupper (Depends-on): Add
44232         unicase/empty-prefix-context, unicase/empty-suffix-context.
44233
44234         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
44235         invocation.
44236         * modules/unicase/u16-toupper (Depends-on): Add
44237         unicase/empty-prefix-context, unicase/empty-suffix-context.
44238
44239         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
44240         * modules/unicase/u8-toupper (Depends-on): Add
44241         unicase/empty-prefix-context, unicase/empty-suffix-context.
44242
44243         New module 'unicase/u32-ct-casefold'.
44244         * lib/unicase/u32-ct-casefold.c: New file.
44245         * modules/unicase/u32-ct-casefold: New file.
44246
44247         New module 'unicase/u16-ct-casefold'.
44248         * lib/unicase/u16-ct-casefold.c: New file.
44249         * modules/unicase/u16-ct-casefold: New file.
44250
44251         New module 'unicase/u8-ct-casefold'.
44252         * lib/unicase/u8-ct-casefold.c: New file.
44253         * lib/unicase/u-ct-casefold.h: New file, derived from
44254         lib/unicase/u-casefold.h.
44255         * modules/unicase/u8-ct-casefold: New file.
44256
44257         New module 'unicase/u32-ct-totitle'.
44258         * lib/unicase/u32-ct-totitle.c: New file.
44259         * modules/unicase/u32-ct-totitle: New file.
44260
44261         New module 'unicase/u16-ct-totitle'.
44262         * lib/unicase/u16-ct-totitle.c: New file.
44263         * modules/unicase/u16-ct-totitle: New file.
44264
44265         New module 'unicase/u8-ct-totitle'.
44266         * lib/unicase/u8-ct-totitle.c: New file.
44267         * lib/unicase/u-ct-totitle.h: New file, derived from
44268         lib/unicase/u-totitle.h.
44269         * modules/unicase/u8-ct-totitle: New file.
44270
44271         New module 'unicase/u32-ct-tolower'.
44272         * lib/unicase/u32-ct-tolower.c: New file.
44273         * modules/unicase/u32-ct-tolower: New file.
44274
44275         New module 'unicase/u16-ct-tolower'.
44276         * lib/unicase/u16-ct-tolower.c: New file.
44277         * modules/unicase/u16-ct-tolower: New file.
44278
44279         New module 'unicase/u8-ct-tolower'.
44280         * lib/unicase/u8-ct-tolower.c: New file.
44281         * modules/unicase/u8-ct-tolower: New file.
44282
44283         New module 'unicase/u32-ct-toupper'.
44284         * lib/unicase/u32-ct-toupper.c: New file.
44285         * modules/unicase/u32-ct-toupper: New file.
44286
44287         New module 'unicase/u16-ct-toupper'.
44288         * lib/unicase/u16-ct-toupper.c: New file.
44289         * modules/unicase/u16-ct-toupper: New file.
44290
44291         New module 'unicase/u8-ct-toupper'.
44292         * lib/unicase/u8-ct-toupper.c: New file.
44293         * modules/unicase/u8-ct-toupper: New file.
44294
44295         Add context arguments to u*_casemap functions.
44296         * lib/unicase/unicasemap.h: Include unicase.h.
44297         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
44298         suffix_context arguments.
44299         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
44300         functions.
44301         (FUNC): Add prefix_context and suffix_context arguments. Use
44302         uc_is_cased and uc_is_case_ignorable.
44303         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
44304         * lib/unicase/u16-casemap.c: Likewise.
44305         * lib/unicase/u32-casemap.c: Likewise.
44306         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
44307         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44308         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
44309         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44310         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
44311         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44312
44313         New module 'unicase/u32-suffix-context'.
44314         * lib/unicase/u32-suffix-context.c: New file.
44315         * modules/unicase/u32-suffix-context: New file.
44316
44317         New module 'unicase/u16-suffix-context'.
44318         * lib/unicase/u16-suffix-context.c: New file.
44319         * modules/unicase/u16-suffix-context: New file.
44320
44321         New module 'unicase/u8-suffix-context'.
44322         * lib/unicase/u8-suffix-context.c: New file.
44323         * lib/unicase/u-suffix-context.h: New file.
44324         * modules/unicase/u8-suffix-context: New file.
44325
44326         New module 'unicase/empty-suffix-context'.
44327         * lib/unicase/empty-suffix-context.c: New file.
44328         * modules/unicase/empty-suffix-context: New file.
44329
44330         New module 'unicase/u32-prefix-context'.
44331         * lib/unicase/u32-prefix-context.c: New file.
44332         * modules/unicase/u32-prefix-context: New file.
44333
44334         New module 'unicase/u16-prefix-context'.
44335         * lib/unicase/u16-prefix-context.c: New file.
44336         * modules/unicase/u16-prefix-context: New file.
44337
44338         New module 'unicase/u8-prefix-context'.
44339         * lib/unicase/u8-prefix-context.c: New file.
44340         * lib/unicase/u-prefix-context.h: New file.
44341         * lib/unicase/context.h: New file.
44342         * modules/unicase/u8-prefix-context: New file.
44343
44344         New module 'unicase/empty-prefix-context'.
44345         * lib/unicase/empty-prefix-context.c: New file.
44346         * modules/unicase/empty-prefix-context: New file.
44347
44348         New module 'unicase/ignorable'.
44349         * lib/unicase/ignorable.c: New file.
44350         * modules/unicase/ignorable: New file.
44351
44352         New module 'unicase/cased'.
44353         * lib/unicase/caseprop.h: New file.
44354         * lib/unicase/cased.c: New file.
44355         * modules/unicase/cased: New file.
44356
44357         New functions for case mapping of substrings.
44358         * lib/unicase.h (casing_prefix_context_t): New type.
44359         (unicase_empty_prefix_context): New variable.
44360         (u8_casing_prefix_context, u16_casing_prefix_context,
44361         u32_casing_prefix_context, u8_casing_prefixes_context,
44362         u16_casing_prefixes_context, u32_casing_prefixes_context): New
44363         declarations.
44364         (casing_suffix_context_t): New type.
44365         (unicase_empty_suffix_context): New variable.
44366         (u8_casing_suffix_context, u16_casing_suffix_context,
44367         u32_casing_suffix_context, u8_casing_suffixes_context,
44368         u16_casing_suffixes_context, u32_casing_suffixes_context,
44369         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
44370         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
44371         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
44372         declarations.
44373
44374 2009-06-28  Jim Meyering  <meyering@redhat.com>
44375
44376         boostrap: indent only with spaces
44377         * build-aux/bootstrap: Indent only with spaces, never TABs.
44378
44379         bootstrap: split long lines
44380         * build-aux/bootstrap: Keep line length < 80.
44381
44382         bootstrap: sync from coreutils
44383         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
44384         just as autoreconf does.  Verify a list of prerequisite
44385         package-name,version-number pairs if defined in bootstrap.conf.
44386         Refer to README-prereq, if prerequisites are not satisfied.
44387
44388 2009-06-27  Eric Blake  <ebb9@byu.net>
44389
44390         tests: add test for bogus NULL definition
44391         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
44392         * tests/test-stdlib.c: Likewise.
44393         * tests/test-string.c: Likewise.
44394         * tests/test-locale.c: Likewise.
44395         * tests/test-unistd.c: Likewise.
44396         * modules/stdio-tests (Depends-on): Add verify.
44397         * modules/stdlib-tests (Depends-on): Likewise.
44398         * modules/string-tests (Depends-on): Likewise.
44399         * modules/locale-tests (Depends-on): Likewise.
44400         * modules/unistd-tests (Depends-on): Likewise.
44401
44402 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
44403
44404         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
44405         self-explaining comment.
44406         * m4/selinux-selinux-h: Update serial.
44407         (gl_LIBSELINUX): New macro, adding a warning for missing development
44408         packages to code extracted from...
44409         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
44410         Add warning for missing development packages here, too.
44411
44412 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
44413
44414         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
44415
44416 2009-06-25  Eric Blake  <ebb9@byu.net>
44417
44418         version-etc: fix regression
44419         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
44420         gcc.
44421         (version_etc): Use it, to catch bugs with trailing NULL.
44422         * lib/version-etc.c (version_etc_arn): Delete unused argument.
44423         (version_etc_va): Fix logic bug.
44424         * modules/version-etc-tests: Add test.
44425         * tests/test-version-etc.c: New file.
44426         * tests/test-version-etc.sh: Likewise.
44427
44428 2009-06-25  Sam Steingold  <sds@gnu.org>
44429
44430         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
44431         mbtowc declaration.
44432
44433 2009-06-25  Eric Blake  <ebb9@byu.net>
44434
44435         fpurge: migrate into <stdio.h>
44436         * lib/fpurge.h: Delete...
44437         * lib/stdio.in.h (fpurge): ...and declare here, instead.
44438         * lib/fpurge.c (fpurge): Change declaring header.
44439         * modules/fpurge (Files): Drop deleted file.
44440         (Depends-on): Add stdio.
44441         (configure.ac): Set witness.
44442         * modules/stdio (Makefile.am): Support fpurge macros.
44443         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
44444         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
44445         * lib/fflush.c: Update client.
44446         * tests/test-fpurge.c: Likewise.
44447         * NEWS: Mention the change.
44448
44449 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44450
44451         * lib/argp-version-etc.c (program_authors): Add const
44452         qualifier.
44453         * lib/version-etc.c: Fix typos in the comments.
44454         * modules/argp-version-etc: Depends on version-etc.
44455
44456 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44457
44458         argp-version-etc: new module.
44459
44460         * lib/argp-version-etc.c: New file.
44461         * lib/argp-version-etc.h: New file.
44462         * modules/argp-version-etc: New file.
44463         * modules/argp-version-etc-tests: New file.
44464         * tests/test-argp-version-etc.c: New test.
44465         * tests/test-argp-version-etc-1.sh: New test.
44466
44467 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44468
44469         Provide additional interfaces and documentation for version-etc
44470         module.
44471
44472         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
44473         interfaces.
44474         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
44475         prototypes.
44476
44477 2009-06-24  Bruno Haible  <bruno@clisp.org>
44478
44479         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
44480         HAVE_LIB${NAME} macro.
44481         Reported by Sam Steingold <sds@gnu.org>.
44482
44483 2009-06-23  Simon Josefsson  <simon@josefsson.org>
44484
44485         * modules/hash-tests (test_hash_LDADD): Link to libintl when
44486         needed.
44487
44488 2009-06-21  Bruno Haible  <bruno@clisp.org>
44489
44490         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
44491         work.
44492         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
44493         together with LIB${NAME}, LTLIB${NAME}.
44494         Reported by Sam Steingold <sds@gnu.org>.
44495
44496 2009-06-20  Jim Meyering  <meyering@redhat.com>
44497
44498         tests: make sc_require_test_exit_idiom more generic
44499         * top/maint.mk (Exit_witness_file): New overridable variable.
44500         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
44501         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
44502
44503 2009-06-19  Jim Meyering  <meyering@redhat.com>
44504
44505         hash: reverse order of src/dst parameters in an internal interface
44506         * lib/hash.c (transfer_entries): Reverse order of parameters to
44507         put DST before SRC.  Adjust callers.
44508
44509         tests: test-hash: avoid wholesale duplication
44510         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
44511         Instead, use a loop and add a single conditional.
44512
44513         tests: test-hash: allow seed selection via a command line argument
44514         * tests/test-hash.c (get_seed): New function.
44515         (main): Use it.
44516
44517 2009-06-19  Eric Blake  <ebb9@byu.net>
44518
44519         hash: avoid memory leak on allocation failure
44520         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
44521         failure.  Factor repeated algorithm...
44522         (transfer_entries): ...into new helper routine.
44523         (hash_delete): React to hash_rehash return value.
44524
44525         hash: reduce memory pressure in hash_rehash no-op case
44526         * lib/hash.c (next_prime): Avoid overflow.
44527         (hash_initialize): Factor bucket size computation...
44528         (compute_bucket_size): ...into new helper function.
44529         (hash_rehash): Use new function and open coding to reduce memory
44530         pressure, and avoid a memory leak in USE_OBSTACK code.
44531         Reported by Jim Meyering.
44532
44533 2009-06-18  Eric Blake  <ebb9@byu.net>
44534
44535         hash: make rotation more obvious
44536         * modules/hash (Depends-on): Add bitrotate and stdint.
44537         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
44538         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
44539         (SIZE_MAX): Rely on headers for definition.
44540         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
44541         (raw_hasher): Use rotr_sz.
44542         Suggested by Jim Meyering.
44543
44544         hash: fix memory leak in last patch
44545         * lib/hash.c (hash_rehash): Avoid memory leak.
44546
44547         hash: avoid no-op rehashing
44548         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
44549
44550         hash: provide default callback functions
44551         * lib/hash.c (raw_hasher, raw_comparator): New functions.
44552         (hash_initialize): Use them as defaults.
44553         * tests/test-hash.c (main): Test this.
44554
44555         hash: minor optimization
44556         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
44557         when possible.
44558         (hash_initialize): Document this promise.
44559         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
44560         * tests/test-hash.c (hash_compare_strings): Test this.
44561
44562 2009-06-18  Bruno Haible  <bruno@clisp.org>
44563
44564         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
44565         going to be replaced anyway.
44566
44567 2009-06-18  Bruno Haible  <bruno@clisp.org>
44568
44569         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
44570         in one place.
44571         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
44572         be replaced anyway.
44573
44574 2009-06-18  Eric Blake  <ebb9@byu.net>
44575
44576         hash: check for resize before insertion
44577         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
44578         threshold before insertion, so that a pathological hash_rehash
44579         that fills every bucket can still trigger another rehash.
44580
44581 2009-06-18  Jim Meyering  <meyering@redhat.com>
44582
44583         hash-tests: add a loop around the small tests
44584         * tests/test-hash.c (main): Repeat small tests with selected
44585         small initial table sizes.
44586
44587 2009-06-17  Eric Blake  <ebb9@byu.net>
44588
44589         hash: minor cleanups
44590         * lib/hash.h (hash_entry): Make opaque, by moving...
44591         * lib/hash.c (hash_entry): ...here.
44592         (hash_insert): Clarify restrictions on what can be inserted.
44593         (hash_get_next): Clarify when it is safe to remove an element
44594         during traversal.
44595         (check_tuning): Skip verification when tuning is known safe.
44596         (hash_initialize): Clarify restrictions on tuning.
44597
44598 2009-06-17  Jim Meyering  <jim@meyering.net>
44599         and Eric Blake  <ebb9@byu.net>
44600
44601         hash-tests: new module
44602         * modules/hash-tests: New file.
44603         * tests/test-hash.c: New file.
44604
44605 2009-06-17  Eric Blake  <ebb9@byu.net>
44606
44607         strstr-simple: document new module
44608         * MODULES.html.sh: Document new module.
44609
44610         strstr, strcasestr: replace on platforms with broken memchr
44611         * modules/strstr: Split into...
44612         * modules/strstr-simple: ...new module that does not care about
44613         performance, but does care about glibc bug.
44614         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
44615         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
44616         if platform memchr is broken, per Debian bug 521737.
44617         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
44618         memchr.
44619         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
44620         * doc/posix-functions/strstr.texi (strstr): Document the fix.
44621         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
44622         * modules/mountlist (Depends-on): Add strstr-simple.
44623         * modules/gen-uni-tables (Depends-on): Likewise.
44624         * modules/argz (Depends-on): Add strstr.
44625
44626 2009-06-17  Bruno Haible  <bruno@clisp.org>
44627
44628         * modules/posix_spawn-internal (Depends-on): Add errno.
44629
44630 2009-06-17  Bruno Haible  <bruno@clisp.org>
44631
44632         Define missing ESTALE on Interix 3.5.
44633         * lib/errno.in.h (ESTALE): Assign a value if missing.
44634         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
44635         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
44636         missing.
44637         * doc/posix-headers/errno.texi: Mention the Interix bug.
44638         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
44639
44640 2009-06-15  Eric Blake  <ebb9@byu.net>
44641
44642         memchr, memchr2: add valgrind exception
44643         * lib/memchr.valgrind: New file.
44644         * lib/memchr2.valgrind: New file.
44645         * modules/memchr (Files): Distribute valgrind file.
44646         * modules/memchr2 (Files): Likewise.
44647
44648         docs: memchr is no longer obsolete
44649         * MODULES.html.sh: Move memchr from obsolete to string.h section.
44650         * lib/string.in.h (memchr): Simplify logic.
44651
44652 2009-06-14  Jim Meyering  <meyering@redhat.com>
44653
44654         link-follow: fix the "checking..." message to not mention trailing slash
44655         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
44656         never considered trailing slashes.
44657
44658 2009-06-14  Bruno Haible  <bruno@clisp.org>
44659
44660         * m4/memchr.m4: Mention also the bug on IA-64.
44661         * doc/posix-functions/memchr.texi: Likewise.
44662
44663 2009-06-12  Eric Blake  <ebb9@byu.net>
44664
44665         memchr: detect broken x86_64 and alpha implementations
44666         * modules/memchr-tests (Depends-on): Move mmap detection...
44667         * modules/memchr (Depends-on): ...here.
44668         (configure.ac): Set indicator.
44669         * lib/string.in.h (memchr): Declare replacement.
44670         * modules/string (Makefile.am): Trigger replacement.
44671         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
44672         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
44673         bugs.
44674         * doc/posix-functions/memchr.texi (memchr): Document the bug.
44675         * modules/getpagesize (License): Relax license.
44676
44677 2009-06-11  Bruno Haible  <bruno@clisp.org>
44678
44679         * lib/idpriv.h: Add more references.
44680
44681 2009-06-08  Bruno Haible  <bruno@clisp.org>
44682
44683         Tests for module 'idpriv-droptemp'.
44684         * modules/idpriv-droptemp-tests: New file.
44685         * tests/test-idpriv-droptemp.sh: New file.
44686         * tests/test-idpriv-droptemp.su.sh: New file.
44687         * tests/test-idpriv-droptemp.c: New file.
44688
44689         New module 'idpriv-droptemp'.
44690         * lib/idpriv-droptemp.c: New file.
44691         * modules/idpriv-droptemp: New file.
44692
44693 2009-06-08  Bruno Haible  <bruno@clisp.org>
44694
44695         Tests for module 'idpriv-drop'.
44696         * modules/idpriv-drop-tests: New file.
44697         * tests/test-idpriv-drop.sh: New file.
44698         * tests/test-idpriv-drop.su.sh: New file.
44699         * tests/test-idpriv-drop.c: New file.
44700
44701         New module 'idpriv-drop'.
44702         * lib/idpriv.h: New file.
44703         * lib-idpriv-drop.c: New file.
44704         * m4/idpriv.m4: New file.
44705         * modules/idpriv-drop: New file.
44706
44707 2009-06-08  Bruno Haible  <bruno@clisp.org>
44708
44709         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
44710         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44711         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44712         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44713         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44714         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44715         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44716
44717 2009-06-08  Eric Blake  <ebb9@byu.net>
44718
44719         test-strstr: use memory fence, when possible
44720         * tests/test-strstr.c (main): Use memory fence, in order to be
44721         more likely to trigger Debian bug 521737.
44722         * modules/strstr-tests (Files): Pull in additional files.
44723
44724         memchr: no longer obsolete, for wider field testing
44725         * modules/memchr (Status, Notice): Delete, this module is no
44726         longer obsolete.
44727         * modules/vasnprintf (Depends-on): Add memchr.
44728
44729 2009-06-07  Jim Meyering  <meyering@redhat.com>
44730
44731         hash: declare some functions with the warn_unused_result attribute
44732         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
44733
44734 2009-06-07  Bruno Haible  <bruno@clisp.org>
44735
44736         * tests/test-alignof.c: Don't test int64_t if it does not exist.
44737         Reported by Eric Blake.
44738
44739 2009-06-06  Eric Blake  <ebb9@byu.net>
44740
44741         test-alignof: fix typo with long double
44742         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
44743         compiler error.
44744
44745 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
44746
44747         Escape non-texinfo { and }s.
44748         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
44749         markup error.
44750
44751 2009-06-04  Jim Meyering  <meyering@redhat.com>
44752
44753         gitlog-to-changelog: don't infloop on an empty commit log
44754         * build-aux/gitlog-to-changelog: Warn about an empty log message.
44755         Reported by Boris Petersen <transacid@centerim.org>.
44756
44757 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
44758
44759         version-etc: extend for packagers
44760         Add three new configure options, intended for packagers:
44761           --with-packager="packager name"
44762           --with-packager-version="packager-specific version"
44763           --with-packager-bug-reports="packager bug reporting"
44764         An example with coreutils:
44765           $ ./configure \
44766             --with-packager=Gentoo \
44767             --with-packager-bug-report=http://bugs.gentoo.org/ \
44768             --with-packager-version="patchset 1.6"
44769           $ ./src/ls --version | head -n2
44770           ls (GNU coreutils) 7.1-dirty
44771           Packaged by Gentoo (patchset 1.6)
44772         Note that the bug reporting info via --help doesn't show up because
44773         coreutils uses its own custom emit_bug_reporting_address() implementation
44774         in src/system.h.  If it didn't, it'd look like:
44775           $ ./src/ls --help | tail -n4
44776           Report bugs to <bug-coreutils@gnu.org>.
44777           Report Gentoo bugs to <http://bugs.gentoo.org/>.
44778           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
44779           General help using GNU software: <http://www.gnu.org/gethelp/>.
44780         * lib/version-etc.c: Print new information, if provided.
44781         * m4/version-etc.m4: New file.
44782         * modules/version-etc (Files): Add m4/version-etc.m4.
44783         (configure.ac): Add gl_VERSION_ETC.
44784
44785 2009-05-31  Bruno Haible  <bruno@clisp.org>
44786
44787         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
44788         and 'int64_t'.
44789         * modules/alignof-tests (Dependencies): Add stdint.
44790         Reported by Eric Blake.
44791
44792 2009-05-31  Bruno Haible  <bruno@clisp.org>
44793
44794         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
44795         restriction due to compiler bugs.
44796         Reported by Eric Blake.
44797
44798 2009-05-31  Simon Josefsson  <simon@josefsson.org>
44799             Bruno Haible  <bruno@clisp.org>
44800
44801         Fix test-alignof failure.
44802         * lib/alignof.h (alignof_slot): New macro.
44803         (alignof_type): New macro, with the same semantics as the previous
44804         'alignof'.
44805         (alignof): Alias to alignof_slot.
44806         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
44807         check that the results are usable as constant expressions.
44808
44809 2009-05-31  Bruno Haible  <bruno@clisp.org>
44810
44811         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
44812         * tests/test-memchr.c (main): Check that memchr does not read past the
44813         first occurrence of the byte.
44814         * tests/test-strstr.c (main): Update comment.
44815         Suggested by Eric Blake.
44816
44817 2009-05-30  Bruno Haible  <bruno@clisp.org>
44818
44819         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
44820         detail how to use dumpbin.
44821         Reported by David Byron <dbyron@dbyron.com>.
44822
44823 2009-06-02  Simon Josefsson  <simon@josefsson.org>
44824
44825         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
44826
44827 2009-06-02  Simon Josefsson  <simon@josefsson.org>
44828
44829         * m4/manywarnings.m4: Add GCC 4.4 warnings.
44830
44831 2009-05-28  Bruno Haible  <bruno@clisp.org>
44832
44833         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
44834         build-aux/ files.
44835
44836 2009-05-28  Simon Josefsson  <simon@josefsson.org>
44837
44838         * gnulib-tool (func_import): Transform license on build-aux/ files too.
44839
44840 2009-05-27  Simon Josefsson  <simon@josefsson.org>
44841
44842         * gnulib-tool (sed_transform_main_lib_file)
44843         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
44844         regexps.
44845
44846 2009-05-26  Simon Josefsson  <simon@josefsson.org>
44847
44848         * tests/test-strstr.c: Add another self-test.
44849         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
44850         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
44851
44852 2009-05-23  Bruno Haible  <bruno@clisp.org>
44853
44854         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
44855         change.
44856
44857 2009-05-21  Bruno Haible  <bruno@clisp.org>
44858
44859         Simplify use of mode_t varargs.
44860         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
44861         uses 'mode_t' or 'int'.
44862         * lib/openat.c (openat): Likewise.
44863         * lib/open-safer.c (open_safer): Likewise.
44864         * m4/mode_t.m4: New file.
44865         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
44866         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
44867         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
44868         * modules/open (Files): Add m4/mode_t.m4.
44869         * modules/openat (Files): Likewise.
44870         * modules/fcntl-safer (Files): Likewise.
44871         Suggested by Eric Blake.
44872
44873 2009-05-21  Pádraig Brady  <P@draigbrady.com>
44874
44875         * doc/glibc-functions/fallocate.texi: New file.
44876         * doc/gnulib.texi: Include it.
44877
44878 2009-05-21  Eric Blake  <ebb9@byu.net>
44879             Bruno Haible  <bruno@clisp.org>
44880
44881         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
44882         invocations.
44883         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44884
44885 2009-05-21  Eric Blake  <ebb9@byu.net>
44886             Bruno Haible  <bruno@clisp.org>
44887
44888         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
44889         include_next. Fix of 2008-11-20 commit.
44890         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
44891         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
44892         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
44893         NEXT_MATH_H.
44894         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
44895         instead of NEXT_MATH_H.
44896
44897 2009-05-21  Bruno Haible  <bruno@clisp.org>
44898
44899         Avoid redefinition warnings for SIZE_MAX.
44900         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
44901         Reported by Simon Josefsson.
44902
44903 2009-05-21  Bruno Haible  <bruno@clisp.org>
44904
44905         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
44906         AC_CACHE_VAL.
44907
44908 2009-05-20  Bruno Haible  <bruno@clisp.org>
44909
44910         Make zeroptr.h work on mingw.
44911         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
44912         mprotect.
44913         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
44914         * modules/memchr2-tests (configure.ac): Likewise.
44915         * modules/memcmp-tests (configure.ac): Likewise.
44916         * modules/memmem-tests (configure.ac): Likewise.
44917         * modules/memrchr-tests (configure.ac): Likewise.
44918         Reported by Simon Josefsson.
44919
44920 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44921
44922         * tests/test-glob.c: Include string.h for strcmp prototype.
44923
44924 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44925
44926         * modules/getdelim (Depends-on): Add explicit stdint, although it
44927         was implicitly already pulled in via realloc-posix.
44928         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
44929
44930 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44931
44932         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
44933         G. Christensen" <tgc@jupiterrise.com>.
44934         * m4/sys_socket_h.m4: Check for sa_family_t.
44935         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
44936         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
44937         * tests/test-sys_socket.c: Check that sa_family_t works.
44938
44939 2009-05-18  Eric Blake  <ebb9@byu.net>
44940
44941         maint.mk: allow gnulib_dir in VPATH build
44942         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
44943
44944 2009-05-15  Jim Meyering  <meyering@redhat.com>
44945
44946         maint.mk: Give gnulib_dir a default definition.
44947         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
44948         Thus, most packages no longer need to specify this variable in cfg.mk
44949
44950 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
44951
44952         rename.m4: fix typos that would make non-mingw cross-configure fail
44953         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
44954
44955 2009-05-13  Eric Blake  <ebb9@byu.net>
44956
44957         mmap-anon: avoid out-of-order autoconf expansion
44958         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
44959         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
44960         * modules/memchr-tests (Depends-on): Add extensions.
44961         * modules/memchr2-tests (Depends-on): Add extensions.
44962         * modules/memcmp-tests (Depends-on): Add extensions.
44963         * modules/memmem-tests (Depends-on): Add extensions.
44964         * modules/memrchr-tests (Depends-on): Add extensions.
44965
44966 2009-05-13  Bruno Haible  <bruno@clisp.org>
44967
44968         Make some tests ISO C 99 compliant.
44969         * tests/zerosize-ptr.h: New file.
44970         * tests/test-memchr.c: Include zerosize-ptr.h.
44971         (main): Use a zero-size object pointer instead of NULL.
44972         * tests/test-memchr2.c: Include zerosize-ptr.h.
44973         (main): Use a zero-size object pointer instead of NULL.
44974         * tests/test-memcmp.c: Include zerosize-ptr.h.
44975         (main): Use a zero-size object pointer instead of NULL.
44976         * tests/test-memmem.c: Include zerosize-ptr.h.
44977         (main): Use a zero-size object pointer instead of NULL.
44978         * tests/test-memrchr.c: Include zerosize-ptr.h.
44979         (main): Use a zero-size object pointer instead of NULL.
44980         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
44981         m4/mmap-anon.m4.
44982         (Depends-on): Add getpagesize.
44983         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44984         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
44985         m4/mmap-anon.m4.
44986         (Depends-on): Add getpagesize.
44987         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44988         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
44989         m4/mmap-anon.m4.
44990         (Depends-on): Add getpagesize.
44991         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44992         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
44993         m4/mmap-anon.m4.
44994         (Depends-on): Add getpagesize.
44995         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44996         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
44997         m4/mmap-anon.m4.
44998         (Depends-on): Add getpagesize.
44999         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45000
45001 2009-05-12  Bruno Haible  <bruno@clisp.org>
45002
45003         Tests for module 'alignof'.
45004         * modules/alignof-tests: New file.
45005         * tests/test-alignof.c: New file.
45006
45007 2009-05-12  Bruno Haible  <bruno@clisp.org>
45008
45009         Fix alignof macro.
45010         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
45011         vendor compilers that are always correct.
45012
45013 2009-05-12  Bruno Haible  <bruno@clisp.org>
45014
45015         Make the MAP_ANONYMOUS detection work on HP-UX 11.
45016         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
45017         not whether its fully works.
45018
45019 2009-05-12  Bruno Haible  <bruno@clisp.org>
45020
45021         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
45022
45023 2009-05-12  Jim Meyering  <meyering@redhat.com>
45024
45025         * top/maint.mk: Adjust backslash alignment.
45026
45027 2009-05-11  Simon Josefsson  <simon@josefsson.org>
45028
45029         * top/maint.mk: Make $(srcdir)/build-aux configurable.
45030
45031 2009-05-11  Eric Blake  <ebb9@byu.net>
45032
45033         argp: avoid undefined behavior
45034         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
45035         macros.
45036
45037 2009-05-08  Simon Josefsson  <simon@josefsson.org>
45038
45039         * tests/test-vc-list-files-git.sh: Do git config of user.email and
45040         user.name to prevent git commit from complaining.
45041
45042 2009-05-10  Bruno Haible  <bruno@clisp.org>
45043
45044         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
45045         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
45046         it rewrites every file name only once.
45047         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
45048
45049 2009-05-08  Bruno Haible  <bruno@clisp.org>
45050
45051         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
45052         instead of 'max'.
45053
45054 2009-05-08  Simon Josefsson  <simon@josefsson.org>
45055
45056         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
45057         sockaddr_storage test.
45058
45059 2009-05-07  Simon Josefsson  <simon@josefsson.org>
45060
45061         * modules/sys_socket (Makefile.am): Substitute
45062         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
45063         * m4/sys_socket_h.m4: Check for sockaddr_storage.
45064         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
45065         * tests/test-sys_socket.c: Check sockaddr_storage.
45066
45067 2009-05-08  Bruno Haible  <bruno@clisp.org>
45068
45069         New module 'alignof'.
45070         * lib/alignof.h: New file.
45071         * modules/alignof: New file.
45072
45073 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45074             Bruno Haible  <bruno@clisp.org>
45075
45076         Fix test-file-has-acl on FreeBSD.
45077         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
45078         mask is implicitly added.
45079         * tests/test-file-has-acl.c: Include <signal.h>.
45080         (main): Terminate the test after 5 seconds.
45081         * modules/acl-tests (configure.ac): Check for alarm function.
45082
45083 2009-05-04  Bruno Haible  <bruno@clisp.org>
45084
45085         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
45086         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
45087         * modules/errno (configure.ac): Drop AC_REQUIRE.
45088         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
45089         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
45090
45091 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45092
45093         * modules/glob-tests: New module.
45094         * tests/test-glob.c: Add.
45095
45096 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45097
45098         * modules/fnmatch-tests: New module.
45099         * tests/test-fnmatch.c: Add.
45100
45101 2009-05-04  Eric Blake  <ebb9@byu.net>
45102
45103         maint: make the new no-submodule-changes rule VPATH-safe
45104         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
45105
45106 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45107             Bruno Haible  <bruno@clisp.org>
45108
45109         acl: Fix infinite loop on FreeBSD.
45110         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
45111         of return value from acl_get_entry.
45112         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
45113         Likewise.
45114
45115 2009-05-03  Bruno Haible  <bruno@clisp.org>
45116
45117         * lib/acl-internal.h (acl_entries): Clarify return value.
45118         * lib/acl_entries.c (acl_entries): Likewise.
45119
45120 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45121
45122         Bug fix in acl module.
45123         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
45124
45125 2009-05-03  Bruno Haible  <bruno@clisp.org>
45126
45127         Create gperf-generated file in the source dir, not in the build dir.
45128         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
45129         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
45130         * modules/unicase/locale-language (unicase/locale-languages.h):
45131         Likewise.
45132         * modules/unicase/special-casing (unicase/special-casing-table.h):
45133         Likewise.
45134         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
45135         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
45136         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
45137         Reported by Ralf Wildenhues.
45138
45139 2009-05-03  Bruno Haible  <bruno@clisp.org>
45140
45141         * modules/fnmatch (Description, configure.ac): Taken from
45142         fnmatch-posix.
45143         * modules/fnmatch-posix: Turn into a symbolic reference to the
45144         'fnmatch' module, and deprecate.
45145         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
45146
45147 2009-05-03  Bruno Haible  <bruno@clisp.org>
45148
45149         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
45150         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
45151         Reported by Ralf Wildenhues.
45152
45153 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45154
45155         * m4/fnmatch.m4: Fix fnmatch re-define.
45156
45157 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45158
45159         priv-set: new module and tests; adapt write-any-file
45160         * lib/priv-set.c: New file.
45161         * lib/priv-set.h: New file.
45162         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
45163         * lib/write-any-file.c: Simplify by using priv-set module.
45164         * m4/priv-set.m4: New file.
45165         * modules/priv-set: New file.
45166         * modules/unlinkdir: Add dependency on priv-set module.
45167         * modules/write-any-file: Likewise.
45168
45169         Tests for module 'priv-set'.
45170         * modules/priv-set-tests: New file.
45171         * tests/test-priv-set.c: New file.
45172
45173 2009-05-03  Jim Meyering  <meyering@redhat.com>
45174             Bruno Haible  <bruno@clisp.org>
45175
45176         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
45177         use the converted UTF-8 variant of the name instead.
45178
45179 2009-05-03  Jim Meyering  <meyering@redhat.com>
45180
45181         tests: tighten some getdate tests
45182         * tests/test-getdate.c (main): Tighten tests: require equality,
45183         not just greater than.  Set TZ envvar to UTC0.
45184
45185 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
45186
45187         getdate: correctly interpret "next monday" when run on a Monday
45188         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
45189         that e.g., "next tues" (when run on a tuesday) results in a date
45190         that is one week in the future, and not today's date.
45191         I.e., add a week when the wday is the same as the current one.
45192         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
45193         and earlier by Martin Bernreuther and Jan Minář.
45194         * tests/test-getdate.c (main): Check that "next DAY" is always in
45195         the future and that "last DAY" is always in the past.
45196
45197 2009-05-02  Jim Meyering  <meyering@redhat.com>
45198
45199         build: ensure that a release build fails when a submodule is unclean
45200         * top/maint.mk (no-submodule-changes): New rule.
45201         (alpha beta major): Depend on it.
45202
45203 2009-05-02  Bruno Haible  <bruno@clisp.org>
45204
45205         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
45206         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
45207         shell variable gl_fnmatch_required to detect which variant is
45208         requested.
45209         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
45210         gl_FUNC_FNMATCH_POSIX.
45211         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
45212         exclude fnmatch-posix.
45213
45214 2009-05-02  Bruno Haible  <bruno@clisp.org>
45215
45216         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
45217         * modules/mbsrtowcs (License): Change to LGPLv2+.
45218         * modules/strnlen1 (License): Likewise.
45219         Reported by Simon Josefsson.
45220
45221 2009-05-02  Bruno Haible  <bruno@clisp.org>
45222
45223         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
45224         "cross".
45225         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
45226         gnulib-tool was called with option --source-base=lib.
45227
45228 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45229
45230         Use automake *-local hooks without commands, for extensibility.
45231         * modules/localcharset (Makefile.am): Rename install-exec-local
45232         rule to install-exec-localcharset, and make it a prerequisite of
45233         install-exec-local.  Likewise, rename the uninstall-local rule to
45234         uninstall-localcharset, and make it a prerequisite of the former.
45235
45236 2009-05-01  Bruno Haible  <bruno@clisp.org>
45237
45238         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
45239         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
45240         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
45241         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
45242         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
45243         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
45244         m4/locale-zh.m4, m4/codeset.m4.
45245
45246         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
45247         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
45248         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
45249         m4/locale-zh.m4.
45250
45251         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
45252         REPLACE_WCRTOMB if mbstate_t must be replaced.
45253         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
45254         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
45255
45256 2009-05-01  Bruno Haible  <bruno@clisp.org>
45257
45258         Avoid compiler warnings when redefining macros defined by <libintl.h>.
45259         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
45260         dngettext, dcngettext, textdomain, bindtextdomain,
45261         bind_textdomain_codeset): Undefine before redefining.
45262
45263 2009-04-30  Bruno Haible  <bruno@clisp.org>
45264
45265         Fix bug introduced on 2009-04-25.
45266         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
45267         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
45268         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
45269         is defined.
45270         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
45271         is defined.
45272         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
45273         is defined.
45274         Reported by Elbert_Pol <elbert.pol@gmail.com>.
45275
45276 2009-04-28  Bruno Haible  <bruno@clisp.org>
45277
45278         Comment tweaks.
45279         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
45280         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
45281         * lib/unicase.h (u*_casexfrm): Likewise.
45282         Reported by Paolo Bonzini.
45283
45284 2009-04-28  Bruno Haible  <bruno@clisp.org>
45285
45286         Fix a compilation error.
45287         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
45288         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
45289         Reported by Jim Meyering.
45290
45291 2009-04-27  Bruno Haible  <bruno@clisp.org>
45292
45293         New module 'libunistring'.
45294         * modules/libunistring: New file.
45295         * m4/libunistring.m4: New file.
45296         * MODULES.html.sh (Unicode string functions): Add it.
45297
45298 2009-04-27  Eric Blake  <ebb9@byu.net>
45299
45300         maint.mk: allow package-specific header to provide <config.h>
45301         * top/maint.mk (sc_require_config_h): New variable.
45302         (sc_require_config_h, sc_require_config_h_first): Use it.
45303
45304 2009-04-27  Simon Josefsson  <simon@josefsson.org>
45305
45306         * top/maint.mk (sc_avoid_if_before_free): Except
45307         useless-if-before-free script.
45308
45309 2009-04-27  Eric Blake  <ebb9@byu.net>
45310
45311         maintainer-makefile: depend on all required helper scripts
45312         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
45313         useless-if-before-free.
45314         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
45315         version, rather than assuming gnulib checkout is available.
45316         Reported by Simen Josefsson.
45317
45318 2009-04-26  Bruno Haible  <bruno@clisp.org>
45319
45320         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
45321         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
45322         "../" or "..".
45323
45324 2009-04-26  Bruno Haible  <bruno@clisp.org>
45325
45326         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
45327         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
45328         AC_LIB_HAVE_LINKFLAGS.
45329
45330 2009-04-26  Bruno Haible  <bruno@clisp.org>
45331
45332         Simplify calling convention of u*_conv_from_encoding.
45333         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
45334         u32_conv_from_encoding): Expect a resultbuf argument and return the
45335         result directly as a pointer.
45336         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
45337         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
45338         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
45339         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
45340         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
45341         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
45342         Update.
45343         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
45344         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
45345         * lib/vasnprintf.c (VASNPRINTF): Update.
45346         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
45347         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
45348         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
45349         * NEWS: Mention the change.
45350
45351 2009-04-26  Bruno Haible  <bruno@clisp.org>
45352
45353         Simplify calling convention of u*_conv_to_encoding.
45354         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
45355         u32_conv_to_encoding): Expect a resultbuf argument and return the
45356         result directly as a pointer.
45357         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
45358         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
45359         freeing scaled_offsets if mem_iconveha failed.
45360         * lib/unicase/u-casexfrm.h (FUNC): Update.
45361         * lib/uninorm/u-normxfrm.h (FUNC): Update.
45362         * lib/vasnprintf.c (VASNPRINTF): Update.
45363         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
45364         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
45365         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
45366         * NEWS: Mention the change.
45367
45368 2009-04-26  Bruno Haible  <bruno@clisp.org>
45369
45370         Avoid test failures on AIX and OSF/1.
45371         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
45372         malloc(0).
45373         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
45374         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
45375         Likewise.
45376         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
45377         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
45378         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
45379         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
45380         * doc/posix-functions/malloc.texi: Document the portability problem
45381         related to malloc(0).
45382
45383 2009-04-26  Bruno Haible  <bruno@clisp.org>
45384
45385         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
45386         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
45387         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
45388
45389 2009-04-25  Bruno Haible  <bruno@clisp.org>
45390
45391         Avoid link error when creating a namespace clean library.
45392         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
45393         as macro with arguments if already defined as an alias.
45394         * lib/signbitf.c (gl_signbitf): Don't undefine.
45395         * lib/signbitd.c (gl_signbitd): Don't undefine.
45396         * lib/signbitl.c (gl_signbitl): Don't undefine.
45397
45398 2009-04-25  Jim Meyering  <meyering@redhat.com>
45399
45400         vc-list-files: fix another quoting bug
45401         * build-aux/vc-list-files: Avoid sed backslash expansion
45402         of pathological directory names.
45403
45404 2009-04-25  Eric Blake  <ebb9@byu.net>
45405
45406         vc-list-files: fix shell quoting error
45407         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
45408         timestamp.
45409
45410 2009-04-25  Jim Meyering  <meyering@redhat.com>
45411
45412         vc-list-files: restore lost functionality with subdir argument
45413         * build-aux/vc-list-files: When given a non-"." sub-directory
45414         argument, substitute the $dir/ prefix back onto each resulting name.
45415         Otherwise, coreutils' root_tests check would fail.
45416
45417 2009-04-24  Eric Blake  <ebb9@byu.net>
45418
45419         vc-list-files: ignore git symlinks
45420         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
45421         than ls-files, to ignore git symlinks.
45422
45423         maint.mk: import improvements from m4
45424         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
45425         (move_if_change): Delete unused macro.
45426         (news-date-check, vc-diff-check): Support VPATH builds.
45427         (announcement): Likewise.  Split --bootstrap-tools list...
45428         (boostrap-tools): ...into separate list, which can be overridden
45429         in cfg.mk.
45430         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
45431         requiring dependency on useless-if-before-free module.
45432         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
45433         Support VPATH builds.
45434
45435 2009-04-24  Jim Meyering  <meyering@redhat.com>
45436
45437         maint.mk: remove coreutils-specific rules and variables
45438         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
45439         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
45440         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
45441
45442         maint.mk: remove obsolete rule
45443         * top/maint.mk (rel-check): Remove rule.
45444         (WGET, WGETFLAGS): Remove now-unused variables.
45445
45446 2009-04-24  Simon Josefsson  <simon@josefsson.org>
45447
45448         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
45449         consistency.
45450
45451         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
45452         '$(PATH_SEPARATOR)' instead of ':'.
45453
45454 2009-04-24  Simon Josefsson  <simon@josefsson.org>
45455
45456         * lib/getopt1.c (main): Use 'const' for static array.
45457
45458 2009-04-24  Simon Josefsson  <simon@josefsson.org>
45459
45460         * top/maint.mk: Sync with coreutils.
45461         * NEWS: Explain incompatibilities.
45462
45463 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45464             Bruno Haible  <bruno@clisp.org>
45465
45466         Fix cross-compilation results.
45467         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
45468         statement, as third argument of AC_TRY_RUN.
45469         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
45470         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
45471         Likewise.
45472         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
45473         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
45474         Likewise.
45475         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
45476         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
45477         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
45478
45479 2009-04-20  Bruno Haible  <bruno@clisp.org>
45480
45481         Avoid test failure on mingw.
45482         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
45483
45484 2009-04-20  Bruno Haible  <bruno@clisp.org>
45485
45486         Avoid compilation error on mingw.
45487         * modules/localename-tests (Depends-on): Add locale.
45488
45489 2009-04-19  Bruno Haible  <bruno@clisp.org>
45490
45491         Support for building a shared library on Windows platforms.
45492         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
45493         (main): Test the presence of UNINORM_NFC here.
45494         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
45495         (main): Test the presence of UNINORM_NFD here.
45496         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
45497         (main): Test the presence of UNINORM_NFKC here.
45498         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
45499         (main): Test the presence of UNINORM_NFKD here.
45500
45501 2009-04-19  Bruno Haible  <bruno@clisp.org>
45502
45503         Avoid a compiler warning.
45504         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
45505         Change type of variable 'sequence'.
45506
45507 2009-04-19  Bruno Haible  <bruno@clisp.org>
45508
45509         * modules/configmake (Makefile.am): When the contents of configmake.h
45510         does not change, arrange to preserve its modification time.
45511
45512 2009-04-17  Simon Josefsson  <simon@josefsson.org>
45513
45514         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
45515         gettext domain.
45516
45517 2009-04-16  Jim Meyering  <meyering@redhat.com>
45518
45519         useless-if-before-free: improve conversion code
45520         * build-aux/useless-if-before-free: Adjust code-in-comment to match
45521         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
45522
45523 2009-04-14  Bruno Haible  <bruno@clisp.org>
45524
45525         * modules/fcntl (Depends-on): Add extensions.
45526         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
45527
45528 2009-04-12  Ben Pfaff  <blp@gnu.org>
45529
45530         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
45531         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
45532
45533 2009-03-20  Ben Pfaff  <blp@gnu.org>
45534
45535         Make rename replace existing destinations on Windows.
45536         * m4/rename.m4: Add test for Mingw.
45537         * lib/rename.c: Add rename replacement that uses MoveFileEx with
45538         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
45539         * doc/posix-functions/rename.texi: Document.
45540
45541 2009-04-10  Bruno Haible  <bruno@clisp.org>
45542
45543         New include file "iconveh.h".
45544         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
45545         * lib/striconveh.h: Include it.
45546         (enum iconv_ilseq_handler): Remove definition.
45547         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
45548         striconveh.h.
45549         * lib/striconveha.c: Include striconveh.h.
45550         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
45551         * modules/striconveh (Files): Add lib/iconveh.h.
45552         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
45553         lib/striconveh.h.
45554
45555 2009-04-10  Bruno Haible  <bruno@clisp.org>
45556
45557         * lib/uniconv.h: Update comment.
45558
45559 2009-04-10  Bruno Haible  <bruno@clisp.org>
45560
45561         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
45562         always.
45563         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
45564         * lib/unistr/u16-mbtouc-aux.c: Likewise.
45565         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
45566         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
45567         "unistring-notinline.h", so that the function gets defined always.
45568         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
45569         * lib/unistr/u8-uctomb.c: Likewise.
45570         * lib/unistr/u16-mbtouc.c: Likewise.
45571         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
45572         * lib/unistr/u16-uctomb.c: Likewise.
45573         * lib/unistr/u32-mbtouc.c: Likewise.
45574         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
45575         * lib/unistr/u32-uctomb.c: Likewise.
45576
45577 2009-04-10  Bruno Haible  <bruno@clisp.org>
45578
45579         Mark 'utime' obsolete.
45580         * modules/utime (Status, Notice): New sections.
45581         Suggested by Jim Meyering.
45582
45583         Fix cross-compile guess for utime test.
45584         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
45585         autoconf.
45586         * doc/posix-functions/utime.texi: Give more precisions.
45587         Reported by Jan <ipif@ymail.com>.
45588
45589 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
45590
45591         filevercmp: correct today's change
45592         * lib/filevercmp.c: Also handle coreutils' test inputs.
45593         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
45594
45595         Fix regression in 'filevercmp' module. Thanks Sven Joachim
45596         for reporting it.
45597         * lib/filevercmp.c: Special handle for "", "." and "..".
45598         * tests/test-filevercmp.c: Enlarge the set suite.
45599
45600 2009-04-07  Jim Meyering  <meyering@redhat.com>
45601
45602         useless-if-before-free: show how to remove braced useless free, too
45603         * build-aux/useless-if-before-free: still only in a comment, though.
45604
45605 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
45606
45607         maint.mk: import changes to syntax-check macros from coreutils
45608         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
45609         Use them in the relevant macros.
45610
45611 2009-04-06  Bruno Haible  <bruno@clisp.org>
45612
45613         Fix unportable use of bit-fields.
45614         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
45615         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
45616         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
45617
45618 2009-04-06  Bruno Haible  <bruno@clisp.org>
45619
45620         Avoid test failures on AIX and OSF/1.
45621         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
45622         that malloc(0) = NULL.
45623         * tests/unicase/test-u8-tolower.c (check): Likewise.
45624         * tests/unicase/test-u8-totitle.c (check): Likewise.
45625         * tests/unicase/test-u8-toupper.c (check): Likewise.
45626         * tests/unicase/test-u16-casefold.c (check): Likewise.
45627         * tests/unicase/test-u16-tolower.c (check): Likewise.
45628         * tests/unicase/test-u16-totitle.c (check): Likewise.
45629         * tests/unicase/test-u16-toupper.c (check): Likewise.
45630         * tests/unicase/test-u32-casefold.c (check): Likewise.
45631         * tests/unicase/test-u32-tolower.c (check): Likewise.
45632         * tests/unicase/test-u32-totitle.c (check): Likewise.
45633         * tests/unicase/test-u32-toupper.c (check): Likewise.
45634         * tests/uninorm/test-u8-nfc.c (check): Likewise.
45635         * tests/uninorm/test-u8-nfd.c (check): Likewise.
45636         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
45637         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
45638         * tests/uninorm/test-u16-nfc.c (check): Likewise.
45639         * tests/uninorm/test-u16-nfd.c (check): Likewise.
45640         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
45641         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
45642         * tests/uninorm/test-u32-nfc.c (check): Likewise.
45643         * tests/uninorm/test-u32-nfd.c (check): Likewise.
45644         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
45645         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
45646
45647 2009-04-05  Bruno Haible  <bruno@clisp.org>
45648
45649         Work around an autoconf limitation.
45650         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
45651         comment line if it would be longer than 3 KB.
45652
45653 2009-04-05  Bruno Haible  <bruno@clisp.org>
45654
45655         Avoid test failure with libiconv-1.13.
45656         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
45657         of the expected test results.
45658
45659 2009-04-05  Bruno Haible  <bruno@clisp.org>
45660
45661         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
45662         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
45663         that it should be installed.
45664
45665 2009-04-05  Bruno Haible  <bruno@clisp.org>
45666
45667         * gnulib-tool: New option --copy-file.
45668         (func_usage): Document it.
45669         (func_dest_tmpfilename): Moved out of func_import.
45670         (func_add_file, func_update_file): New functions, extracted from
45671         func_import.
45672         (func_import): Update.
45673
45674 2009-04-05  Karl Berry  <karl@gnu.org>
45675
45676         * README: prominently mention gnulib-tool.
45677         Rearrange sections so getting the code is near the top.
45678
45679 2009-04-05  Bruno Haible  <bruno@clisp.org>
45680
45681         * lib/unicase.h: Mention u*_cmp2.
45682         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45683         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
45684         * lib/unicase/ulc-casecmp.c: Likewise.
45685         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
45686         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
45687         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
45688         unistr/u8-cmp.
45689         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
45690         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
45691         unistr/u16-cmp.
45692         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
45693         unistr/u32-cmp.
45694
45695         * lib/uninorm.h: Mention u*_cmp2.
45696         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45697         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
45698         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
45699         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
45700         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
45701         unistr/u8-cmp.
45702         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
45703         unistr/u16-cmp.
45704         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
45705         unistr/u32-cmp.
45706
45707         New module 'unistr/u32-cmp2'.
45708         * lib/unistr/u32-cmp2.c: New file.
45709         * modules/unistr/u32-cmp2: New file.
45710
45711         New module 'unistr/u16-cmp2'.
45712         * lib/unistr/u16-cmp2.c: New file.
45713         * modules/unistr/u16-cmp2: New file.
45714
45715         New module 'unistr/u8-cmp2'.
45716         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
45717         * lib/unistr/u8-cmp2.c: New file.
45718         * lib/unistr/u-cmp2.h: New file.
45719         * modules/unistr/u8-cmp2: New file.
45720
45721 2009-04-05  Bruno Haible  <bruno@clisp.org>
45722
45723         * lib/unictype.h (uc_property_is_valid): New macro.
45724         * tests/unictype/test-pr_byname.c (main): Use it.
45725
45726         * lib/unistr.h: Doc fixes.
45727         * lib/uniconv.h: Doc fixes.
45728         * lib/unictype.h: Doc fixes.
45729
45730 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
45731
45732         Port coreutils 7.2 to Solaris 8.
45733
45734         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
45735         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
45736         for Solaris 8.  This is a bit of a hack, as it means it's the
45737         caller's responsibility to add -lnsl if needed, but most likely it
45738         won't be needed since only getaddrinfo uses this and getaddrinfo
45739         isn't needed on Solaris 8.
45740
45741         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
45742         problem to Solaris 8 encountered with coreutils 7.2, which
45743         resulted in a message "fnmatch.c:292: warning: passing argument 4
45744         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
45745         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
45746
45747 2009-04-03  Simon Josefsson  <simon@josefsson.org>
45748
45749         * m4/ld-version-script.m4: Add FIXME comment.
45750
45751 2009-04-02  Simon Josefsson  <simon@josefsson.org>
45752
45753         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
45754         SOVERSION variable.
45755
45756 2009-04-02  Bruno Haible  <bruno@clisp.org>
45757
45758         * Makefile (info, html, dvi, pdf): Combine the rules.
45759         Suggested by Jim Meyering.
45760
45761 2009-04-01  Bruno Haible  <bruno@clisp.org>
45762
45763         * Makefile (info, html, dvi, pdf): New targets.
45764         Reported by Reuben Thomas <rrt@sc3d.org>.
45765
45766 2009-04-01  Bruno Haible  <bruno@clisp.org>
45767
45768         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
45769         can be put into PATH.
45770         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
45771
45772 2009-04-01  Bruno Haible  <bruno@clisp.org>
45773
45774         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
45775
45776 2009-04-01  Bruno Haible  <bruno@clisp.org>
45777
45778         Rename module 'visibility'.
45779         * modules/lib-symbol-visibility: Renamed from modules/visibility.
45780         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
45781         * doc/gnulib.texi: Update.
45782         * MODULES.html.sh (Misc): Update.
45783         * NEWS: Mention the change.
45784
45785 2009-04-01  Simon Josefsson  <simon@josefsson.org>
45786
45787         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
45788         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
45789         Eric Blake <ebb9@byu.net> for review.
45790         * MODULES.html.sh: Add lib-msvc-compat.
45791         * doc/gnulib.texi: Link to new section.
45792         * m4/ld-output-def.m4: New file.
45793         * doc/ld-output-def.texi: New file.
45794
45795 2009-04-01  Simon Josefsson  <simon@josefsson.org>
45796
45797         Rename ld-version-script to lib-symbol-versions.  Suggested by
45798         Bruno Haible <bruno@clisp.org>.
45799         * modules/ld-version-script: Renamed to lib-symbol-versions.
45800         * doc/ld-version-script.texi: Fix module name.
45801         * MODULES.html.sh: Add lib-symbol-versions.
45802
45803 2009-03-31  Simon Josefsson  <simon@josefsson.org>
45804
45805         * modules/u64-tests: New file.
45806         * tests/test-u64.c: New file.
45807
45808 2009-03-04  Simon Josefsson  <simon@josefsson.org>
45809
45810         * MODULES.html.sh: Mention u64.
45811         * modules/u64: New module.
45812         * modules/crypto/sha512: Depend on u64 module instead of providing
45813         u64.h.
45814
45815 2009-03-27  Eric Blake  <ebb9@byu.net>
45816
45817         test-strerror: make debugging EAI_SYSTEM easier
45818         * modules/getaddrinfo-tests (Depends-on): Add strerror.
45819         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
45820         failure was EAI_SYSTEM.
45821
45822 2009-03-25  Bruno Haible  <bruno@clisp.org>
45823
45824         Fix a problem with --enable-relocatable on Solaris 7.
45825         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
45826         since 2008-02-24.
45827
45828 2009-03-25  Eric Blake  <ebb9@byu.net>
45829
45830         test-sockets: avoid gcc warning
45831         * tests/test-sockets.c (main): Silence compiler warning.
45832
45833 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
45834
45835         New modules nproc, pthread, contributed by Glen Lenker.
45836
45837         * MODULES.html.sh: Add pthread, nproc.
45838         * lib/nproc.c: New file.
45839         * lib/nproc.h: New file.
45840         * lib/pthread.in.h: New file.
45841         * m4/pthread.m4: New file.
45842         * modules/nproc: New file.
45843         * modules/pthread: New file.
45844
45845 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45846
45847         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
45848         New variable.
45849
45850 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
45851
45852         filevercmp: handle simple~ and numbered.~3~ backup suffixes
45853         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
45854         * tests/test-filevercmp.c: Add tests for backup suffixes.
45855
45856 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45857
45858         * modules/stdlib (Depends-on): Add stdint, needed when defining
45859         struct random_data on, for example, HP-UX 10.20.  Reported by
45860         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45861
45862 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45863
45864         * lib/readline.c (readline): Call fflush on stdout after printing
45865         prompt.
45866
45867 2009-03-20  Bruno Haible  <bruno@clisp.org>
45868
45869         Remove dependency from 'close' module to -lws2_32 on native Windows.
45870         * lib/close-hook.h: New file.
45871         * lib/close-hook.c: New file.
45872         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
45873         w32sock.h.
45874         (_gl_close_fd_maybe_socket): Remove function.
45875         (rpl_close): Invoke execute_all_close_hooks instead of
45876         _gl_close_fd_maybe_socket.
45877         * lib/sockets.c: Include close-hook.h, w32sock.h.
45878         (close_fd_maybe_socket): New function, essentially from lib/close.c.
45879         (close_sockets_hook): New variable.
45880         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
45881         (gl_sockets_cleanup): Unregister it.
45882         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
45883         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
45884         * modules/close-hook: New file.
45885         * modules/close (Files): Remove lib/w32sock.h.
45886         (Depends-on): Add close-hook.
45887         (Link): Remove section.
45888         * modules/sockets (Files): Add lib/w32sock.h.
45889         (Depends-on): Add close-hook.
45890         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
45891         invocation.
45892         * NEWS: Mention that LIB_CLOSE is gone.
45893
45894 2009-03-23  Eric Blake  <ebb9@byu.net>
45895
45896         signal-tests: test previous patch
45897         * tests/test-signal.c: New file.
45898         * modules/signal-tests: Likewise.
45899
45900         signal.h: always support 'volatile sig_atomic_t'
45901         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
45902         (gl_SIGNAL_H_DEFAULTS): Add a default.
45903         * modules/signal (Makefile.am): Substitute if needed.
45904         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
45905         users can blindly add volatile.
45906         * doc/posix-headers/signal.texi (signal.h): Document it.
45907         Reported by Matthew Woehlke.
45908
45909 2009-03-23  Jim Meyering  <meyering@redhat.com>
45910
45911         pathmax: PATH_MAX: use pathconf only when available
45912         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
45913         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
45914         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
45915         This avoids a link failure in a PSP cross-compilation environment
45916         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
45917
45918         * lib/vasnprintf.c (divide): Fix typo in comment.
45919
45920 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45921
45922         * gnulib-tool (func_filter_filelist): Fix comment.
45923
45924 2009-03-20  Bruno Haible  <bruno@clisp.org>
45925
45926         Make sockets.h self-contained.
45927         * lib/sockets.c: Include sockets.h first.
45928         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
45929
45930 2009-03-19  Eric Blake  <ebb9@byu.net>
45931
45932         doc: mention more functions added in cygwin 1.7.0
45933         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
45934         addition.
45935         * doc/posix-functions/log2f.texi: Likewise.
45936
45937 2009-03-19  Jim Meyering  <meyering@redhat.com>
45938
45939         fsusage: avoid syntax error due to statement-before-declaration
45940         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
45941         after all declarations.  Reported by Matthew Woehlke in
45942         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
45943
45944 2009-03-18  Eric Blake  <ebb9@byu.net>
45945
45946         build-aux/compile: sync from automake
45947         * build-aux/compile: New file, from automake.
45948         * config/srclist.txt: Mention build-aux/compile.
45949
45950 2009-03-17  Bruno Haible  <bruno@clisp.org>
45951
45952         * lib/git-merge-changelog.c: Fix typo in comment.
45953         Reported by Reuben Thomas <rrt@sc3d.org>.
45954
45955 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
45956
45957         * m4/regex.m4: update and improve help for
45958         --without-included-regex.
45959
45960 2009-03-17  Simon Josefsson  <simon@josefsson.org>
45961
45962         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
45963         failure on missing include files.
45964
45965 2009-03-17  Eric Blake  <ebb9@byu.net>
45966
45967         doc: mention more functions added in cygwin 1.7.0
45968         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
45969         addition.
45970         * doc/posix-functions/fwscanf.texi: Likewise.
45971         * doc/posix-functions/swprintf.texi: Likewise.
45972         * doc/posix-functions/swscanf.texi: Likewise.
45973         * doc/posix-functions/vfwprintf.texi: Likewise.
45974         * doc/posix-functions/vfwscanf.texi: Likewise.
45975         * doc/posix-functions/vswprintf.texi: Likewise.
45976         * doc/posix-functions/vswscanf.texi: Likewise.
45977         * doc/posix-functions/vwprintf.texi: Likewise.
45978         * doc/posix-functions/vwscanf.texi: Likewise.
45979         * doc/posix-functions/wcscasecmp.texi: Likewise.
45980         * doc/posix-functions/wcsdup.texi: Likewise.
45981         * doc/posix-functions/wcsftime.texi: Likewise.
45982         * doc/posix-functions/wcsncasecmp.texi: Likewise.
45983         * doc/posix-functions/wprintf.texi: Likewise.
45984         * doc/posix-functions/wscanf.texi: Likewise.
45985         * doc/glibc-functions/gethostbyname2.texi: Likewise.
45986
45987 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45988
45989         maint.mk: really add $(AM_MAKEFLAGS)
45990         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
45991         was inadvertently omitted in the last commit.
45992         Spotted by Bruno Haible.
45993
45994         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
45995         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
45996         $(AM_MAKEFLAGS)' rather than plain `make'.
45997
45998         gnulib-tool: execute $MAKE not make
45999         * gnulib-tool: Default $MAKE to 'make'.
46000         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
46001         than make.  Initialize $MAKE in the do-autobuild script.
46002
46003         gnulib-tool: use $MAKE not make in generated files
46004         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
46005         make, in generated files.  Initialize $MAKE in the do-autobuild
46006         script.
46007
46008         * top/GNUmakefile (_have-git-version-gen): Fix typo.
46009
46010         GNUmakefile: disable parallelism only for multiple, recursive targets
46011         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
46012         additions in the Makefile.
46013         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
46014         by Automake.
46015         (.NOTPARALLEL): Only disable parallel builds if multiple targets
46016         are listed on the command line and at least one of them is
46017         listed in $(ALL_RECURSIVE_TARGETS).
46018
46019 2009-03-14  Bruno Haible  <bruno@clisp.org>
46020
46021         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
46022         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
46023         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
46024         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
46025         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
46026         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
46027         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
46028         unistr/u8-uctomb.
46029         * modules/unistr/u8-strchr (Depends-on): Likewise.
46030         * modules/unistr/u8-strrchr (Depends-on): Likewise.
46031         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
46032         unistr/u16-uctomb.
46033         * modules/unistr/u16-strchr (Depends-on): Likewise.
46034         * modules/unistr/u16-strrchr (Depends-on): Likewise.
46035
46036 2009-03-12  Bruno Haible  <bruno@clisp.org>
46037
46038         Work around select() bug on Interix 3.5.
46039         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
46040         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
46041         * m4/select.m4: New file.
46042         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
46043         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
46044         * modules/select (Files): Add m4/select.m4.
46045         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
46046         * modules/nanosleep (Depends-on): Add select.
46047         * modules/poll (Depends-on): Likewise.
46048         * doc/posix-functions/select.texi: Mention the Interix bug.
46049         Reported by Markus Duft <mduft@gentoo.org>.
46050
46051         * lib/select.c: Renamed from lib/winsock-select.c.
46052         * modules/select (Files): Add lib/select.c, remove
46053         lib/winsock-select.c.
46054         (configure.ac): Update.
46055
46056 2009-03-12  Jim Meyering  <meyering@redhat.com>
46057
46058         avoid gcc warnings about unused macro definitions
46059         * lib/readtokens.c (STREQ): Remove unused definition.
46060         * lib/xmalloc.c (SIZE_MAX): Likewise.
46061         * lib/openat-die.c (N_): Likewise.
46062         * lib/mountlist.c (SIZE_MAX): Remove definition.
46063         Instead, include <stdint.h>.
46064         * lib/readutmp.c: Likewise.
46065         * modules/readutmp (Depends-on): Add stdint.
46066         * modules/mountlist (Depends-on): Add stdint.
46067         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
46068
46069 2009-03-10  Bruno Haible  <bruno@clisp.org>
46070
46071         Tests for module 'mbmemcasecoll'.
46072         * modules/mbmemcasecoll-tests: New file.
46073         * tests/test-mbmemcasecoll1.sh: New file.
46074         * tests/test-mbmemcasecoll2.sh: New file.
46075         * tests/test-mbmemcasecoll3.sh: New file.
46076         * tests/test-mbmemcasecoll.c: New file.
46077
46078         New module 'mbmemcasecoll'.
46079         * lib/mbmemcasecoll.h: New file.
46080         * lib/mbmemcasecoll.c: New file.
46081         * modules/mbmemcasecoll: New file.
46082
46083         * tests/test-mbmemcasecmp.h: New file, extracted from
46084         tests/test-mbmemcasecmp.c.
46085         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
46086         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
46087         (main): Update.
46088         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
46089
46090 2009-03-09  Bruno Haible  <bruno@clisp.org>
46091
46092         Tests for module 'mbmemcasecmp'.
46093         * modules/mbmemcasecmp-tests: New file.
46094         * tests/test-mbmemcasecmp1.sh: New file.
46095         * tests/test-mbmemcasecmp2.sh: New file.
46096         * tests/test-mbmemcasecmp3.sh: New file.
46097         * tests/test-mbmemcasecmp.c: New file.
46098
46099         New module 'mbmemcasecmp'.
46100         * lib/mbmemcasecmp.h: New file.
46101         * lib/mbmemcasecmp.c: New file.
46102         * modules/mbmemcasecmp: New file.
46103
46104 2009-03-09  Bruno Haible  <bruno@clisp.org>
46105
46106         Tests for module 'unicase/ulc-casecoll'.
46107         * modules/unicase/ulc-casecoll-tests: New file.
46108         * tests/unicase/test-ulc-casecoll1.sh: New file.
46109         * tests/unicase/test-ulc-casecoll2.sh: New file.
46110         * tests/unicase/test-ulc-casecoll.c: New file.
46111
46112         New module 'unicase/ulc-casecoll'.
46113         * lib/unicase.h (ulc_casecoll): New declaration.
46114         * lib/unicase/ulc-casecoll.c: New file.
46115         * modules/unicase/ulc-casecoll: New file.
46116
46117         New module 'unicase/ulc-casexfrm'.
46118         * lib/unicase.h (ulc_casexfrm): New declaration.
46119         * lib/unicase/ulc-casexfrm.c: New file.
46120         * modules/unicase/ulc-casexfrm: New file.
46121
46122 2009-03-09  Bruno Haible  <bruno@clisp.org>
46123
46124         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
46125         invocations.
46126
46127         * m4/mbscasecmp.m4: Remove file.
46128         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
46129         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
46130
46131         * m4/mbscasestr.m4: Remove file.
46132         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
46133         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
46134
46135         * m4/mbschr.m4: Remove file.
46136         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
46137         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
46138
46139         * m4/mbscspn.m4: Remove file.
46140         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
46141         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
46142
46143         * m4/mbslen.m4: Remove file.
46144         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
46145         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
46146
46147         * m4/mbsncasecmp.m4: Remove file.
46148         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
46149         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
46150
46151         * m4/mbsnlen.m4: Remove file.
46152         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
46153         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
46154
46155         * m4/mbspbrk.m4: Remove file.
46156         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
46157         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
46158
46159         * m4/mbspcasecmp.m4: Remove file.
46160         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
46161         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
46162
46163         * m4/mbsrchr.m4: Remove file.
46164         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
46165         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
46166
46167         * m4/mbssep.m4: Remove file.
46168         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
46169         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
46170
46171         * m4/mbsspn.m4: Remove file.
46172         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
46173         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
46174
46175         * m4/mbsstr.m4: Remove file.
46176         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
46177         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
46178
46179         * m4/mbstok_r.m4: Remove file.
46180         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
46181         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
46182
46183         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
46184
46185         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
46186         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
46187
46188         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
46189
46190 2009-03-08  Bruno Haible  <bruno@clisp.org>
46191
46192         Tests for module 'unicase/ulc-casecmp'.
46193         * modules/unicase/ulc-casecmp-tests: New file.
46194         * tests/unicase/test-ulc-casecmp1.sh: New file.
46195         * tests/unicase/test-ulc-casecmp2.sh: New file.
46196         * tests/unicase/test-ulc-casecmp.c: New file.
46197
46198         New module 'unicase/ulc-casecmp'.
46199         * lib/unicase.h (ulc_casecmp): New declaration.
46200         * lib/unicase/ulc-casecmp.c: New file.
46201         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
46202         'const SRC_UNIT *'.
46203         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
46204         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
46205         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
46206         * modules/unicase/ulc-casecmp: New file.
46207
46208         Tests for module 'unicase/u32-is-cased'.
46209         * modules/unicase/u32-is-cased-tests: New file.
46210         * tests/unicase/test-u32-is-cased.c: New file.
46211
46212         Tests for module 'unicase/u16-is-cased'.
46213         * modules/unicase/u16-is-cased-tests: New file.
46214         * tests/unicase/test-u16-is-cased.c: New file.
46215
46216         Tests for module 'unicase/u8-is-cased'.
46217         * modules/unicase/u8-is-cased-tests: New file.
46218         * tests/unicase/test-u8-is-cased.c: New file.
46219         * tests/unicase/test-is-cased.h: New file.
46220
46221         New module 'unicase/u32-is-cased'.
46222         * lib/unicase/u32-is-cased.c: New file.
46223         * modules/unicase/u32-is-cased: New file.
46224
46225         New module 'unicase/u16-is-cased'.
46226         * lib/unicase/u16-is-cased.c: New file.
46227         * modules/unicase/u16-is-cased: New file.
46228
46229         New module 'unicase/u8-is-cased'.
46230         * lib/unicase/u8-is-cased.c: New file.
46231         * lib/unicase/u-is-cased.h: New file.
46232         * modules/unicase/u8-is-cased: New file.
46233
46234         Tests for module 'unicase/u32-is-casefolded'.
46235         * modules/unicase/u32-is-casefolded-tests: New file.
46236         * tests/unicase/test-u32-is-casefolded.c: New file.
46237
46238         Tests for module 'unicase/u16-is-casefolded'.
46239         * modules/unicase/u16-is-casefolded-tests: New file.
46240         * tests/unicase/test-u16-is-casefolded.c: New file.
46241
46242         Tests for module 'unicase/u8-is-casefolded'.
46243         * modules/unicase/u8-is-casefolded-tests: New file.
46244         * tests/unicase/test-u8-is-casefolded.c: New file.
46245         * tests/unicase/test-is-casefolded.h: New file.
46246
46247         New module 'unicase/u32-is-casefolded'.
46248         * lib/unicase/u32-is-casefolded.c: New file.
46249         * modules/unicase/u32-is-casefolded: New file.
46250
46251         New module 'unicase/u16-is-casefolded'.
46252         * lib/unicase/u16-is-casefolded.c: New file.
46253         * modules/unicase/u16-is-casefolded: New file.
46254
46255         New module 'unicase/u8-is-casefolded'.
46256         * lib/unicase/u8-is-casefolded.c: New file.
46257         * modules/unicase/u8-is-casefolded: New file.
46258
46259         Tests for module 'unicase/u32-is-titlecase'.
46260         * modules/unicase/u32-is-titlecase-tests: New file.
46261         * tests/unicase/test-u32-is-titlecase.c: New file.
46262
46263         Tests for module 'unicase/u16-is-titlecase'.
46264         * modules/unicase/u16-is-titlecase-tests: New file.
46265         * tests/unicase/test-u16-is-titlecase.c: New file.
46266
46267         Tests for module 'unicase/u8-is-titlecase'.
46268         * modules/unicase/u8-is-titlecase-tests: New file.
46269         * tests/unicase/test-u8-is-titlecase.c: New file.
46270         * tests/unicase/test-is-titlecase.h: New file.
46271
46272         New module 'unicase/u32-is-titlecase'.
46273         * lib/unicase/u32-is-titlecase.c: New file.
46274         * modules/unicase/u32-is-titlecase: New file.
46275
46276         New module 'unicase/u16-is-titlecase'.
46277         * lib/unicase/u16-is-titlecase.c: New file.
46278         * modules/unicase/u16-is-titlecase: New file.
46279
46280         New module 'unicase/u8-is-titlecase'.
46281         * lib/unicase/u8-is-titlecase.c: New file.
46282         * modules/unicase/u8-is-titlecase: New file.
46283
46284         Tests for module 'unicase/u32-is-lowercase'.
46285         * modules/unicase/u32-is-lowercase-tests: New file.
46286         * tests/unicase/test-u32-is-lowercase.c: New file.
46287
46288         Tests for module 'unicase/u16-is-lowercase'.
46289         * modules/unicase/u16-is-lowercase-tests: New file.
46290         * tests/unicase/test-u16-is-lowercase.c: New file.
46291
46292         Tests for module 'unicase/u8-is-lowercase'.
46293         * modules/unicase/u8-is-lowercase-tests: New file.
46294         * tests/unicase/test-u8-is-lowercase.c: New file.
46295         * tests/unicase/test-is-lowercase.h: New file.
46296
46297         New module 'unicase/u32-is-lowercase'.
46298         * lib/unicase/u32-is-lowercase.c: New file.
46299         * modules/unicase/u32-is-lowercase: New file.
46300
46301         New module 'unicase/u16-is-lowercase'.
46302         * lib/unicase/u16-is-lowercase.c: New file.
46303         * modules/unicase/u16-is-lowercase: New file.
46304
46305         New module 'unicase/u8-is-lowercase'.
46306         * lib/unicase/u8-is-lowercase.c: New file.
46307         * modules/unicase/u8-is-lowercase: New file.
46308
46309         Tests for module 'unicase/u32-is-uppercase'.
46310         * modules/unicase/u32-is-uppercase-tests: New file.
46311         * tests/unicase/test-u32-is-uppercase.c: New file.
46312
46313         Tests for module 'unicase/u16-is-uppercase'.
46314         * modules/unicase/u16-is-uppercase-tests: New file.
46315         * tests/unicase/test-u16-is-uppercase.c: New file.
46316
46317         Tests for module 'unicase/u8-is-uppercase'.
46318         * modules/unicase/u8-is-uppercase-tests: New file.
46319         * tests/unicase/test-u8-is-uppercase.c: New file.
46320         * tests/unicase/test-is-uppercase.h: New file.
46321
46322         New module 'unicase/u32-is-uppercase'.
46323         * lib/unicase/u32-is-uppercase.c: New file.
46324         * modules/unicase/u32-is-uppercase: New file.
46325
46326         New module 'unicase/u16-is-uppercase'.
46327         * lib/unicase/u16-is-uppercase.c: New file.
46328         * modules/unicase/u16-is-uppercase: New file.
46329
46330         New module 'unicase/u8-is-uppercase'.
46331         * lib/unicase/u8-is-uppercase.c: New file.
46332         * modules/unicase/u8-is-uppercase: New file.
46333
46334         New module 'unicase/u32-is-invariant'.
46335         * lib/unicase/u32-is-invariant.c: New file.
46336         * modules/unicase/u32-is-invariant: New file.
46337
46338         New module 'unicase/u16-is-invariant'.
46339         * lib/unicase/u16-is-invariant.c: New file.
46340         * modules/unicase/u16-is-invariant: New file.
46341
46342         New module 'unicase/u8-is-invariant'.
46343         * lib/unicase/u8-is-invariant.c: New file.
46344         * lib/unicase/invariant.h: New file.
46345         * lib/unicase/u-is-invariant.h: New file.
46346         * modules/unicase/u8-is-invariant: New file.
46347
46348         Tests for module 'unicase/u32-casecoll'.
46349         * modules/unicase/u32-casecoll-tests: New file.
46350         * tests/unicase/test-u32-casecoll.c: New file.
46351
46352         Tests for module 'unicase/u16-casecoll'.
46353         * modules/unicase/u16-casecoll-tests: New file.
46354         * tests/unicase/test-u16-casecoll.c: New file.
46355
46356         Tests for module 'unicase/u8-casecoll'.
46357         * modules/unicase/u8-casecoll-tests: New file.
46358         * tests/unicase/test-u8-casecoll.c: New file.
46359
46360         New module 'unicase/u32-casecoll'.
46361         * lib/unicase/u32-casecoll.c: New file.
46362         * modules/unicase/u32-casecoll: New file.
46363
46364         New module 'unicase/u16-casecoll'.
46365         * lib/unicase/u16-casecoll.c: New file.
46366         * modules/unicase/u16-casecoll: New file.
46367
46368         New module 'unicase/u8-casecoll'.
46369         * lib/unicase/u8-casecoll.c: New file.
46370         * lib/unicase/u-casecoll.h: New file.
46371         * modules/unicase/u8-casecoll: New file.
46372
46373         New module 'unicase/u32-casexfrm'.
46374         * lib/unicase/u32-casexfrm.c: New file.
46375         * modules/unicase/u32-casexfrm: New file.
46376
46377         New module 'unicase/u16-casexfrm'.
46378         * lib/unicase/u16-casexfrm.c: New file.
46379         * modules/unicase/u16-casexfrm: New file.
46380
46381         New module 'unicase/u8-casexfrm'.
46382         * lib/unicase/u8-casexfrm.c: New file.
46383         * lib/unicase/u-casexfrm.h: New file.
46384         * modules/unicase/u8-casexfrm: New file.
46385
46386         Tests for module 'unicase/u32-casecmp'.
46387         * modules/unicase/u32-casecmp-tests: New file.
46388         * tests/unicase/test-u32-casecmp.c: New file.
46389
46390         Tests for module 'unicase/u16-casecmp'.
46391         * modules/unicase/u16-casecmp-tests: New file.
46392         * tests/unicase/test-u16-casecmp.c: New file.
46393
46394         Tests for module 'unicase/u8-casecmp'.
46395         * modules/unicase/u8-casecmp-tests: New file.
46396         * tests/unicase/test-u8-casecmp.c: New file.
46397         * tests/unicase/test-casecmp.h: New file.
46398
46399         New module 'unicase/u32-casecmp'.
46400         * lib/unicase/u32-casecmp.c: New file.
46401         * modules/unicase/u32-casecmp: New file.
46402
46403         New module 'unicase/u16-casecmp'.
46404         * lib/unicase/u16-casecmp.c: New file.
46405         * modules/unicase/u16-casecmp: New file.
46406
46407         New module 'unicase/u8-casecmp'.
46408         * lib/unicase/u8-casecmp.c: New file.
46409         * lib/unicase/u-casecmp.h: New file.
46410         * modules/unicase/u8-casecmp: New file.
46411
46412         Tests for module 'unicase/u32-casefold'.
46413         * modules/unicase/u32-casefold-tests: New file.
46414         * tests/unicase/test-u32-casefold.c: New file.
46415
46416         Tests for module 'unicase/u16-casefold'.
46417         * modules/unicase/u16-casefold-tests: New file.
46418         * tests/unicase/test-u16-casefold.c: New file.
46419
46420         Tests for module 'unicase/u8-casefold'.
46421         * modules/unicase/u8-casefold-tests: New file.
46422         * tests/unicase/test-u8-casefold.c: New file.
46423
46424         New module 'unicase/u32-casefold'.
46425         * lib/unicase/u32-casefold.c: New file.
46426         * modules/unicase/u32-casefold: New file.
46427
46428         New module 'unicase/u16-casefold'.
46429         * lib/unicase/u16-casefold.c: New file.
46430         * modules/unicase/u16-casefold: New file.
46431
46432         New module 'unicase/u8-casefold'.
46433         * lib/unicase/u8-casefold.c: New file.
46434         * lib/unicase/u-casefold.h: New file.
46435         * modules/unicase/u8-casefold: New file.
46436
46437         New module 'unicase/tocasefold'.
46438         * lib/unicase/casefold.h: New file.
46439         * lib/unicase/tocasefold.c: New file.
46440         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
46441         * modules/unicase/tocasefold: New file.
46442
46443         Tests for module 'unicase/u32-totitle'.
46444         * modules/unicase/u32-totitle-tests: New file.
46445         * tests/unicase/test-u32-totitle.c: New file.
46446
46447         Tests for module 'unicase/u16-totitle'.
46448         * modules/unicase/u16-totitle-tests: New file.
46449         * tests/unicase/test-u16-totitle.c: New file.
46450
46451         Tests for module 'unicase/u8-totitle'.
46452         * modules/unicase/u8-totitle-tests: New file.
46453         * tests/unicase/test-u8-totitle.c: New file.
46454
46455         New module 'unicase/u32-totitle'.
46456         * lib/unicase/u32-totitle.c: New file.
46457         * modules/unicase/u32-totitle: New file.
46458
46459         New module 'unicase/u16-totitle'.
46460         * lib/unicase/u16-totitle.c: New file.
46461         * modules/unicase/u16-totitle: New file.
46462
46463         New module 'unicase/u8-totitle'.
46464         * lib/unicase/u8-totitle.c: New file.
46465         * lib/unicase/u-totitle.h: New file.
46466         * modules/unicase/u8-totitle: New file.
46467
46468         Tests for module 'unicase/u32-tolower'.
46469         * modules/unicase/u32-tolower-tests: New file.
46470         * tests/unicase/test-u32-tolower.c: New file.
46471
46472         Tests for module 'unicase/u16-tolower'.
46473         * modules/unicase/u16-tolower-tests: New file.
46474         * tests/unicase/test-u16-tolower.c: New file.
46475
46476         Tests for module 'unicase/u8-tolower'.
46477         * modules/unicase/u8-tolower-tests: New file.
46478         * tests/unicase/test-u8-tolower.c: New file.
46479
46480         New module 'unicase/u32-tolower'.
46481         * lib/unicase/u32-tolower.c: New file.
46482         * modules/unicase/u32-tolower: New file.
46483
46484         New module 'unicase/u16-tolower'.
46485         * lib/unicase/u16-tolower.c: New file.
46486         * modules/unicase/u16-tolower: New file.
46487
46488         New module 'unicase/u8-tolower'.
46489         * lib/unicase/u8-tolower.c: New file.
46490         * modules/unicase/u8-tolower: New file.
46491
46492         Tests for module 'unicase/u32-toupper'.
46493         * modules/unicase/u32-toupper-tests: New file.
46494         * tests/unicase/test-u32-toupper.c: New file.
46495
46496         Tests for module 'unicase/u16-toupper'.
46497         * modules/unicase/u16-toupper-tests: New file.
46498         * tests/unicase/test-u16-toupper.c: New file.
46499
46500         Tests for module 'unicase/u8-toupper'.
46501         * modules/unicase/u8-toupper-tests: New file.
46502         * tests/unicase/test-u8-toupper.c: New file.
46503
46504         New module 'unicase/u32-toupper'.
46505         * lib/unicase/u32-toupper.c: New file.
46506         * modules/unicase/u32-toupper: New file.
46507
46508         New module 'unicase/u16-toupper'.
46509         * lib/unicase/u16-toupper.c: New file.
46510         * modules/unicase/u16-toupper: New file.
46511
46512         New module 'unicase/u8-toupper'.
46513         * lib/unicase/u8-toupper.c: New file.
46514         * modules/unicase/u8-toupper: New file.
46515
46516         New module 'unicase/u32-casemap'.
46517         * lib/unicase/u32-casemap.c: New file.
46518         * modules/unicase/u32-casemap: New file.
46519
46520         New module 'unicase/u16-casemap'.
46521         * lib/unicase/u16-casemap.c: New file.
46522         * modules/unicase/u16-casemap: New file.
46523
46524         New module 'unicase/u8-casemap'.
46525         * lib/unicase/unicasemap.h: New file.
46526         * lib/unicase/u8-casemap.c: New file.
46527         * lib/unicase/u-casemap.h: New file.
46528         * modules/unicase/u8-casemap: New file.
46529
46530         New module 'unicase/special-casing'.
46531         * lib/unicase/special-casing.h: New file.
46532         * lib/unicase/special-casing.c: New file.
46533         * lib/unicase/special-casing-table.gperf: New file, generated by
46534         gen-uni-tables.c.
46535         * modules/unicase/special-casing: New file.
46536
46537         Tests for module 'unicase/locale-language'.
46538         * modules/unicase/locale-language-tests: New file.
46539         * tests/unicase/test-locale-language.sh: New file.
46540         * tests/unicase/test-locale-language.c: New file.
46541
46542         New module 'unicase/locale-language'.
46543         * lib/unicase/locale-language.c: New file.
46544         * lib/unicase/locale-languages.gperf: New file.
46545         * modules/unicase/locale-language: New file.
46546
46547         Generate more tables for case conversion and case folding.
46548         * lib/gen-uni-tables.c (SCC_*): New enum items.
46549         (struct special_casing_rule): New type.
46550         (casing_rules, num_casing_rules, allocated_casing_rules): New
46551         variables.
46552         (add_casing_rule, fill_casing_rules): New functions.
46553         (struct casefold_rule): New type.
46554         (casefolding_rules, num_casefolding_rules,
46555         allocated_casefolding_rules): New variables.
46556         (fill_casefolding_rules): New function.
46557         (unicode_casefold): New variable.
46558         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
46559         sort_casing_rules, output_casing_rules): New functions.
46560         (main): Accept to more arguments: SpecialCasing.txt and
46561         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
46562         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
46563         Output mapping for casefolding.
46564
46565         * lib/unicase.h: Include stdbool.h, uninorm.h.
46566         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
46567         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
46568         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
46569         arguments.
46570         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
46571         resultp arguments.
46572         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
46573         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
46574         resultp arguments.
46575         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
46576         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
46577         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
46578         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
46579         declarations.
46580         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
46581
46582 2009-03-08  Bruno Haible  <bruno@clisp.org>
46583
46584         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
46585         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
46586         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
46587         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
46588
46589 2009-03-07  Bruno Haible  <bruno@clisp.org>
46590
46591         Adjust u*_normcmp, u*_normcoll API.
46592         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
46593         u16_normcoll, u32_normcoll): Change failure conventions.
46594         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
46595         errno and return -1.
46596         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
46597
46598 2009-03-07  Bruno Haible  <bruno@clisp.org>
46599
46600         Tests for module 'uninorm/u32-normcoll'.
46601         * modules/uninorm/u32-normcoll-tests: New file.
46602         * tests/uninorm/test-u32-normcoll.c: New file.
46603
46604         Tests for module 'uninorm/u16-normcoll'.
46605         * modules/uninorm/u16-normcoll-tests: New file.
46606         * tests/uninorm/test-u16-normcoll.c: New file.
46607
46608         Tests for module 'uninorm/u8-normcoll'.
46609         * modules/uninorm/u8-normcoll-tests: New file.
46610         * tests/uninorm/test-u8-normcoll.c: New file.
46611
46612 2009-03-07  Bruno Haible  <bruno@clisp.org>
46613
46614         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
46615         tests/uninorm/test-u32-normcmp.c.
46616         * tests/uninorm/test-u32-normcmp.c: Include it.
46617         (test_nonascii): New function, extracted from main. Add some more
46618         tests.
46619         (main): Invoke test_ascii and test_nonascii.
46620         * modules/uninorm/u32-normcmp-tests (Files): Add
46621         tests/uninorm/test-u32-normcmp.h.
46622         (Depends-on): Remove uninorm/u32-normcmp.
46623
46624         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
46625         tests/uninorm/test-u16-normcmp.c.
46626         * tests/uninorm/test-u16-normcmp.c: Include it.
46627         (test_nonascii): New function, extracted from main. Add some more
46628         tests.
46629         (main): Invoke test_ascii and test_nonascii.
46630         * modules/uninorm/u16-normcmp-tests (Files): Add
46631         tests/uninorm/test-u16-normcmp.h.
46632         (Depends-on): Remove uninorm/u16-normcmp.
46633
46634         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
46635         tests/uninorm/test-u8-normcmp.c.
46636         * tests/uninorm/test-u8-normcmp.c: Include it.
46637         (test_nonascii): New function, extracted from main. Add some more
46638         tests.
46639         (main): Invoke test_ascii and test_nonascii.
46640         * modules/uninorm/u8-normcmp-tests (Files): Add
46641         tests/uninorm/test-u8-normcmp.h.
46642         (Depends-on): Remove uninorm/u8-normcmp.
46643
46644 2009-03-07  Bruno Haible  <bruno@clisp.org>
46645
46646         New module 'uninorm/u32-normcoll'.
46647         * lib/uninorm/u32-normcoll.c: New file.
46648         * modules/uninorm/u32-normcoll: New file.
46649
46650         New module 'uninorm/u16-normcoll'.
46651         * lib/uninorm/u16-normcoll.c: New file.
46652         * modules/uninorm/u16-normcoll: New file.
46653
46654         New module 'uninorm/u8-normcoll'.
46655         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
46656         declarations.
46657         * lib/uninorm/u8-normcoll.c: New file.
46658         * lib/uninorm/u-normcoll.h: New file.
46659         * modules/uninorm/u8-normcoll: New file.
46660
46661         New module 'uninorm/u32-normxfrm'.
46662         * lib/uninorm/u32-normxfrm.c: New file.
46663         * modules/uninorm/u32-normxfrm: New file.
46664
46665         New module 'uninorm/u16-normxfrm'.
46666         * lib/uninorm/u16-normxfrm.c: New file.
46667         * modules/uninorm/u16-normxfrm: New file.
46668
46669         New module 'uninorm/u8-normxfrm'.
46670         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
46671         declarations.
46672         * lib/uninorm/u8-normxfrm.c: New file.
46673         * lib/uninorm/u-normxfrm.h: New file.
46674         * modules/uninorm/u8-normxfrm: New file.
46675
46676 2009-03-07  Bruno Haible  <bruno@clisp.org>
46677
46678         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
46679         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
46680         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
46681
46682 2009-03-07  Bruno Haible  <bruno@clisp.org>
46683
46684         New module 'memxfrm'.
46685         * lib/memxfrm.h: New file.
46686         * lib/memxfrm.c: New file.
46687         * modules/memxfrm: New file.
46688
46689 2009-03-07  Bruno Haible  <bruno@clisp.org>
46690
46691         New module 'memcmp2'.
46692         * lib/memcmp2.h: New file.
46693         * lib/memcmp2.c: New file.
46694         * modules/memcmp2: New file.
46695
46696 2009-03-07  Bruno Haible  <bruno@clisp.org>
46697
46698         Tests for module 'uninorm/decomposing-form'.
46699         * modules/uninorm/decomposing-form-tests: New file.
46700         * tests/uninorm/test-decomposing-form.c: New file.
46701
46702         New module 'uninorm/decomposing-form'.
46703         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
46704         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
46705         Add 'decomposing_variant' field.
46706         * lib/uninorm/decomposing-form.c: New file.
46707         * lib/uninorm/nfc.c (uninorm_nfc): Update.
46708         * lib/uninorm/nfd.c (uninorm_nfd): Update.
46709         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
46710         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
46711         * modules/uninorm/decomposing-form: New file.
46712         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
46713         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
46714
46715 2009-03-07  Bruno Haible  <bruno@clisp.org>
46716
46717         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
46718         strings.
46719
46720 2009-03-06  Bruno Haible  <bruno@clisp.org>
46721
46722         Tests for module 'uninorm/u32-normcmp'.
46723         * tests/uninorm/test-u32-normcmp.c: New file.
46724         * modules/uninorm/u32-normcmp-tests: New file.
46725
46726         Tests for module 'uninorm/u16-normcmp'.
46727         * tests/uninorm/test-u16-normcmp.c: New file.
46728         * modules/uninorm/u16-normcmp-tests: New file.
46729
46730         Tests for module 'uninorm/u8-normcmp'.
46731         * tests/uninorm/test-u8-normcmp.c: New file.
46732         * modules/uninorm/u8-normcmp-tests: New file.
46733
46734         New module 'uninorm/u32-normcmp'.
46735         * lib/uninorm/u32-normcmp.c: New file.
46736         * modules/uninorm/u32-normcmp: New file.
46737
46738         New module 'uninorm/u16-normcmp'.
46739         * lib/uninorm/u16-normcmp.c: New file.
46740         * modules/uninorm/u16-normcmp: New file.
46741
46742         New module 'uninorm/u8-normcmp'.
46743         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
46744         declarations.
46745         * lib/uninorm/u8-normcmp.c: New file.
46746         * lib/uninorm/u-normcmp.h: New file.
46747         * modules/uninorm/u8-normcmp: New file.
46748
46749 2009-03-06  Bruno Haible  <bruno@clisp.org>
46750
46751         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
46752         Reported by Eric Blake.
46753
46754 2009-03-06  Eric Blake  <ebb9@byu.net>
46755             Bruno Haible  <bruno@clisp.org>
46756
46757         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
46758         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
46759         condition.
46760         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
46761         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
46762         condition.
46763         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
46764
46765 2009-03-06  Eric Blake  <ebb9@byu.net>
46766
46767         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
46768         to avoid compiler warnings.
46769         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
46770
46771 2009-03-05  Bruno Haible  <bruno@clisp.org>
46772
46773         * tests/test-ftell.c (main): Disable test beyond end of file on
46774         FreeMiNT.
46775         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
46776
46777 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
46778
46779         * lib/filevercmp.c: Move hidden files up in ordering.
46780         * tests/test-filevercmp.c: Add tests for hidden files.
46781
46782 2009-03-04  Bruno Haible  <bruno@clisp.org>
46783
46784         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
46785         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
46786         AM_CFLAGS.
46787         Reported by Simon Josefsson.
46788
46789 2009-03-03  Bruno Haible  <bruno@clisp.org>
46790
46791         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
46792         Reported by Simon Josefsson.
46793
46794         * doc/ld-version-script.texi: Update node reference.
46795
46796 2009-03-03  Bruno Haible  <bruno@clisp.org>
46797
46798         * modules/visibility (License): Change to 'unlimited'.
46799         Suggested by Simon Josefsson.
46800
46801 2009-03-03  Jim Meyering  <meyering@redhat.com>
46802
46803         unlinkdir: cannot_unlink_dir may modify process state
46804         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
46805         it's neither thread-safe nor appropriate for use in a library.
46806
46807 2009-03-03  Eric Blake  <ebb9@byu.net>
46808
46809         test-closein: silence test under Darwin
46810         * tests/test-closein.sh: Ignore stderr from cat, since we don't
46811         care if it dies from EPIPE or EBADF.
46812
46813 2009-03-03  Bruno Haible  <bruno@clisp.org>
46814
46815         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
46816         earlier.
46817         * doc/visibility.texi: Fix @node and @section.
46818
46819 2009-03-03  Simon Josefsson  <simon@josefsson.org>
46820
46821         * doc/gnulib.texi: Link to sections for ld version script and
46822         visibility.
46823         * doc/visibility.texi: Add @node and @section.
46824         * modules/ld-version-script: New module.
46825         * m4/ld-version-script.m4: New file.
46826         * doc/ld-version-script.texi: New file.
46827
46828 2009-03-02  David Lutterkort  <lutter@redhat.com>
46829
46830         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
46831         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46832
46833 2009-03-02  Bruno Haible  <bruno@clisp.org>
46834
46835         * doc/visibility.texi: Mention libtool's -export-symbols option.
46836
46837 2009-03-02  Jim Meyering  <meyering@redhat.com>
46838
46839         announce-gen: new option: --no-print-checksums
46840         * build-aux/announce-gen (usage): Describe it.
46841         (print_checksums): Print a newline here, not in the [*] footnote.
46842         (main): Honor it.
46843
46844 2009-03-01  Bruno Haible  <bruno@clisp.org>
46845
46846         Use socklen_t in the native Windows replacements prototypes.
46847         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
46848         instead of 'int'.
46849         * lib/getsockopt.c (rpl_getsockopt): Likewise.
46850         * lib/setsockopt.c (rpl_setsockopt): Likewise.
46851         * modules/getsockopt (Depends-on): Add socklen.
46852         * modules/setsockopt (Depends-on): Add socklen.
46853
46854 2009-03-01  Bruno Haible  <bruno@clisp.org>
46855
46856         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
46857         least 4.2.
46858
46859 2009-03-01  Eric Blake  <ebb9@byu.net>
46860             Bruno Haible  <bruno@clisp.org>
46861
46862         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
46863         error messages.
46864         * lib/wait-process.c (wait_subprocess): Omit error message about
46865         deadly signal sent to the child of termsigp != NULL.
46866
46867 2009-03-01  Eric Blake  <ebb9@byu.net>
46868
46869         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
46870
46871 2009-03-01  Bruno Haible  <bruno@clisp.org>
46872
46873         Avoid a gcc warning.
46874         * tests/test-sched.c (b): Make global.
46875         Reported by Eric Blake.
46876
46877 2009-01-19  Martin Lambers  <marlam@marlam.de>
46878
46879         Provide POSIX semantics for socket timeout options on W32.
46880         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
46881         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
46882         * modules/setsockopt: Depend on sys_time module for struct timeval.
46883         * modules/getsockopt: Depend on sys_time module for struct timeval.
46884
46885 2009-03-01  Simon Josefsson  <simon@josefsson.org>
46886
46887         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
46888         __USE_GNU, for consistency with netdb.in.h.
46889         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46890
46891 2009-03-01  Bruno Haible  <bruno@clisp.org>
46892
46893         More support for FreeMiNT.
46894         * lib/fseeko.c (rpl_fseeko): Complete last commit.
46895         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46896
46897 2009-03-01  Bruno Haible  <bruno@clisp.org>
46898
46899         More support for FreeMiNT.
46900         * lib/fpurge.c (fpurge): Correct last commit.
46901         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46902
46903 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46904
46905         Fix unportable awk script in vc-list-files.
46906         * build-aux/vc-list-files: In the replacement awk script, use
46907         substr with a second argument of 1, not zero.
46908         Report by Simon Josefsson.
46909
46910 2009-02-28  Bruno Haible  <bruno@clisp.org>
46911
46912         More support for FreeMiNT.
46913         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
46914         to FreeMiNT today.
46915         * lib/fwriting.c (fwriting): Likewise.
46916         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
46917
46918 2009-02-28  Bruno Haible  <bruno@clisp.org>
46919
46920         * tests/test-freadseek.c (main): Disable test beyond end of file on
46921         FreeMiNT.
46922         * tests/test-ftello.c (main): Likewise.
46923         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
46924
46925 2009-02-28  Bruno Haible  <bruno@clisp.org>
46926
46927         Add tentative support for FreeMiNT.
46928         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
46929         * lib/fpurge.c (fpurge): Likewise.
46930         * lib/freadable.c (freadable): Likewise.
46931         * lib/freading.c (freading): Likewise.
46932         * lib/freadptr.c (freadptr): Likewise.
46933         * lib/freadseek.c (freadptrinc): Likewise.
46934         * lib/fseeko.c (rpl_fseeko): Likewise.
46935         * lib/fseterr.c (fseterr): Likewise.
46936         * lib/fwritable.c (fwritable): Likewise.
46937         * lib/fwriting.c (fwriting): Likewise.
46938         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
46939         Hourihane.
46940         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46941
46942 2009-02-28  Bruno Haible  <bruno@clisp.org>
46943
46944         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
46945         SIGCHLD.
46946         Reported by Jim Meyering.
46947
46948 2009-02-28  Bruno Haible  <bruno@clisp.org>
46949
46950         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
46951         Mention the results of these tests on various platforms.
46952         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
46953         order.
46954         * doc/posix-functions/printf.texi: Likewise.
46955         * doc/posix-functions/snprintf.texi: Likewise.
46956         * doc/posix-functions/sprintf.texi: Likewise.
46957         * doc/posix-functions/vfprintf.texi: Likewise.
46958         * doc/posix-functions/vprintf.texi: Likewise.
46959         * doc/posix-functions/vsnprintf.texi: Likewise.
46960         * doc/posix-functions/vsprintf.texi: Likewise.
46961         * doc/glibc-functions/obstack_printf.texi: Likewise.
46962         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
46963
46964 2009-02-28  Bruno Haible  <bruno@clisp.org>
46965
46966         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
46967         Reported by Loïc Minier <lool@dooz.org>.
46968
46969 2009-02-27  Bruno Haible  <bruno@clisp.org>
46970
46971         * gnulib-tool (func_import): Make the sed expression used to create the
46972         sed script for updating the .gitignore file POSIX compliant.
46973         Reported by Eric Blake.
46974
46975 2009-02-27  Bruno Haible  <bruno@clisp.org>
46976
46977         * gnulib-tool (sed): Don't alias as "sed --posix".
46978         Reported by Eric Blake.
46979
46980 2009-02-27  Bruno Haible  <bruno@clisp.org>
46981
46982         Avoid test link errors.
46983         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
46984         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
46985         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
46986         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
46987         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46988
46989 2009-02-27  Bruno Haible  <bruno@clisp.org>
46990
46991         Avoid spurious "(cached)" in configure output.
46992         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
46993         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
46994         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
46995         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
46996         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
46997         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
46998         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
46999         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
47000         Reported by Eric Blake.
47001
47002 2009-02-27  Eric Blake  <ebb9@byu.net>
47003
47004         printf: fix regression in previous patch
47005         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
47006
47007 2009-02-27  Bruno Haible  <bruno@clisp.org>
47008
47009         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
47010         value.
47011         * lib/stdint.in.h: Likewise.
47012         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
47013
47014 2009-02-27  Eric Blake  <ebb9@byu.net>
47015
47016         doc: mention more functions added in cygwin 1.7.0
47017         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
47018         addition.
47019         * doc/posix-functions/open_wmemstream.texi: Likewise.
47020         * doc/posix-functions/wcsnlen.texi: Likewise.
47021         * doc/posix-functions/wcsnrtombs.texi: Likewise.
47022         * doc/posix-functions/wcstod.texi: Likewise.
47023         * doc/posix-functions/wcstof.texi: Likewise.
47024         * doc/posix-functions/wcstoimax.texi: Likewise.
47025         * doc/posix-functions/wcstok.texi: Likewise.
47026         * doc/posix-functions/wcstoumax.texi: Likewise.
47027
47028         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
47029         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
47030         * doc/posix-functions/fprintf.texi: Update.
47031         * doc/posix-functions/printf.texi: Update.
47032         * doc/posix-functions/snprintf.texi: Update.
47033         * doc/posix-functions/sprintf.texi: Update.
47034         * doc/posix-functions/vfprintf.texi: Update.
47035         * doc/posix-functions/vprintf.texi: Update.
47036         * doc/posix-functions/vsnprintf.texi: Update.
47037         * doc/posix-functions/vsprintf.texi: Update.
47038         * doc/glibc-functions/obstack_printf.texi: Update.
47039         * doc/glibc-functions/obstack_vprintf.texi: Update.
47040
47041 2009-02-26  Eric Blake  <ebb9@byu.net>
47042
47043         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
47044         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
47045         compilation bug by using runtime conversion.
47046         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
47047         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
47048         * modules/ceill-tests (Files): Use nan.h.
47049         * modules/floorl-tests (Files): Likewise.
47050         * modules/frexpl-tests (Files): Likewise.
47051         * modules/isnanl-tests (Files): Likewise.
47052         * modules/ldexpl-tests (Files): Likewise.
47053         * modules/roundl-tests (Files): Likewise.
47054         * modules/truncl-tests (Files): Likewise.
47055         * tests/test-ceill.c (main): Use a working NaN.
47056         * tests/test-floorl.c (main): Likewise.
47057         * tests/test-frexpl.c (main): Likewise.
47058         * tests/test-isnan.c (test_long_double): Likewise.
47059         * tests/test-isnanl.h (main): Likewise.
47060         * tests/test-ldexpl.h (main): Likewise.
47061         * tests/test-roundl.h (main): Likewise.
47062         * tests/test-truncl.h (main): Likewise.
47063         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
47064
47065 2009-02-26  Eric Blake  <ebb9@byu.net>
47066             Bruno Haible  <bruno@clisp.org>
47067
47068         Work around a *printf bug with %ls on Solaris.
47069         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
47070         precision is specified, sprintf stops converting the wide string
47071         argument when the number of bytes that have been produced by this
47072         conversion equals or exceeds the precision.
47073         * doc/posix-functions/fprintf.texi: Update.
47074         * doc/posix-functions/printf.texi: Update.
47075         * doc/posix-functions/snprintf.texi: Update.
47076         * doc/posix-functions/sprintf.texi: Update.
47077         * doc/posix-functions/vfprintf.texi: Update.
47078         * doc/posix-functions/vprintf.texi: Update.
47079         * doc/posix-functions/vsnprintf.texi: Update.
47080         * doc/posix-functions/vsprintf.texi: Update.
47081         * doc/glibc-functions/obstack_printf.texi: Update.
47082         * doc/glibc-functions/obstack_vprintf.texi: Update.
47083
47084 2009-02-26  Eric Blake  <ebb9@byu.net>
47085
47086         stdlib: favor compiler check of random.h
47087         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
47088         to avoid an ObjC random.h installed by Swarm.
47089
47090 2009-02-26  Bruno Haible  <bruno@clisp.org>
47091
47092         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
47093         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
47094         Reported by Gary V. Vaughan <gary@gnu.org>.
47095
47096 2009-02-26  Bruno Haible  <bruno@clisp.org>
47097
47098         Fix *printf behaviour regarding the %ls directive.
47099         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
47100         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
47101         NEED_PRINTF_DIRECTIVE_LS.
47102         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
47103         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47104         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47105         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
47106         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
47107         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
47108         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
47109         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47110         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47111         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47112         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47113         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
47114         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47115         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47116         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47117         * doc/posix-functions/fprintf.texi: Update.
47118         * doc/posix-functions/printf.texi: Update.
47119         * doc/posix-functions/snprintf.texi: Update.
47120         * doc/posix-functions/sprintf.texi: Update.
47121         * doc/posix-functions/vfprintf.texi: Update.
47122         * doc/posix-functions/vprintf.texi: Update.
47123         * doc/posix-functions/vsnprintf.texi: Update.
47124         * doc/posix-functions/vsprintf.texi: Update.
47125         * doc/glibc-functions/obstack_printf.texi: Update.
47126         * doc/glibc-functions/obstack_vprintf.texi: Update.
47127         Reported by Eric Blake.
47128
47129 2009-02-25  Bruno Haible  <bruno@clisp.org>
47130
47131         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
47132         with known value.
47133         Reported by Gary V. Vaughan <gary@gnu.org>.
47134
47135 2009-02-25  Bruno Haible  <bruno@clisp.org>
47136
47137         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
47138         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
47139         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
47140         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
47141         Reported by Gary V. Vaughan <gary@gnu.org>.
47142
47143 2009-02-25  Bruno Haible  <bruno@clisp.org>
47144
47145         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
47146         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
47147         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
47148         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
47149         Reported by Gary V. Vaughan <gary@gnu.org>.
47150
47151 2009-02-25  Eric Blake  <ebb9@byu.net>
47152
47153         tests: skip fseek/ftell tests if ungetc is broken
47154         * m4/ungetc.m4: New file.
47155         * modules/fseek-tests: Split test, so ungetc dependency is
47156         separate from rest of test.
47157         * modules/fseeko-tests: Likewise.
47158         * modules/ftell-tests: Likewise.
47159         * modules/ftello-tests: Likewise.
47160         * tests/test-fseek.c (main): Isolate ungetc dependency.
47161         * tests/test-fseeko.c (main): Likewise.
47162         * tests/test-ftell.c (main): Likewise.
47163         * tests/test-ftello.c (main): Likewise.
47164         * tests/test-fseek2.sh: New file.
47165         * tests/test-fseeko2.sh: Likewise.
47166         * tests/test-ftell2.sh: Likewise.
47167         * tests/test-ftello2.sh: Likewise.
47168
47169 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
47170
47171         test-getaddrinfo: fix usage of skip return code 77
47172         * tests/test-gettaddrinfo.c: Return skip code 77 only
47173         for first occurrence of skip (4x77 is not 77)
47174
47175 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
47176
47177         strtod: avoid C99 decl-after-statement
47178         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
47179
47180 2009-02-24  Eric Blake  <ebb9@byu.net>
47181
47182         strtod: detect HP-UX 11.31 bug
47183         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
47184         Reported by Gary V. Vaughan.
47185
47186 2009-02-23  Bruno Haible  <bruno@clisp.org>
47187
47188         Fix invalid read past end of memory block.
47189         * lib/vasnprintf.c (DCHAR_SET): Define.
47190         (local_wcslen): Define only when needed.
47191         (local_strnlen, local_wcsnlen): New functions.
47192         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
47193         directives that involve a conversion ourselves.
47194         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
47195         wcsnlen, mbrtowc, wcrtomb.
47196         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
47197         * tests/test-vasprintf-posix.c (test_function): Likewise.
47198         * tests/test-snprintf-posix.h (test_function): Likewise.
47199         * tests/test-sprintf-posix.h (test_function): Likewise.
47200         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47201
47202 2009-02-22  Bruno Haible  <bruno@clisp.org>
47203
47204         Implement new clarified decomposition of Hangul syllables.
47205         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
47206         of type LTV, return only a pairwise decomposition.
47207         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
47208         Likewise.
47209         * tests/uninorm/test-decomposition.c (main): Updated expected result.
47210         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
47211         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
47212
47213 2009-02-22  Bruno Haible  <bruno@clisp.org>
47214
47215         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
47216         zero-length results and shrink excess allocated memory.
47217         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
47218         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
47219         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
47220         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
47221         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
47222         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
47223         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
47224         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
47225         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
47226         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
47227         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
47228         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
47229
47230 2009-02-21  Bruno Haible  <bruno@clisp.org>
47231
47232         * doc/gnulib.texi: Include safe-alloc.texi earlier.
47233         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
47234         spaces after a period. Put a space between a macro name and its
47235         argument list. Trivial rewordings.
47236         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
47237         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
47238         (main): Return 0 explicitly.
47239
47240 2009-02-21  Bruno Haible  <bruno@clisp.org>
47241
47242         Tests for module 'uninorm/filter'.
47243         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
47244         * modules/uninorm/filter-tests: New file.
47245
47246         New module 'uninorm/filter'.
47247         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
47248         uninorm_filter_flush, uninorm_filter_free): New declarations.
47249         * lib/uninorm/uninorm-filter.c: New file.
47250         * modules/uninorm/filter: New file.
47251
47252 2009-02-21  Bruno Haible  <bruno@clisp.org>
47253
47254         Tests for module 'uninorm/nfkc'.
47255         * tests/uninorm/test-nfkc.c: New file.
47256         * tests/uninorm/test-u8-nfkc.c: New file.
47257         * tests/uninorm/test-u16-nfkc.c: New file.
47258         * tests/uninorm/test-u32-nfkc.c: New file.
47259         * tests/uninorm/test-u32-nfkc-big.sh: New file.
47260         * tests/uninorm/test-u32-nfkc-big.c: New file.
47261         * modules/uninorm/nfkc-tests: New file.
47262
47263         New module 'uninorm/nfkc'.
47264         * lib/uninorm/nfkc.c: New file.
47265         * modules/uninorm/nfkc: New file.
47266
47267         Tests for module 'uninorm/nfkd'.
47268         * tests/uninorm/test-nfkd.c: New file.
47269         * tests/uninorm/test-u8-nfkd.c: New file.
47270         * tests/uninorm/test-u16-nfkd.c: New file.
47271         * tests/uninorm/test-u32-nfkd.c: New file.
47272         * tests/uninorm/test-u32-nfkd-big.sh: New file.
47273         * tests/uninorm/test-u32-nfkd-big.c: New file.
47274         * modules/uninorm/nfkd-tests: New file.
47275
47276         New module 'uninorm/nfkd'.
47277         * lib/uninorm/nfkd.c: New file.
47278         * modules/uninorm/nfkd: New file.
47279
47280         Tests for module 'uninorm/nfc'.
47281         * tests/uninorm/test-nfc.c: New file.
47282         * tests/uninorm/test-u8-nfc.c: New file.
47283         * tests/uninorm/test-u16-nfc.c: New file.
47284         * tests/uninorm/test-u32-nfc.c: New file.
47285         * tests/uninorm/test-u32-nfc-big.sh: New file.
47286         * tests/uninorm/test-u32-nfc-big.c: New file.
47287         * modules/uninorm/nfc-tests: New file.
47288
47289         New module 'uninorm/nfc'.
47290         * lib/uninorm/nfc.c: New file.
47291         * modules/uninorm/nfc: New file.
47292
47293         Tests for module 'uninorm/nfd'.
47294         * tests/uninorm/test-nfd.c: New file.
47295         * tests/uninorm/test-u8-nfd.c: New file.
47296         * tests/uninorm/test-u16-nfd.c: New file.
47297         * tests/uninorm/test-u32-nfd.c: New file.
47298         * tests/uninorm/test-u32-nfd-big.sh: New file.
47299         * tests/uninorm/test-u32-nfd-big.c: New file.
47300         * tests/uninorm/test-u32-normalize-big.h: New file.
47301         * tests/uninorm/test-u32-normalize-big.c: New file.
47302         * tests/uninorm/NormalizationTest.txt: New file, created from
47303         Unicode 5.1.0 NormalizationTest.txt.
47304         * modules/uninorm/nfd-tests: New file.
47305
47306         New module 'uninorm/nfd'.
47307         * lib/uninorm/nfd.c: New file.
47308         * modules/uninorm/nfd: New file.
47309
47310         New module 'uninorm/u32-normalize'.
47311         * lib/uninorm/u32-normalize.c: New file.
47312         * modules/uninorm/u32-normalize: New file.
47313
47314         New module 'uninorm/u16-normalize'.
47315         * lib/uninorm/u16-normalize.c: New file.
47316         * modules/uninorm/u16-normalize: New file.
47317
47318         New module 'uninorm/u8-normalize'.
47319         * lib/uninorm/u8-normalize.c: New file.
47320         * lib/uninorm/normalize-internal.h: New file.
47321         * lib/uninorm/u-normalize-internal.h: New file.
47322         * modules/uninorm/u8-normalize: New file.
47323
47324         New module 'uninorm/decompose-internal'.
47325         * lib/uninorm/decompose-internal.c: New file.
47326         * modules/uninorm/decompose-internal: New file.
47327
47328         Tests for module 'uninorm/composition'.
47329         * tests/uninorm/test-composition.c: New file.
47330         * modules/uninorm/composition-tests: New file.
47331
47332         New module 'uninorm/composition'.
47333         * lib/uninorm/composition.c: New file.
47334         * lib/uninorm/composition-table.gperf: New file, generated by
47335         gen-uni-tables.
47336         * modules/uninorm/composition: New file.
47337
47338         Tests for module 'uninorm/compat-decomposition'.
47339         * tests/uninorm/test-compat-decomposition.c: New file.
47340         * modules/uninorm/compat-decomposition-tests: New file.
47341
47342         New module 'uninorm/compat-decomposition'.
47343         * lib/uninorm/decompose-internal.h: New file.
47344         * lib/uninorm/compat-decomposition.c: New file.
47345         * modules/uninorm/compat-decomposition: New file.
47346
47347         Tests for module 'uninorm/canonical-decomposition'.
47348         * tests/uninorm/test-canonical-decomposition.c: New file.
47349         * modules/uninorm/canonical-decomposition-tests: New file.
47350
47351         New module 'uninorm/canonical-decomposition'.
47352         * lib/uninorm/canonical-decomposition.c: New file.
47353         * modules/uninorm/canonical-decomposition: New file.
47354
47355         Tests for module 'uninorm/decomposition'.
47356         * tests/uninorm/test-decomposition.c: New file.
47357         * modules/uninorm/decomposition-tests: New file.
47358
47359         New module 'uninorm/decomposition'.
47360         * lib/uninorm/decomposition.c: New file.
47361         * modules/uninorm/decomposition: New file.
47362
47363         New module 'uninorm/decomposition-table'.
47364         * lib/uninorm/decomposition-table.h: New file.
47365         * lib/uninorm/decomposition-table.c: New file.
47366         * lib/uninorm/decomposition-table1.h: New file, generated by
47367         gen-uni-tables.
47368         * lib/uninorm/decomposition-table2.h: New file, generated by
47369         gen-uni-tables.
47370         * modules/uninorm/decomposition-table: New file.
47371
47372         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
47373         (UC_DECOMP_*): New enumeration items.
47374         (get_decomposition): New function.
47375         (struct decomp_table): New type.
47376         (output_decomposition, output_decomposition_tables): New functions.
47377         (unicode_composition_exclusions): New variable.
47378         (fill_composition_exclusions, debug_output_composition_tables): New
47379         functions.
47380         (main): Accept one more argument. Invoke fill_composition_exclusions.
47381         Output decomposition and composition tables.
47382
47383         New module 'uninorm/base'.
47384         * lib/uninorm.h: New file.
47385         * lib/unictype.h: Update comment.
47386         * modules/uninorm/base: New file.
47387
47388 2009-02-21  David Lutterkort  <lutter@redhat.com>
47389
47390         Tests for module 'safe-alloc'.
47391         * tests/test-safe-alloc.c: New file.
47392         * modules/safe-alloc-tests: New file.
47393
47394         New module 'safe-alloc'.
47395         * lib/safe-alloc.h: New file.
47396         * lib/safe-alloc.c: New file.
47397         * m4/safe-alloc.m4: New file.
47398         * modules/safe-alloc: New file.
47399         * doc/safe-alloc.texi: New file.
47400         * doc/gnulib.texi: Include it.
47401         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
47402         safe-alloc.
47403
47404 2009-02-18  Bruno Haible  <bruno@clisp.org>
47405
47406         Fix link error on non-glibc systems.
47407         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
47408         variable.
47409         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47410
47411 2009-02-18  Jim Meyering  <meyering@redhat.com>
47412
47413         fts: avoid used-uninitialized error due to recent change
47414         * lib/fts.c (fts_read): Guard uses of the new member,
47415         parent->fts_n_dirs_remaining, since it's not relevant for
47416         the parent of a directory specified on the command-line.
47417
47418 2009-02-17  James Youngman  <jay@gnu.org>
47419             Bruno Haible  <bruno@clisp.org>
47420
47421         * m4/include_next.m4: Reformulate comment.
47422
47423 2009-02-16  Jim Meyering  <meyering@redhat.com>
47424
47425         fts: add #if guards so that the fts_lgpl module still builds
47426         * lib/fts.c: Guard just-added hash-table-using parts with
47427         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
47428         Reported by Simon Josefsson.
47429
47430 2009-02-15  Bruno Haible  <bruno@clisp.org>
47431
47432         * modules/array-mergesort-tests: New file.
47433         * tests/test-array-mergesort.c: New file.
47434
47435         New module 'array-mergesort'.
47436         * modules/array-mergesort: New file.
47437         * lib/array-mergesort.h: New file.
47438
47439 2009-02-15  Bruno Haible  <bruno@clisp.org>
47440
47441         Fix 2009-02-07 commit.
47442         * lib/gen-uni-tables.c (output_predicate, output_category,
47443         output_combclass, output_bidi_category, output_decimal_digit,
47444         output_digit, output_numeric, output_mirror, output_scripts,
47445         output_ident_category, output_simple_mapping): Fix format directives.
47446         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
47447
47448 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
47449
47450         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
47451         fixes are available from IBM.
47452
47453 2009-02-13  Jim Meyering  <meyering@redhat.com>
47454
47455         fts: arrange not to stat non-directories in more cases
47456         This makes GNU find (when it doesn't need to stat each file)
47457         *much* more efficient at traversing reiserfs file systems.
47458         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
47459         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
47460         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
47461         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
47462         (leaf_optimization_applies): New function.
47463         (LCO_hash, LCO_compare): New helper functions.
47464         (link_count_optimize_ok): New function.
47465         (fts_stat): Initialize new member (if dir).
47466         (fts_read): Decrement parent's fts_n_dirs_remaining count if
47467         we've just stat'ed a directory.  Skip the stat call when possible.
47468         ---
47469         Note this AFS-related exchange:
47470         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
47471         and note find's pioctl call in find/fstype.c.
47472         But that is necessary only if you want to enable the
47473         optimization for AFS, and for now, I don't.
47474
47475         fts: move a function definition "up" (no semantic change)
47476         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
47477         "up" to precede upcoming use of a related function.
47478
47479 2009-02-11  Jim Meyering  <meyering@redhat.com>
47480
47481         fts: correct internal computation of nlinks (optimization-related)
47482         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
47483         whether the current entry is a directory, so don't test it.
47484
47485 2009-02-10  Bruno Haible  <bruno@clisp.org>
47486
47487         Tests for module 'uniwbrk/ulc-wordbreaks'.
47488         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
47489         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
47490         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
47491
47492         Tests for module 'uniwbrk/u32-wordbreaks'.
47493         * modules/uniwbrk/u32-wordbreaks-tests: New file.
47494         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
47495
47496         Tests for module 'uniwbrk/u16-wordbreaks'.
47497         * modules/uniwbrk/u16-wordbreaks-tests: New file.
47498         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
47499
47500         Tests for module 'uniwbrk/u8-wordbreaks'.
47501         * modules/uniwbrk/u8-wordbreaks-tests: New file.
47502         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
47503
47504 2009-02-10  Bruno Haible  <bruno@clisp.org>
47505
47506         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
47507         property.
47508         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
47509         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
47510         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
47511
47512 2009-02-10  Simon Josefsson  <simon@josefsson.org>
47513
47514         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
47515         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
47516
47517 2009-02-10  Bruno Haible  <bruno@clisp.org>
47518
47519         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
47520         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
47521         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
47522         * lib/unilbrk/u8-possible-linebreaks.c: Update.
47523         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
47524         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
47525
47526 2009-02-09  Simon Josefsson  <simon@josefsson.org>
47527
47528         * lib/sockets.h (gl_fd_to_handle): New function.
47529
47530         * tests/test-sockets.c: Call gl_fd_to_handle.
47531
47532 2009-02-09  Bruno Haible  <bruno@clisp.org>
47533
47534         * doc/havelib.texi: Document the conventions on bi-arch systems.
47535
47536 2009-02-08  Bruno Haible  <bruno@clisp.org>
47537
47538         Document the AC_LIB_LINKFLAGS macro.
47539         * doc/havelib.texi: New file, mostly written on 2005-05-24.
47540         * doc/gnulib.texi: Include it.
47541
47542 2009-02-08  Bruno Haible  <bruno@clisp.org>
47543
47544         Fix wrong order of sections, compared to TOC.
47545         * doc/gnulib.texi: Include relocatable-maint.texi after the
47546         "Regular expressions" node, not before.
47547
47548 2009-02-08  Bruno Haible  <bruno@clisp.org>
47549
47550         Tests for module 'unicase/totitle'.
47551         * modules/unicase/totitle-tests: New file.
47552
47553         Tests for module 'unicase/tolower'.
47554         * modules/unicase/tolower-tests: New file.
47555
47556         Tests for module 'unicase/toupper'.
47557         * modules/unicase/toupper-tests: New file.
47558         * tests/unicase/test-mapping-part1.h: New file.
47559         * tests/unicase/test-mapping-part2.h: New file.
47560
47561         New module 'unicase/totitle'.
47562         * modules/unicase/totitle: New file.
47563         * lib/unicase/totitle.c: New file.
47564
47565         New module 'unicase/tolower'.
47566         * modules/unicase/tolower: New file.
47567         * lib/unicase/tolower.c: New file.
47568
47569         New module 'unicase/toupper'.
47570         * modules/unicase/toupper: New file.
47571         * lib/unicase/toupper.c: New file.
47572         * lib/unicase/simple-mapping.h: New file.
47573
47574         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
47575         (mapping_table): New structure.
47576         (output_simple_mapping): New function.
47577         (main): Invoke output_simple_mapping_test and output_simple_mapping.
47578         * modules/gen-uni-tables (Description): Update.
47579         * lib/unicase/toupper.h: New file, automatically generated by
47580         gen-uni-tables.
47581         * lib/unicase/tolower.h: New file, automatically generated by
47582         gen-uni-tables.
47583         * lib/unicase/totitle.h: New file, automatically generated by
47584         gen-uni-tables.
47585         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
47586         gen-uni-tables.
47587         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
47588         gen-uni-tables.
47589         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
47590         gen-uni-tables.
47591
47592         New module 'unicase/base'.
47593         * modules/unicase/base: New file.
47594         * lib/unicase.h: New file.
47595
47596 2009-02-08  Bruno Haible  <bruno@clisp.org>
47597
47598         New module 'uniwbrk/ulc-wordbreaks'.
47599         * modules/uniwbrk/ulc-wordbreaks: New file.
47600         * lib/uniwbrk/ulc-wordbreaks.c: New file.
47601
47602         New module 'uniwbrk/u32-wordbreaks'.
47603         * modules/uniwbrk/u32-wordbreaks: New file.
47604         * lib/uniwbrk/u32-wordbreaks.c: New file.
47605
47606         New module 'uniwbrk/u16-wordbreaks'.
47607         * modules/uniwbrk/u16-wordbreaks: New file.
47608         * lib/uniwbrk/u16-wordbreaks.c: New file.
47609
47610         New module 'uniwbrk/u8-wordbreaks'.
47611         * modules/uniwbrk/u8-wordbreaks: New file.
47612         * lib/uniwbrk/u8-wordbreaks.c: New file.
47613         * lib/uniwbrk/u-wordbreaks.h: New file.
47614
47615         New module 'uniwbrk/table'.
47616         * modules/uniwbrk/table: New file.
47617         * lib/uniwbrk/wbrktable.h: New file.
47618         * lib/uniwbrk/wbrktable.c: New file.
47619
47620         New module 'uniwbrk/wordbreak-property'.
47621         * modules/uniwbrk/wordbreak-property: New file.
47622         * lib/uniwbrk/wordbreak-property.c: New file.
47623
47624         * lib/gen-uni-tables.c (WBP_*): New enum items.
47625         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
47626         (unicode_org_wbp): New variable.
47627         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
47628         New functions.
47629         (wbp_table): New structure.
47630         (output_wbp, output_wbrk_tables): New functions.
47631         (main): Accept additional argument. Invoke fill_org_wbp,
47632         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
47633         output_wbrk_tables.
47634         * modules/gen-uni-tables (Description): Update.
47635         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
47636         gen-uni-tables.
47637
47638         New module 'uniwbrk/base'.
47639         * modules/uniwbrk/base: New file.
47640         * lib/uniwbrk.h: New file.
47641
47642 2009-02-08  Bruno Haible  <bruno@clisp.org>
47643
47644         Update to Unicode 5.1.0.
47645         * lib/gen-uni-tables.c (is_property_alphabetic): Include
47646         U+2185..U+2188.
47647         (is_property_default_ignorable_code_point): Don't include characters
47648         of category Cc or Cs and not-a-characters.
47649         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
47650         U+0D79, U+109E, U+109F, U+A60C.
47651         * lib/unictype/bidi_of.h: Regenerated.
47652         * lib/unictype/blocks.h: Regenerated.
47653         * lib/unictype/categ_C.h: Regenerated.
47654         * lib/unictype/categ_Cf.h: Regenerated.
47655         * lib/unictype/categ_Cn.h: Regenerated.
47656         * lib/unictype/categ_L.h: Regenerated.
47657         * lib/unictype/categ_Ll.h: Regenerated.
47658         * lib/unictype/categ_Lm.h: Regenerated.
47659         * lib/unictype/categ_Lo.h: Regenerated.
47660         * lib/unictype/categ_Lu.h: Regenerated.
47661         * lib/unictype/categ_M.h: Regenerated.
47662         * lib/unictype/categ_Mc.h: Regenerated.
47663         * lib/unictype/categ_Me.h: Regenerated.
47664         * lib/unictype/categ_Mn.h: Regenerated.
47665         * lib/unictype/categ_N.h: Regenerated.
47666         * lib/unictype/categ_Nd.h: Regenerated.
47667         * lib/unictype/categ_Nl.h: Regenerated.
47668         * lib/unictype/categ_No.h: Regenerated.
47669         * lib/unictype/categ_P.h: Regenerated.
47670         * lib/unictype/categ_Pd.h: Regenerated.
47671         * lib/unictype/categ_Pe.h: Regenerated.
47672         * lib/unictype/categ_Pf.h: Regenerated.
47673         * lib/unictype/categ_Pi.h: Regenerated.
47674         * lib/unictype/categ_Po.h: Regenerated.
47675         * lib/unictype/categ_Ps.h: Regenerated.
47676         * lib/unictype/categ_S.h: Regenerated.
47677         * lib/unictype/categ_Sk.h: Regenerated.
47678         * lib/unictype/categ_Sm.h: Regenerated.
47679         * lib/unictype/categ_So.h: Regenerated.
47680         * lib/unictype/categ_of.h: Regenerated.
47681         * lib/unictype/combining.h: Regenerated.
47682         * lib/unictype/ctype_alnum.h: Regenerated.
47683         * lib/unictype/ctype_alpha.h: Regenerated.
47684         * lib/unictype/ctype_graph.h: Regenerated.
47685         * lib/unictype/ctype_lower.h: Regenerated.
47686         * lib/unictype/ctype_print.h: Regenerated.
47687         * lib/unictype/ctype_punct.h: Regenerated.
47688         * lib/unictype/ctype_upper.h: Regenerated.
47689         * lib/unictype/decdigit.h: Regenerated.
47690         * lib/unictype/digit.h: Regenerated.
47691         * lib/unictype/mirror.h: Regenerated.
47692         * lib/unictype/numeric.h: Regenerated.
47693         * lib/unictype/pr_alphabetic.h: Regenerated.
47694         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
47695         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
47696         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
47697         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
47698         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
47699         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
47700         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
47701         * lib/unictype/pr_combining.h: Regenerated.
47702         * lib/unictype/pr_dash.h: Regenerated.
47703         * lib/unictype/pr_decimal_digit.h: Regenerated.
47704         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
47705         * lib/unictype/pr_deprecated.h: Regenerated.
47706         * lib/unictype/pr_diacritic.h: Regenerated.
47707         * lib/unictype/pr_extender.h: Regenerated.
47708         * lib/unictype/pr_format_control.h: Regenerated.
47709         * lib/unictype/pr_grapheme_base.h: Regenerated.
47710         * lib/unictype/pr_grapheme_extend.h: Regenerated.
47711         * lib/unictype/pr_grapheme_link.h: Regenerated.
47712         * lib/unictype/pr_id_continue.h: Regenerated.
47713         * lib/unictype/pr_id_start.h: Regenerated.
47714         * lib/unictype/pr_ideographic.h: Regenerated.
47715         * lib/unictype/pr_ignorable_control.h: Regenerated.
47716         * lib/unictype/pr_lowercase.h: Regenerated.
47717         * lib/unictype/pr_math.h: Regenerated.
47718         * lib/unictype/pr_numeric.h: Regenerated.
47719         * lib/unictype/pr_other_alphabetic.h: Regenerated.
47720         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
47721         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
47722         * lib/unictype/pr_other_id_continue.h: Regenerated.
47723         * lib/unictype/pr_other_lowercase.h: Regenerated.
47724         * lib/unictype/pr_other_math.h: Regenerated.
47725         * lib/unictype/pr_punctuation.h: Regenerated.
47726         * lib/unictype/pr_sentence_terminal.h: Regenerated.
47727         * lib/unictype/pr_soft_dotted.h: Regenerated.
47728         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
47729         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
47730         * lib/unictype/pr_unified_ideograph.h: Regenerated.
47731         * lib/unictype/pr_uppercase.h: Regenerated.
47732         * lib/unictype/pr_xid_continue.h: Regenerated.
47733         * lib/unictype/pr_xid_start.h: Regenerated.
47734         * lib/unictype/pr_zero_width.h: Regenerated.
47735         * lib/unictype/scripts.h: Regenerated.
47736         * lib/unictype/scripts_byname.gperf: Regenerated.
47737         * lib/unictype/sy_java_ident.h: Regenerated.
47738         * lib/unilbrk/lbrkprop1.h: Regenerated.
47739         * lib/unilbrk/lbrkprop2.h: Regenerated.
47740         * tests/unictype/test-categ_C.c: Regenerated.
47741         * tests/unictype/test-categ_Cf.c: Regenerated.
47742         * tests/unictype/test-categ_Cn.c: Regenerated.
47743         * tests/unictype/test-categ_L.c: Regenerated.
47744         * tests/unictype/test-categ_Ll.c: Regenerated.
47745         * tests/unictype/test-categ_Lm.c: Regenerated.
47746         * tests/unictype/test-categ_Lo.c: Regenerated.
47747         * tests/unictype/test-categ_Lu.c: Regenerated.
47748         * tests/unictype/test-categ_M.c: Regenerated.
47749         * tests/unictype/test-categ_Mc.c: Regenerated.
47750         * tests/unictype/test-categ_Me.c: Regenerated.
47751         * tests/unictype/test-categ_Mn.c: Regenerated.
47752         * tests/unictype/test-categ_N.c: Regenerated.
47753         * tests/unictype/test-categ_Nd.c: Regenerated.
47754         * tests/unictype/test-categ_Nl.c: Regenerated.
47755         * tests/unictype/test-categ_No.c: Regenerated.
47756         * tests/unictype/test-categ_P.c: Regenerated.
47757         * tests/unictype/test-categ_Pd.c: Regenerated.
47758         * tests/unictype/test-categ_Pe.c: Regenerated.
47759         * tests/unictype/test-categ_Pf.c: Regenerated.
47760         * tests/unictype/test-categ_Pi.c: Regenerated.
47761         * tests/unictype/test-categ_Po.c: Regenerated.
47762         * tests/unictype/test-categ_Ps.c: Regenerated.
47763         * tests/unictype/test-categ_S.c: Regenerated.
47764         * tests/unictype/test-categ_Sk.c: Regenerated.
47765         * tests/unictype/test-categ_Sm.c: Regenerated.
47766         * tests/unictype/test-categ_So.c: Regenerated.
47767         * tests/unictype/test-ctype_alnum.c: Regenerated.
47768         * tests/unictype/test-ctype_alpha.c: Regenerated.
47769         * tests/unictype/test-ctype_graph.c: Regenerated.
47770         * tests/unictype/test-ctype_lower.c: Regenerated.
47771         * tests/unictype/test-ctype_print.c: Regenerated.
47772         * tests/unictype/test-ctype_punct.c: Regenerated.
47773         * tests/unictype/test-ctype_upper.c: Regenerated.
47774         * tests/unictype/test-decdigit.h: Regenerated.
47775         * tests/unictype/test-digit.h: Regenerated.
47776         * tests/unictype/test-numeric.h: Regenerated.
47777         * tests/unictype/test-pr_alphabetic.c: Regenerated.
47778         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
47779         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
47780         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
47781         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
47782         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
47783         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
47784         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
47785         * tests/unictype/test-pr_combining.c: Regenerated.
47786         * tests/unictype/test-pr_dash.c: Regenerated.
47787         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
47788         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
47789         * tests/unictype/test-pr_deprecated.c: Regenerated.
47790         * tests/unictype/test-pr_diacritic.c: Regenerated.
47791         * tests/unictype/test-pr_extender.c: Regenerated.
47792         * tests/unictype/test-pr_format_control.c: Regenerated.
47793         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
47794         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
47795         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
47796         * tests/unictype/test-pr_id_continue.c: Regenerated.
47797         * tests/unictype/test-pr_id_start.c: Regenerated.
47798         * tests/unictype/test-pr_ideographic.c: Regenerated.
47799         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
47800         * tests/unictype/test-pr_lowercase.c: Regenerated.
47801         * tests/unictype/test-pr_math.c: Regenerated.
47802         * tests/unictype/test-pr_numeric.c: Regenerated.
47803         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
47804         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
47805         Regenerated.
47806         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
47807         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
47808         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
47809         * tests/unictype/test-pr_other_math.c: Regenerated.
47810         * tests/unictype/test-pr_punctuation.c: Regenerated.
47811         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
47812         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
47813         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
47814         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
47815         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
47816         * tests/unictype/test-pr_uppercase.c: Regenerated.
47817         * tests/unictype/test-pr_xid_continue.c: Regenerated.
47818         * tests/unictype/test-pr_xid_start.c: Regenerated.
47819         * tests/unictype/test-pr_zero_width.c: Regenerated.
47820
47821         Update to Unicode 5.1.0.
47822         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
47823         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
47824         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
47825         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
47826         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
47827         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
47828         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
47829         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
47830         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
47831         (nonspacing_table_ind): Update.
47832         * tests/uniwidth/test-uc_width2.sh: Update expected result.
47833
47834         Update to Unicode 5.1.0.
47835         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
47836         code transform.
47837         * lib/uniname/uniname.c (unicode_character_name,
47838         unicode_name_character): Add the range 0x1Fxxx to the code transform.
47839         * lib/uniname/uninames.h: Regenerated.
47840         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
47841
47842 2009-02-07  Bruno Haible  <bruno@clisp.org>
47843
47844         Merge gen-ctype and gen-lbrk into a single program.
47845         * lib/gen-uni-tables.c: New file, incorporating
47846         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
47847         Add directory prefixes to the names of the generated files.
47848         * lib/unictype/gen-ctype.c: Remove file.
47849         * lib/unilbrk/gen-lbrk.c: Remove file.
47850         * modules/gen-uni-tables: New file.
47851         * modules/unictype/gen-ctype: Remove file.
47852         * modules/unilbrk/gen-lbrk: Remove file.
47853
47854 2009-02-07  Bruno Haible  <bruno@clisp.org>
47855
47856         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
47857
47858         New module 'unistr/u32-strcoll'.
47859         * modules/unistr/u32-strcoll: New file.
47860         * lib/unistr/u32-strcoll.c: New file.
47861
47862         New module 'unistr/u16-strcoll'.
47863         * modules/unistr/u16-strcoll: New file.
47864         * lib/unistr/u16-strcoll.c: New file.
47865
47866         New module 'unistr/u8-strcoll'.
47867         * modules/unistr/u8-strcoll: New file.
47868         * lib/unistr/u8-strcoll.c: New file.
47869         * lib/unistr/u-strcoll.h: New file.
47870
47871 2009-02-07  Bruno Haible  <bruno@clisp.org>
47872
47873         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
47874         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
47875         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
47876         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
47877         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
47878         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
47879
47880 2009-02-07  Bruno Haible  <bruno@clisp.org>
47881
47882         Make 64-bit clean.
47883         * lib/unictype/gen-ctype.c (output_predicate, output_category,
47884         output_combclass, output_bidi_category, output_decimal_digit,
47885         output_digit, output_numeric, output_mirror, output_scripts,
47886         output_ident_category): Use proper width specifier in format strings.
47887
47888 2009-02-07  Bruno Haible  <bruno@clisp.org>
47889
47890         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
47891         failure behaviour.
47892
47893 2009-02-07  Jim Meyering  <meyering@redhat.com>
47894
47895         regex: avoid compilation failure with upcoming gcc-4.4
47896         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
47897         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
47898         "... error: integer overflow in preprocessor expression".
47899
47900 2009-02-05  Ben Pfaff  <blp@gnu.org>
47901
47902         Fix link errors on Windows when close module is used.
47903         * modules/close: Add $(LIB_CLOSE) to Link section.
47904         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
47905         $(LIB_CLOSE) on Windows.
47906
47907 2009-02-05  Jim Meyering  <meyering@redhat.com>
47908
47909         still avoid unused-parameter warnings, but do it cleanly
47910         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
47911         (get_fs_usage): Cast to void instead.
47912         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
47913         (dev_from_mount_options, read_file_system_list): Cast to void.
47914         Prompted by Bruno Haible.
47915
47916 2009-02-04  Jim Meyering  <meyering@redhat.com>
47917
47918         fsusage.c: correct copyright year
47919         * lib/fsusage.c: Reflect year in which the change is pushed into
47920
47921         avoid misc. warnings
47922         * lib/fsusage.c (UNUSED_PARAM): Define.
47923         (get_fs_usage): Mark parameter "disk" as unused.
47924         * lib/getugroups.c (getgrent): Use "void" in prototype.
47925         * lib/mountlist.c: Mark unused parameters.
47926         (read_file_system_list): Declare a local with "const".
47927         * lib/nanosleep.c (getnow): Declare static.
47928         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
47929
47930         dirfd: set errno upon failure
47931         * lib/dirfd.c: Include <errno.h>.
47932         Set errno to ENOTSUP when returning -1.
47933         * modules/dirfd (Depends-on): Add errno.
47934         Suggested by John Kodis <kodis@comcast.net>.
47935
47936 2009-02-01  Bruno Haible  <bruno@clisp.org>
47937
47938         Don't assume sizeof (long) >= sizeof (void *).
47939         * lib/memcmp.c: Include stdint.h.
47940         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
47941         srcp2 to 'const byte *'.
47942         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
47943         types to uintptr_t.
47944         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
47945         * modules/memcmp (Depends-on): Add stdint.
47946         Reported by Ozkan Sezer <sezeroz@gmail.com>.
47947
47948 2009-01-30  Eric Blake  <ebb9@byu.net>
47949
47950         fix more require-before-expand issues
47951         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
47952         expand, AC_PROG_AWK.
47953         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
47954
47955 2009-01-28  Eric Blake  <ebb9@byu.net>
47956
47957         version-etc: use consistent URL formatting
47958         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
47959         Improve formatting.  Use fputs for string without %.
47960
47961 2009-01-28  Jim Meyering  <meyering@redhat.com>
47962
47963         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
47964         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
47965         "underquoted definition of NAME" from autoconf-2.59.
47966
47967 2009-01-28  Bruno Haible  <bruno@clisp.org>
47968
47969         * doc/gnulib.texi: Add "Obsolete modules" to index.
47970
47971 2009-01-28  Jim Meyering  <meyering@redhat.com>
47972
47973         useless-if-before-free: recognize more variants
47974         * build-aux/useless-if-before-free: Also recognize e.g.,
47975         if (NULL != p) free (p);
47976
47977 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
47978
47979         test-getaddrinfo: skip (don't fail) this test when there's no network
47980         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
47981         on the presumption that it means you lack network access.
47982
47983 2009-01-26  Jim Meyering  <meyering@redhat.com>
47984
47985         fflush: avoid warnings on modern systems
47986         * lib/fflush.c (rpl_fflush): Move declarations of locals,
47987         pos and result, into scopes where they're used.
47988
47989 2009-01-26  Eric Blake  <ebb9@byu.net>
47990
47991         Silence warning reintroduced by recent extensions patch.
47992         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
47993         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
47994         autoconf.
47995
47996         Backport improved autoconf semantics of AC_DEFUN_ONCE.
47997         * m4/00gnulib.m4: New file.
47998         * gnulib-tool (func_get_filelist): Always use it.
47999         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
48000         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
48001
48002 2009-01-25  Bruno Haible  <bruno@clisp.org>
48003
48004         Make test-quotearg work on MacOS X and AIX.
48005         * tests/test-quotearg.sh: New file.
48006         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
48007         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
48008         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
48009         include <libintl.h>.
48010         (fake_locale): Remove variable.
48011         (gettext, dgettext, dcgettext): Remove functions.
48012         (main): Instead of setting a fake locale, set a real locale. Call
48013         textdomain and bindtextdomain.
48014         * modules/quotearg-tests (Files): Add the new files.
48015         (Depends-on): Add gettext, setenv, unsetenv.
48016         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
48017         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
48018         Augment TESTS_ENVIRONMENT.
48019
48020 2009-01-25  Bruno Haible  <bruno@clisp.org>
48021
48022         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
48023         fr_FR.ISO8859-1 locale on MacOS X.
48024         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
48025         ja_JP.eucJP locale on MacOS X.
48026         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
48027         zh_CN.GB18030 locale on MacOS X.
48028
48029 2009-01-25  Bruno Haible  <bruno@clisp.org>
48030
48031         Avoid link errors on MacOS X 10.3.
48032         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
48033         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48034
48035 2009-01-25  Bruno Haible  <bruno@clisp.org>
48036
48037         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
48038         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
48039         * modules/pipe (Files): Remove m4/posix_spawn.m4.
48040         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
48041         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
48042         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
48043         posix_spawnattr_init, posix_spawnattr_setsigmask,
48044         posix_spawnattr_setflags, posix_spawnattr_destroy.
48045
48046         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
48047         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
48048         * modules/execute (Files): Remove m4/posix_spawn.m4.
48049         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
48050         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
48051         posix_spawnattr_init, posix_spawnattr_setsigmask,
48052         posix_spawnattr_setflags, posix_spawnattr_destroy.
48053
48054 2009-01-25  Bruno Haible  <bruno@clisp.org>
48055
48056         * lib/glthread/threadlib.c: Include <stdlib.h>.
48057
48058 2009-01-25  Bruno Haible  <bruno@clisp.org>
48059
48060         * lib/glthread/threadlib.c (dummy): New declaration.
48061
48062 2009-01-25  Bruno Haible  <bruno@clisp.org>
48063
48064         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
48065         multibyte characters also for the GB18030 encoding. Don't crash when
48066         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
48067
48068 2009-01-25  Bruno Haible  <bruno@clisp.org>
48069
48070         Avoid redefining 'struct random_data' on OSF/1 5.1.
48071         * lib/stdlib.in.h: Include <random.h> if it exists.
48072         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
48073         HAVE_RANDOM_H. Include <random.h> when testing whether
48074         'struct random_data' exists.
48075         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
48076
48077 2009-01-25  Bruno Haible  <bruno@clisp.org>
48078
48079         Don't install charset.alias on MacOS X >= 10.3.
48080         * lib/localcharset.c (DARWIN7): New macro.
48081         (get_charset_aliases): Hardcode the result for Darwin7.
48082         * modules/localcharset (install-exec-local): Don't install
48083         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
48084
48085 2009-01-25  Bruno Haible  <bruno@clisp.org>
48086
48087         Don't install charset.alias on mingw and Cygwin.
48088         * modules/localcharset (install-exec-local): Don't install
48089         charset.alias on mingw and Cygwin, if the file does not yet exist.
48090         The result for these platforms is hardcoded in localcharset.c.
48091
48092 2009-01-25  Bruno Haible  <bruno@clisp.org>
48093
48094         Make it possible again to use AC_GNU_SOURCE together with gnulib.
48095         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
48096         before requiring AC_USE_SYSTEM_EXTENSIONS.
48097
48098 2009-01-25  Jim Meyering  <meyering@redhat.com>
48099
48100         c-strtod: avoid warnings
48101         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
48102         "assignment discards qualifiers from pointer target type" warnings.
48103
48104 2009-01-24  Bruno Haible  <bruno@clisp.org>
48105
48106         Add support for non-UTF-8 locales on MacOS X.
48107         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
48108         canonical encodings. For Darwin 7 and newer, don't map traditional
48109         encodings to UTF-8.
48110         Reported by Vincent Lefevre <vincent@vinc17.org>
48111         at <http://savannah.gnu.org/bugs/?25235>.
48112
48113 2009-01-24  Bruno Haible  <bruno@clisp.org>
48114
48115         * doc/gnulib.texi (Obsolete modules): New section.
48116         Reported by Mike Frysinger <vapier@gentoo.org>.
48117
48118 2009-01-24  Bruno Haible  <bruno@clisp.org>
48119
48120         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
48121         (%.dvi): New rule.
48122
48123 2009-01-24  Bruno Haible  <bruno@clisp.org>
48124
48125         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
48126         Reported by Eric Blake.
48127
48128 2009-01-24  Bruno Haible  <bruno@clisp.org>
48129
48130         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
48131         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
48132         Reported by Gary V. Vaughan <gary@gnu.org>.
48133
48134 2009-01-24  Bruno Haible  <bruno@clisp.org>
48135
48136         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
48137
48138 2009-01-23  Bruno Haible  <bruno@clisp.org>
48139
48140         Make c-strtod, c-strtold usable in libraries.
48141         * lib/c-strtod.c: Include string.h instead of xalloc.h.
48142         (C_STRTOD): Call strdup instead of xstrdup.
48143         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
48144         * modules/c-strtold (Depends-on): Likewise.
48145         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
48146         * NEWS: Mention the change.
48147         Reported by Michael Gold <mgold@ncf.ca>.
48148
48149 2009-01-23  Jim Meyering  <meyering@redhat.com>
48150
48151         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
48152         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
48153         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
48154
48155 2009-01-23  Simon Josefsson  <simon@josefsson.org>
48156
48157         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
48158         GNU CoreUtils.
48159         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
48160         * modules/version-etc (Description): Update.
48161
48162 2009-01-22  Bruno Haible  <bruno@clisp.org>
48163
48164         Cache the C locale object.
48165         * lib/c-strtod.c (c_locale_cache): New variable.
48166         (c_locale): New function.
48167         (C_STRTOD): Use it, and don't call freelocale.
48168         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
48169         Suggested by Paolo Bonzini.
48170
48171 2009-01-21  Bruno Haible  <bruno@clisp.org>
48172
48173         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
48174         conditions other than overflow.
48175
48176 2009-01-21  Bruno Haible  <bruno@clisp.org>
48177
48178         * lib/c-strtod.c: Include errno.h.
48179         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
48180         value from STRTOD_L and STRTOD.
48181
48182 2009-01-21  Bruno Haible  <bruno@clisp.org>
48183         and Jim Meyering  <meyering@redhat.com>
48184
48185         nanosleep: skip configure test (fail it) for apple universal builds
48186         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
48187         universal builds, assume that nanosleep does not work.
48188         * modules/nanosleep (Depends-on): Add multiarch.
48189
48190         mktime: skip configure test (fail it) for apple universal builds
48191         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
48192         universal builds, assume that mktime does not work.
48193         * modules/mktime (Depends-on): Add multiarch.
48194
48195 2009-01-21  Eric Blake  <ebb9@byu.net>
48196
48197         multiarch: avoid expand-before-require warning
48198         * modules/multiarch (configure.ac): Require, rather than expand,
48199         gl_MULTIARCH.
48200         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
48201         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
48202         enforce that all clients require it.  Partial reversion of
48203         2008-12-29 patch.
48204
48205         error: avoid expand-before-require warning
48206         * modules/errno (configure.ac): Require, rather than expand,
48207         gl_HEADER_ERRNO_H.
48208         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
48209         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
48210         enforce that all clients require it.
48211
48212         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
48213         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
48214         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
48215         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
48216
48217 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
48218
48219         Revert:
48220         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
48221
48222         regex: do not depend on obsolete modules.
48223         * modules/regex: Remove memcmp and memmove.
48224
48225 2009-01-20  Bruno Haible  <bruno@clisp.org>
48226
48227         Make the 'link' module link on Windows NT 4.
48228         * lib/link.c (_WIN32_WINNT): Don't define.
48229         (CreateHardLinkFuncType): New type.
48230         (CreateHardLinkFunc, initialized): New variables.
48231         (initialize): New function.
48232         (link): Invoke CreateHardLink indirectly through the function pointer.
48233
48234 2009-01-20  Bruno Haible  <bruno@clisp.org>
48235
48236         Fix compilation failure on mingw.
48237         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
48238
48239 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
48240
48241         * doc/c-strtod.texi: Mention a couple of restrictions.
48242
48243 2009-01-20  Jim Meyering  <meyering@redhat.com>
48244
48245         gettimeofday: move more declarations out of functions
48246         * lib/gettimeofday.c: Move extern declarations of tzset and
48247         gmtime out of containing functions.  Prompted by Bruno Haible.
48248
48249 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
48250
48251         regex: do not depend on obsolete modules.
48252         * modules/regex: Remove memcmp and memmove.
48253
48254 2009-01-19  Bruno Haible  <bruno@clisp.org>
48255
48256         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
48257         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
48258         gl_BIGENDIAN, not AC_C_BIGENDIAN.
48259         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
48260         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
48261
48262 2009-01-19  Bruno Haible  <bruno@clisp.org>
48263
48264         * tests/test-link.c: Include <errno.h>.
48265         (main): Exit with code 77 when a hard link cannot be created due to
48266         the file system.
48267         * tests/test-link.sh: Skip test when a hard link cannot be created due
48268         to the file system.
48269         Suggested by Eric Blake.
48270
48271 2009-01-19  Martin Lambers  <marlam@marlam.de>
48272
48273         * modules/link-tests: New file.
48274         * tests/test-link.sh: New file.
48275         * tests/test-link.c: New file.
48276
48277 2009-01-19  Eric Blake  <ebb9@byu.net>
48278
48279         doc: mention another function added in cygwin 1.7.0
48280         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
48281         Another new function in cygwin 1.7.
48282
48283 2009-01-19  Bruno Haible  <bruno@clisp.org>
48284
48285         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
48286         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
48287         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
48288         gl_BIGENDIAN, not AC_C_BIGENDIAN.
48289         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
48290         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
48291         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
48292         * m4/md4.m4 (gl_MD4): Likewise.
48293         * m4/md5.m4 (gl_MD5): Likewise.
48294         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
48295         * m4/sha1.m4 (gl_SHA1): Likewise.
48296         * m4/sha256.m4 (gl_SHA256): Likewise.
48297         * m4/sha512.m4 (gl_SHA512): Likewise.
48298
48299 2009-01-19  Bruno Haible  <bruno@clisp.org>
48300
48301         * modules/uniname/uniname-tests (Depends-on): Add progname.
48302         * tests/uniname/test-uninames.c: Include progname.h.
48303         (main): Call set_program_name.
48304
48305         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
48306         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
48307         (main): Call set_program_name.
48308
48309         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
48310         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
48311         (main): Call set_program_name.
48312
48313         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
48314         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
48315         (main): Call set_program_name.
48316
48317         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
48318         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
48319         (main): Call set_program_name.
48320
48321         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
48322         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
48323         (main): Call set_program_name.
48324
48325         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
48326         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
48327         (main): Call set_program_name.
48328
48329         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
48330         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
48331         (main): Call set_program_name.
48332
48333         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
48334         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
48335         (main): Call set_program_name.
48336
48337 2009-01-19  Eric Blake  <ebb9@byu.net>
48338
48339         test-unistd: test previous patch
48340         * tests/test-unistd.c: Test *_FILENO macros.
48341
48342         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
48343         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
48344         Guarantee a definition.
48345         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
48346         * modules/unistd-safer (Depends-on): Add dependency on unistd.
48347         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
48348         * lib/dup-safer.c (STDERR_FILENO): Likewise.
48349         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
48350         Likewise.
48351         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
48352         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
48353         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
48354         Likewise.
48355         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
48356         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
48357         (STDERR_FILENO): Likewise.
48358         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
48359         (STDERR_FILENO): Likewise.
48360         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
48361         (STDERR_FILENO): Likewise.
48362         Reported by Elbert Pol.
48363
48364 2009-01-19  Eric Blake  <ebb9@byu.net>
48365
48366         doc: mention more functions added in cygwin 1.7.0
48367         * doc/posix-functions/abort.texi (abort): Update wording related
48368         to cygwin.
48369         * doc/posix-functions/daylight.texi (daylight): Likewise.
48370         * doc/posix-functions/optarg.texi (optarg): Likewise.
48371         * doc/posix-functions/optarg.texi (opterr): Likewise.
48372         * doc/posix-functions/optarg.texi (optind): Likewise.
48373         * doc/posix-functions/optarg.texi (optopt): Likewise.
48374         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
48375         worked in 1.5.x, and was withdrawn in 1.7.
48376         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
48377         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
48378         cygwin versions.
48379         * doc/posix-functions/perror.texi (perror): Likewise.
48380         * doc/posix-functions/printf.texi (printf): Likewise.
48381         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
48382         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
48383         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
48384         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
48385         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
48386         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
48387         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
48388         Likewise.
48389         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
48390         Likewise.
48391         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
48392         this function.
48393         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
48394         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
48395         Likewise.
48396         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
48397         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
48398         * doc/posix-functions/confstr.texi (confstr): Likewise.
48399         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
48400         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
48401         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
48402         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
48403         * doc/posix-functions/fputws.texi (fputws): Likewise.
48404         * doc/posix-functions/fwide.texi (fwide): Likewise.
48405         * doc/posix-functions/getwc.texi (getwc): Likewise.
48406         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
48407         * doc/posix-functions/putwc.texi (putwc): Likewise.
48408         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
48409         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
48410         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
48411         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
48412         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
48413         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
48414         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
48415         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
48416         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
48417         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
48418         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
48419
48420 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
48421
48422         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
48423         * lib/ioctl.c: Include <sys/ioctl.h>.
48424
48425 2009-01-19  Simon Josefsson  <simon@josefsson.org>
48426
48427         * modules/getdate-tests (Depends-on): Add progname.
48428         * tests/test-getdate.c: Use progname module, to avoid link errors
48429         on non-glibc systems.
48430
48431 2009-01-18  Simon Josefsson  <simon@josefsson.org>
48432
48433         * modules/filenamecat-tests (Depends-on): Add progname.
48434         * modules/fstrcmp-tests (Depends-on): Likewise.
48435
48436         * tests/test-filenamecat.c: Use progname module, to avoid link
48437         errors on non-glibc systems.
48438         * tests/test-fstrcmp.c: Likewise.
48439
48440 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
48441
48442         gettimeofday: avoid warning: nested extern declaration of 'localtime'
48443         * lib/gettimeofday.c: Move extern declaration out of function.
48444
48445 2009-01-18  Bruno Haible  <bruno@clisp.org>
48446
48447         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
48448         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
48449         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
48450
48451 2009-01-18  Bruno Haible  <bruno@clisp.org>
48452
48453         * lib/strftime.c (MEMPCPY): Remove unused macro.
48454         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
48455
48456 2009-01-18  Martin Lambers  <marlam@marlam.de>
48457
48458         New module 'link'.
48459         * lib/unistd.in.h (link): New declaration.
48460         * lib/link.c: New file.
48461         * m4/link.m4: New file.
48462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
48463         HAVE_LINK.
48464         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
48465         * modules/link: New file.
48466         * doc/posix-functions/link.texi: Mention the new module.
48467
48468 2009-01-18  Bruno Haible  <bruno@clisp.org>
48469
48470         * tests/test-avltree_list.c (main): Call set_program_name.
48471         * tests/test-avltree_oset.c (main): Likewise.
48472         * tests/test-obstack-printf.c: Include progname.h.
48473         (main): Call set_program_name.
48474         * tests/test-quotearg.c: Include progname.h.
48475         (main): Call set_program_name.
48476         * tests/test-xmemdup0.c: Include progname.h.
48477         (main): Call set_program_name.
48478
48479 2009-01-18  Bruno Haible  <bruno@clisp.org>
48480
48481         New module 'alphasort'.
48482         * lib/dirent.in.h (alphasort): New declaration.
48483         * lib/alphasort.c: New file, from glibc with modifications.
48484         * m4/alphasort.m4: New file.
48485         * modules/alphasort: New file.
48486         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
48487         HAVE_ALPHASORT.
48488         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
48489         HAVE_ALPHASORT.
48490         * doc/posix-functions/alphasort.texi: Mention the new module and the
48491         portability problems.
48492
48493 2009-01-18  Bruno Haible  <bruno@clisp.org>
48494
48495         New module 'scandir'.
48496         * lib/dirent.in.h (scandir): New declaration.
48497         * lib/scandir.c: New file, from glibc with modifications.
48498         * m4/scandir.m4: New file.
48499         * modules/scandir: New file.
48500         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
48501         HAVE_SCANDIR.
48502         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
48503         HAVE_SCANDIR.
48504         * doc/posix-functions/scandir.texi: Mention the new module and the
48505         portability problems.
48506
48507 2009-01-17  Bruno Haible  <bruno@clisp.org>
48508
48509         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
48510         Update documentation.
48511         (func_remove_suffix): Escape all dots in the suffix. Update
48512         documentation.
48513         (func_filter_filelist): Update documentation.
48514         Reported by Ralf Wildenhues.
48515
48516 2009-01-17  Bruno Haible  <bruno@clisp.org>
48517
48518         * modules/dprintf-posix-tests: New file.
48519         * tests/test-dprintf-posix.sh: New file.
48520         * tests/test-dprintf-posix.c: New file.
48521
48522         New modules 'dprintf', 'dprintf-posix'.
48523         * lib/stdio.in.h (dprintf): New declaration.
48524         * lib/dprintf.c: New file.
48525         * m4/dprintf.m4: New file.
48526         * m4/dprintf-posix.m4: New file.
48527         * modules/dprintf: New file.
48528         * modules/dprintf-posix: New file.
48529         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
48530         HAVE_DPRINTF, REPLACE_DPRINTF.
48531         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
48532         HAVE_DPRINTF, REPLACE_DPRINTF.
48533         * doc/posix-functions/dprintf.texi: Mention the new modules.
48534
48535 2009-01-17  Bruno Haible  <bruno@clisp.org>
48536
48537         * modules/vdprintf-posix-tests: New file.
48538         * tests/test-vdprintf-posix.sh: New file.
48539         * tests/test-vdprintf-posix.c: New file.
48540
48541         New modules 'vdprintf', 'vdprintf-posix'.
48542         * lib/stdio.in.h (vdprintf): New declaration.
48543         * lib/vdprintf.c: New file.
48544         * m4/vdprintf.m4: New file.
48545         * m4/vdprintf-posix.m4: New file.
48546         * modules/vdprintf: New file.
48547         * modules/vdprintf-posix: New file.
48548         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
48549         HAVE_VDPRINTF, REPLACE_VDPRINTF.
48550         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
48551         HAVE_VDPRINTF, REPLACE_VDPRINTF.
48552         * doc/posix-functions/vdprintf.texi: Mention the new modules.
48553
48554 2009-01-17  Bruno Haible  <bruno@clisp.org>
48555
48556         Fix replacement of fopen on mingw.
48557         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
48558         mingw.
48559
48560 2009-01-17  Bruno Haible  <bruno@clisp.org>
48561
48562         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
48563         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
48564
48565 2009-01-17  Bruno Haible  <bruno@clisp.org>
48566
48567         Avoid test-fflush2.sh failure on mingw.
48568         * tests/test-fflush2.c: Include binary-io.h.
48569         (main): Put standard input into binary mode.
48570         * modules/fflush-tests (Depends-on): Add binary-io.
48571
48572 2009-01-17  Bruno Haible  <bruno@clisp.org>
48573
48574         * lib/wchar.in.h: In another particular situation, include only the
48575         system's <wchar.h> file.
48576         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
48577         Reported by Albert Chin-A-Young <china@thewrittenword.com>
48578         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
48579
48580 2009-01-17  Bruno Haible  <bruno@clisp.org>
48581
48582         Support for stripping executables in --enable-relocatable.
48583         * build-aux/install-reloc: Expect one more argument, or an environment
48584         variable RELOC_STRIP_PROG. If set, strip the destination program and
48585         its wrapper.
48586         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
48587         RELOC_STRIP_PROG.
48588         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
48589         to set RELOCATABLE_STRIP.
48590         * NEWS: Mention the new Makefile requirement.
48591
48592 2009-01-17  Bruno Haible  <bruno@clisp.org>
48593
48594         * build-aux/install-reloc: Remove debugging information left over by
48595         C compiler on MacOS X.
48596
48597 2009-01-17  Bruno Haible  <bruno@clisp.org>
48598
48599         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
48600         * lib/progreloc.c (find_executable): Fix type of pointer passed to
48601         _NSGetExecutablePath.
48602
48603 2009-01-16  Jim Meyering  <meyering@redhat.com>
48604
48605         strerror: avoid warnings about discarding "const"
48606         * lib/strerror.c (rpl_strerror): Instead of returning a const
48607         string from each and every "case", use a variable, and add a single
48608         cast after the switch.
48609
48610 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
48611
48612         * lib/arpa_inet.in.h: Add extern "C" block for C++.
48613
48614 2009-01-16  Bruno Haible  <bruno@clisp.org>
48615
48616         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
48617         array initializer syntax that also works in C++ mode.
48618         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48619
48620 2009-01-16  Jim Meyering  <meyering@redhat.com>
48621
48622         poll: suppress a warning
48623         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
48624         to ignore "...unsigned expression < 0 is always false" warnings.
48625
48626 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
48627
48628         poll: remove declarations of unused variables
48629         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
48630         sockbuf and optlen.
48631
48632 2009-01-15  Bruno Haible  <bruno@clisp.org>
48633
48634         Make fflush-after-ungetc POSIX compliant on BSD systems.
48635         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
48636         (clear_ungetc_buffer): Implement also for other systems.
48637         (rpl_fflush): On glibc systems, invoke
48638         clear_ungetc_buffer_preserving_position. Otherwise, invoke
48639         clear_ungetc_buffer after fetching the stream's position, not before.
48640
48641 2009-01-15  Bruno Haible  <bruno@clisp.org>
48642
48643         Make fflush-after-ungetc POSIX compliant on glibc systems.
48644         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
48645         after ungetc.
48646         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
48647         (rpl_fflush): On glibc systems, simply call the system's fflush
48648         function after clearing the ungetc buffer.
48649         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
48650         Instead, lseek only to the end of file, then use the system's fseeko
48651         for the rest. On glibc systems, reset the EOF indicator bit.
48652
48653 2009-01-15  Jim Meyering  <meyering@redhat.com>
48654
48655         openmp.m4: revert quote-adding change, for portability to older autoconf
48656         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
48657         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
48658         Simon Josefsson noticed the problem when using autoconf-2.61.
48659
48660 2009-01-15  Bruno Haible  <bruno@clisp.org>
48661
48662         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
48663         * tests/test-fflush2.c (ASSERT): Always fail.
48664         (main): Add two tests for fflush() after ungetc(), taking into account
48665         the Austin Group's clarification.
48666         Suggested by Eric Blake.
48667
48668 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
48669
48670         mktime.m4: remove K&R-style function prototypes
48671         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
48672         for the Sun C++ compiler.
48673
48674 2009-01-14  Bruno Haible  <bruno@clisp.org>
48675
48676         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
48677         while including <wchar.h>.
48678         * lib/wchar.in.h: In two particular situations on HP-UX, include only
48679         the system's <wchar.h> file.
48680         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48681
48682 2009-01-14  Bruno Haible  <bruno@clisp.org>
48683
48684         * m4/csharp.m4: Don't mention gettext on the serial number line.
48685         * m4/csharpexec.m4: Likewise.
48686         * m4/eaccess.m4: Likewise.
48687         * m4/javaexec.m4: Likewise.
48688         * m4/sig_atomic_t.m4: Likewise.
48689         * m4/tmpdir.m4: Likewise.
48690         * m4/intldir.m4: Bump gettext version.
48691         * m4/lib-ld.m4: Likewise.
48692
48693 2009-01-14  Bruno Haible  <bruno@clisp.org>
48694
48695         * lib/progname.c (set_program_name): Add more comments.
48696         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
48697
48698 2009-01-14  Simon Josefsson  <simon@josefsson.org>
48699
48700         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
48701         were sys/stat.h does not define it.
48702
48703 2009-01-14  Jim Meyering  <meyering@redhat.com>
48704
48705         many *.m4 files: improve m4 quoting
48706         99% of this change was performed by running the following commands:
48707         git ls-files | grep '\.m4$' | xargs perl -pi \
48708           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
48709           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48710           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48711           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
48712         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
48713         The remainder were to add Copyright dates, increment serial numbers,
48714         undo some changes in comments, exclude m4/intl.m4, and add quotes
48715         around the "1" in ",1" where the unusual spacing prohibited the
48716         above regexps from doing the job.  For more details, see
48717         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
48718         * m4/acl.m4: Modified.
48719         * m4/afs.m4: Likewise.
48720         * m4/alloca.m4: Likewise.
48721         * m4/argp.m4: Likewise.
48722         * m4/argz.m4: Likewise.
48723         * m4/atexit.m4: Likewise.
48724         * m4/bison-i18n.m4: Likewise.
48725         * m4/bison.m4: Likewise.
48726         * m4/byteswap.m4: Likewise.
48727         * m4/c-stack.m4: Likewise.
48728         * m4/c-strtod.m4: Likewise.
48729         * m4/calloc.m4: Likewise.
48730         * m4/canonicalize-lgpl.m4: Likewise.
48731         * m4/chown.m4: Likewise.
48732         * m4/clock_time.m4: Likewise.
48733         * m4/codeset.m4: Likewise.
48734         * m4/copy-file.m4: Likewise.
48735         * m4/csharp.m4: Likewise.
48736         * m4/csharpcomp.m4: Likewise.
48737         * m4/csharpexec.m4: Likewise.
48738         * m4/d-ino.m4: Likewise.
48739         * m4/d-type.m4: Likewise.
48740         * m4/dirfd.m4: Likewise.
48741         * m4/double-slash-root.m4: Likewise.
48742         * m4/eaccess.m4: Likewise.
48743         * m4/eealloc.m4: Likewise.
48744         * m4/environ.m4: Likewise.
48745         * m4/errno_h.m4: Likewise.
48746         * m4/euidaccess.m4: Likewise.
48747         * m4/execute.m4: Likewise.
48748         * m4/fatal-signal.m4: Likewise.
48749         * m4/fchdir.m4: Likewise.
48750         * m4/fcntl_h.m4: Likewise.
48751         * m4/fileblocks.m4: Likewise.
48752         * m4/filenamecat.m4: Likewise.
48753         * m4/findprog.m4: Likewise.
48754         * m4/flexmember.m4: Likewise.
48755         * m4/fnmatch.m4: Likewise.
48756         * m4/fopen.m4: Likewise.
48757         * m4/fpending.m4: Likewise.
48758         * m4/fprintf-posix.m4: Likewise.
48759         * m4/free.m4: Likewise.
48760         * m4/frexp.m4: Likewise.
48761         * m4/frexpl.m4: Likewise.
48762         * m4/fsusage.m4: Likewise.
48763         * m4/ftruncate.m4: Likewise.
48764         * m4/gc-camellia.m4: Likewise.
48765         * m4/gc-random.m4: Likewise.
48766         * m4/gc.m4: Likewise.
48767         * m4/getaddrinfo.m4: Likewise.
48768         * m4/getcwd-abort-bug.m4: Likewise.
48769         * m4/getcwd-path-max.m4: Likewise.
48770         * m4/getdate.m4: Likewise.
48771         * m4/getdomainname.m4: Likewise.
48772         * m4/getgroups.m4: Likewise.
48773         * m4/gethostname.m4: Likewise.
48774         * m4/gethrxtime.m4: Likewise.
48775         * m4/getline.m4: Likewise.
48776         * m4/getloadavg.m4: Likewise.
48777         * m4/getndelim2.m4: Likewise.
48778         * m4/getpass.m4: Likewise.
48779         * m4/gettext.m4: Likewise.
48780         * m4/gettime.m4: Likewise.
48781         * m4/gettimeofday.m4: Likewise.
48782         * m4/gnulib-common.m4: Likewise.
48783         * m4/group-member.m4: Likewise.
48784         * m4/host-os.m4: Likewise.
48785         * m4/iconv.m4: Likewise.
48786         * m4/iconv_open.m4: Likewise.
48787         * m4/inet_ntop.m4: Likewise.
48788         * m4/inet_pton.m4: Likewise.
48789         * m4/inline.m4: Likewise.
48790         * m4/intldir.m4: Likewise.
48791         * m4/intlmacosx.m4: Likewise.
48792         * m4/intmax.m4: Likewise.
48793         * m4/intmax_t.m4: Likewise.
48794         * m4/inttypes.m4: Likewise.
48795         * m4/inttypes_h.m4: Likewise.
48796         * m4/inttypes-pri.m4: Likewise.
48797         * m4/isapipe.m4: Likewise.
48798         * m4/isnand.m4: Likewise.
48799         * m4/isnanf.m4: Likewise.
48800         * m4/isnanl.m4: Likewise.
48801         * m4/javacomp.m4: Likewise.
48802         * m4/javaexec.m4: Likewise.
48803         * m4/jm-winsz1.m4: Likewise.
48804         * m4/jm-winsz2.m4: Likewise.
48805         * m4/lchown.m4: Likewise.
48806         * m4/lcmessage.m4: Likewise.
48807         * m4/ldexpl.m4: Likewise.
48808         * m4/lib-ld.m4: Likewise.
48809         * m4/lib-link.m4: Likewise.
48810         * m4/libsigsegv.m4: Likewise.
48811         * m4/link-follow.m4: Likewise.
48812         * m4/localcharset.m4: Likewise.
48813         * m4/locale-fr.m4: Likewise.
48814         * m4/locale-ja.m4: Likewise.
48815         * m4/locale-tr.m4: Likewise.
48816         * m4/locale-zh.m4: Likewise.
48817         * m4/lock.m4: Likewise.
48818         * m4/longlong.m4: Likewise.
48819         * m4/ls-mntd-fs.m4: Likewise.
48820         * m4/lstat.m4: Likewise.
48821         * m4/malloc.m4: Likewise.
48822         * m4/mathl.m4: Likewise.
48823         * m4/mbrtowc.m4: Likewise.
48824         * m4/mbstate_t.m4: Likewise.
48825         * m4/mbswidth.m4: Likewise.
48826         * m4/memchr.m4: Likewise.
48827         * m4/memcmp.m4: Likewise.
48828         * m4/memcpy.m4: Likewise.
48829         * m4/memmem.m4: Likewise.
48830         * m4/memmove.m4: Likewise.
48831         * m4/mempcpy.m4: Likewise.
48832         * m4/memrchr.m4: Likewise.
48833         * m4/memset.m4: Likewise.
48834         * m4/minmax.m4: Likewise.
48835         * m4/mkdir-slash.m4: Likewise.
48836         * m4/mkdtemp.m4: Likewise.
48837         * m4/mktime.m4: Likewise.
48838         * m4/mmap-anon.m4: Likewise.
48839         * m4/mountlist.m4: Likewise.
48840         * m4/nanosleep.m4: Likewise.
48841         * m4/nls.m4: Likewise.
48842         * m4/nocrash.m4: Likewise.
48843         * m4/open.m4: Likewise.
48844         * m4/openat.m4: Likewise.
48845         * m4/openmp.m4: Likewise.
48846         * m4/pathmax.m4: Likewise.
48847         * m4/perl.m4: Likewise.
48848         * m4/physmem.m4: Likewise.
48849         * m4/pipe.m4: Likewise.
48850         * m4/po.m4: Likewise.
48851         * m4/poll.m4: Likewise.
48852         * m4/posixtm.m4: Likewise.
48853         * m4/posixver.m4: Likewise.
48854         * m4/printf-frexp.m4: Likewise.
48855         * m4/printf-frexpl.m4: Likewise.
48856         * m4/printf-posix.m4: Likewise.
48857         * m4/printf-posix-rpl.m4: Likewise.
48858         * m4/printf.m4: Likewise.
48859         * m4/progtest.m4: Likewise.
48860         * m4/putenv.m4: Likewise.
48861         * m4/readline.m4: Likewise.
48862         * m4/readlink.m4: Likewise.
48863         * m4/readutmp.m4: Likewise.
48864         * m4/realloc.m4: Likewise.
48865         * m4/regex.m4: Likewise.
48866         * m4/relocatable.m4: Likewise.
48867         * m4/relocatable-lib.m4: Likewise.
48868         * m4/rename-dest-slash.m4: Likewise.
48869         * m4/rename.m4: Likewise.
48870         * m4/rmdir-errno.m4: Likewise.
48871         * m4/rmdir.m4: Likewise.
48872         * m4/roundf.m4: Likewise.
48873         * m4/roundl.m4: Likewise.
48874         * m4/rpmatch.m4: Likewise.
48875         * m4/save-cwd.m4: Likewise.
48876         * m4/selinux-selinux-h.m4: Likewise.
48877         * m4/setenv.m4: Likewise.
48878         * m4/settime.m4: Likewise.
48879         * m4/sig2str.m4: Likewise.
48880         * m4/sig_atomic_t.m4: Likewise.
48881         * m4/signalblocking.m4: Likewise.
48882         * m4/signbit.m4: Likewise.
48883         * m4/sigpipe.m4: Likewise.
48884         * m4/sockets.m4: Likewise.
48885         * m4/sockpfaf.m4: Likewise.
48886         * m4/st_dm_mode.m4: Likewise.
48887         * m4/stat-time.m4: Likewise.
48888         * m4/stdbool.m4: Likewise.
48889         * m4/stdint.m4: Likewise.
48890         * m4/stdint_h.m4: Likewise.
48891         * m4/stpcpy.m4: Likewise.
48892         * m4/stpncpy.m4: Likewise.
48893         * m4/strcase.m4: Likewise.
48894         * m4/strchrnul.m4: Likewise.
48895         * m4/strcspn.m4: Likewise.
48896         * m4/strdup.m4: Likewise.
48897         * m4/strftime.m4: Likewise.
48898         * m4/strndup.m4: Likewise.
48899         * m4/strnlen.m4: Likewise.
48900         * m4/strpbrk.m4: Likewise.
48901         * m4/strptime.m4: Likewise.
48902         * m4/strsep.m4: Likewise.
48903         * m4/strtod.m4: Likewise.
48904         * m4/strtoimax.m4: Likewise.
48905         * m4/strtok_r.m4: Likewise.
48906         * m4/strtol.m4: Likewise.
48907         * m4/strtoll.m4: Likewise.
48908         * m4/strtoul.m4: Likewise.
48909         * m4/strtoull.m4: Likewise.
48910         * m4/strtoumax.m4: Likewise.
48911         * m4/strverscmp.m4: Likewise.
48912         * m4/threadlib.m4: Likewise.
48913         * m4/timegm.m4: Likewise.
48914         * m4/tm_gmtoff.m4: Likewise.
48915         * m4/tmpdir.m4: Likewise.
48916         * m4/tmpfile.m4: Likewise.
48917         * m4/tzset.m4: Likewise.
48918         * m4/uintmax_t.m4: Likewise.
48919         * m4/unlinkdir.m4: Likewise.
48920         * m4/unlocked-io.m4: Likewise.
48921         * m4/uptime.m4: Likewise.
48922         * m4/userspec.m4: Likewise.
48923         * m4/utimbuf.m4: Likewise.
48924         * m4/utime.m4: Likewise.
48925         * m4/utimes-null.m4: Likewise.
48926         * m4/utimes.m4: Likewise.
48927         * m4/vararrays.m4: Likewise.
48928         * m4/vasnprintf.m4: Likewise.
48929         * m4/vfprintf-posix.m4: Likewise.
48930         * m4/vprintf-posix.m4: Likewise.
48931         * m4/wait-process.m4: Likewise.
48932         * m4/wchar_t.m4: Likewise.
48933         * m4/wint_t.m4: Likewise.
48934         * m4/write-any-file.m4: Likewise.
48935         * m4/yield.m4: Likewise.
48936
48937 2009-01-13  Bruno Haible  <bruno@clisp.org>
48938
48939         Avoid test-copy-file.sh failures when ACL support insufficient.
48940         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
48941         TESTS_ENVIRONMENT.
48942         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
48943         Reported by Jim Meyering.
48944
48945 2009-01-13  Bruno Haible  <bruno@clisp.org>
48946
48947         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
48948         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
48949         * modules/unistdio/u8-printf-parse (Files): Likewise.
48950         * modules/unistdio/u32-printf-parse (Files): Likewise.
48951         * modules/unistdio/ulc-printf-parse (Files): Likewise.
48952
48953 2009-01-13  Simon Josefsson  <simon@josefsson.org>
48954
48955         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
48956         and m4/inttypes_h.m4 too.
48957
48958 2009-01-12  Eric Blake  <ebb9@byu.net>
48959
48960         tests: IRIX 6.2 cc can't compile -0.0 into .data
48961         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
48962         rather than at compile-time.
48963         * tests/test-floorl.c (minus_zero): Likewise.
48964         * tests/test-frexpl.c (minus_zero): Likewise.
48965         * tests/test-isnan.c (minus_zerol): Likewise.
48966         * tests/test-isnanl.h (minus_zero): Likewise.
48967         * tests/test-ldexpl.c (minus_zero): Likewise.
48968         * tests/test-roundl.c (minus_zero): Likewise.
48969         * tests/test-signbit.c (minus_zerol): Likewise.
48970         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
48971         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
48972         * tests/test-truncl.c (minus_zero): Likewise.
48973         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
48974         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
48975         Reported by Tom G. Christensen and Nelson H. F. Beebe.
48976
48977 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48978
48979         regex: fix glibc bug 9697
48980         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
48981         handling.
48982
48983 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48984
48985         regex: fix glibc bug 697
48986         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
48987         being NULL also if there are no backreferences.
48988
48989 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48990
48991         regex: merge glibc changes
48992         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
48993         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
48994         re_string_skip_chars, re_string_reconstruct): Likewise.
48995         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
48996
48997 2009-01-07  Jim Meyering  <meyering@redhat.com>
48998
48999         poll: filter through cppi
49000         * lib/poll.c: Indent cpp directives to reflect nesting.
49001
49002 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
49003
49004         poll: don't return uninitialized
49005         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
49006
49007 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
49008
49009         avoid compile failure on AIX 6.1
49010         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
49011         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
49012
49013 2009-01-04  Jim Meyering  <meyering@redhat.com>
49014
49015         remove duplicate inclusion of <stdio.h>
49016         * tests/test-fprintf-posix.c: Likewise.
49017         * tests/test-printf-posix.c: Likewise.
49018         * tests/test-snprintf-posix.c: Likewise.
49019         * tests/test-sprintf-posix.c: Likewise.
49020         * tests/test-vasprintf-posix.c: Likewise.
49021         * tests/test-vfprintf-posix.c: Likewise.
49022         * tests/test-vprintf-posix.c: Likewise.
49023         * tests/test-vsnprintf-posix.c: Likewise.
49024         * tests/test-vsprintf-posix.c: Likewise.
49025
49026 2009-01-03  Jim Meyering  <meyering@redhat.com>
49027
49028         gnulib-tool: fix sed-based filtering
49029         * gnulib-tool (func_filter_filelist): Remove extra backslash
49030         in sed_fff_filter definition.
49031
49032 2009-01-02  Jim Meyering  <meyering@redhat.com>
49033
49034         strftime: avoid compilation failure on Solaris 2.6
49035         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
49036         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
49037         Don't #define mbrlen or mbsinit, since now they're guaranteed to
49038         be available.  Reported by Tom G. Christensen.  Details in
49039         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
49040
49041 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49042             Bruno Haible  <bruno@clisp.org>
49043
49044         Speed up gnulib-tool by doing more string processing through shell
49045         built-ins.
49046         * gnulib-tool (fast_func_append): New variable.
49047         (func_remove_prefix, func_remove_suffix): New functions.
49048         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
49049         (func_filter_filelist): New function.
49050         (func_get_dependencies): Use func_remove_suffix instead of sed.
49051         (func_get_automake_snippet): Use func_filter_filelist instead of a
49052         subshell and sed invocation.
49053
49054 2009-01-01  Bruno Haible  <bruno@clisp.org>
49055
49056         Fix a security bug.
49057         * gnulib-tool (func_import, import, update): Don't allow the characters
49058         '"', '$', '`', '\' in macro arguments that become part of commands that
49059         are evaluated.
49060
49061 2009-01-01  Bruno Haible  <bruno@clisp.org>
49062
49063         * gnulib-tool (func_reset_sigpipe): Add more comments.
49064
49065 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49066
49067         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
49068         func_emit_tests_Makefile_am, func_import): Abort loops early if we
49069         already know the answer.
49070
49071 2009-01-01  Jim Meyering  <meyering@redhat.com>
49072
49073         * lib/version-etc.c (version_etc_va): Update copyright year.
49074
49075 2008-12-30  Bruno Haible  <bruno@clisp.org>
49076
49077         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
49078         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
49079         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
49080
49081 2008-12-29  Eric Blake  <ebb9@byu.net>
49082
49083         multiarch: avoid autoconf AC_REQUIRE bug
49084         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
49085         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
49086         2.63 and older.
49087         Reported by Bruno Haible, and analyzed in
49088         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
49089
49090 2008-12-29  Bruno Haible  <bruno@clisp.org>
49091
49092         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
49093         files in subdirectories correctly.
49094         Reported by Ralf Wildenhues.
49095
49096 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49097
49098         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
49099         rather than 'join FILE -', for Solaris join.
49100
49101 2008-12-29  Bruno Haible  <bruno@clisp.org>
49102
49103         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
49104         quoting.
49105         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
49106         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
49107         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
49108         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
49109         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
49110         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
49111         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
49112         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
49113         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
49114         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
49115         * m4/nls.m4 (AM_NLS): Likewise.
49116         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
49117         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
49118         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
49119         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
49120         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
49121         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49122         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
49123         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
49124         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
49125         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
49126         * m4/xsize.m4 (gl_XSIZE): Likewise.
49127         Suggested by Jim Meyering.
49128
49129 2008-11-17  Bruce Korb  <bkorb@gnu.org>
49130
49131         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
49132         * lib/parse-duration.c: use a switch instead of cascading if's.
49133
49134 2008-12-29  Eric Blake  <ebb9@byu.net>
49135
49136         wchar.h: supply WEOF on Irix 5.3
49137         * lib/wchar.in.h (wint_t): Also supply WEOF.
49138         * lib/wctype.in.h (wint_t): Likewise.
49139         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
49140         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
49141         Reported by Tom G. Christensen.
49142
49143 2008-12-26  Bruno Haible  <bruno@clisp.org>
49144
49145         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
49146         i486, i586, i686.
49147
49148 2008-12-26  Bruno Haible  <bruno@clisp.org>
49149
49150         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
49151
49152 2008-12-26  Bruno Haible  <bruno@clisp.org>
49153
49154         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
49155         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
49156         not __STDC_CONSTANT_MACROS.
49157         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49158
49159 2008-12-25  Bruno Haible  <bruno@clisp.org>
49160
49161         Add support for universal builds to vasnprintf.
49162         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
49163         universal builds, guess no.
49164         * modules/vasnprintf-posix (Depends-on): Add multiarch.
49165         * modules/vasprintf-posix (Depends-on): Likewise.
49166         * modules/fprintf-posix (Depends-on): Likewise.
49167         * modules/vfprintf-posix (Depends-on): Likewise.
49168         * modules/snprintf-posix (Depends-on): Likewise.
49169         * modules/vsnprintf-posix (Depends-on): Likewise.
49170         * modules/sprintf-posix (Depends-on): Likewise.
49171         * modules/vsprintf-posix (Depends-on): Likewise.
49172         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49173         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49174         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49175         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49176         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49177         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49178         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49179
49180         Add support for universal builds to <inttypes.h>.
49181         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
49182         _SCNu64_PREFIX): In Apple
49183         universal builds, define directly, using _LP64.
49184         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
49185         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
49186         * modules/inttypes (Depends-on): Add multiarch.
49187         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
49188
49189         Add support for universal builds to <stdint.h>.
49190         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
49191         universal builds, define directly, using _LP64.
49192         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
49193         Apple universal builds, don't test for the size and suffix of ptrdiff_t
49194         and size_t.
49195         * modules/stdint (Depends-on): Add multiarch.
49196         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
49197
49198         New module 'multiarch'.
49199         * modules/multiarch: New file.
49200         * m4/multiarch.m4: New file.
49201
49202 2008-12-25  Bruno Haible  <bruno@clisp.org>
49203
49204         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
49205
49206 2008-12-25  Bruno Haible  <bruno@clisp.org>
49207
49208         * modules/btowc (License): Relicense under LGPLv2+.
49209         * modules/mbsinit (License): Likewise.
49210         * modules/mbrtowc (License): Likewise.
49211         * modules/wcrtomb (License): Likewise.
49212         * modules/streq (License): Likewise.
49213         Reported by David Lutterkort <lutter@redhat.com>.
49214
49215 2008-12-23  Bruno Haible  <bruno@clisp.org>
49216
49217         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
49218
49219 2008-12-23  Bruno Haible  <bruno@clisp.org>
49220
49221         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
49222         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
49223         GETADDRINFO_LIB, not in LIBS.
49224         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
49225         * modules/canon-host (Link): Likewise.
49226         * NEWS: Mention the change.
49227         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
49228         GETADDRINFO_LIB.
49229
49230 2008-12-22  Bruno Haible  <bruno@clisp.org>
49231
49232         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
49233         * doc/posix-functions/iswalpha_l.texi: Likewise.
49234         * doc/posix-functions/iswblank_l.texi: Likewise.
49235         * doc/posix-functions/iswcntrl_l.texi: Likewise.
49236         * doc/posix-functions/iswctype_l.texi: Likewise.
49237         * doc/posix-functions/iswdigit_l.texi: Likewise.
49238         * doc/posix-functions/iswgraph_l.texi: Likewise.
49239         * doc/posix-functions/iswlower_l.texi: Likewise.
49240         * doc/posix-functions/iswprint_l.texi: Likewise.
49241         * doc/posix-functions/iswpunct_l.texi: Likewise.
49242         * doc/posix-functions/iswspace_l.texi: Likewise.
49243         * doc/posix-functions/iswupper_l.texi: Likewise.
49244         * doc/posix-functions/iswxdigit_l.texi: Likewise.
49245         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
49246         * doc/posix-functions/open_wmemstream.texi: Likewise.
49247         * doc/posix-functions/swscanf.texi: Likewise.
49248         * doc/posix-functions/towctrans_l.texi: Likewise.
49249         * doc/posix-functions/towlower.texi: Likewise.
49250         * doc/posix-functions/towlower_l.texi: Likewise.
49251         * doc/posix-functions/towupper.texi: Likewise.
49252         * doc/posix-functions/towupper_l.texi: Likewise.
49253         * doc/posix-functions/vfwprintf.texi: Likewise.
49254         * doc/posix-functions/vfwscanf.texi: Likewise.
49255         * doc/posix-functions/vswscanf.texi: Likewise.
49256         * doc/posix-functions/vwprintf.texi: Likewise.
49257         * doc/posix-functions/vwscanf.texi: Likewise.
49258         * doc/posix-functions/wcpcpy.texi: Likewise.
49259         * doc/posix-functions/wcpncpy.texi: Likewise.
49260         * doc/posix-functions/wcscasecmp.texi: Likewise.
49261         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
49262         * doc/posix-functions/wcscoll_l.texi: Likewise.
49263         * doc/posix-functions/wcsdup.texi: Likewise.
49264         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49265         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
49266         * doc/posix-functions/wcsnlen.texi: Likewise.
49267         * doc/posix-functions/wcsnrtombs.texi: Likewise.
49268         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
49269         * doc/posix-functions/wctrans_l.texi: Likewise.
49270         * doc/posix-functions/wctype_l.texi: Likewise.
49271         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
49272         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
49273         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
49274         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
49275         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
49276         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
49277         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
49278         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
49279         * doc/glibc-functions/wcschrnul.texi: Likewise.
49280         * doc/glibc-functions/wcsftime_l.texi: Likewise.
49281         * doc/glibc-functions/wcstod_l.texi: Likewise.
49282         * doc/glibc-functions/wcstof_l.texi: Likewise.
49283         * doc/glibc-functions/wcstol_l.texi: Likewise.
49284         * doc/glibc-functions/wcstold_l.texi: Likewise.
49285         * doc/glibc-functions/wcstoll_l.texi: Likewise.
49286         * doc/glibc-functions/wcstoq.texi: Likewise.
49287         * doc/glibc-functions/wcstoul_l.texi: Likewise.
49288         * doc/glibc-functions/wcstoull_l.texi: Likewise.
49289         * doc/glibc-functions/wcstouq.texi: Likewise.
49290         * doc/glibc-functions/wmempcpy.texi: Likewise.
49291
49292 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
49293             Eric Blake  <ebb9@byu.net>
49294             Paolo Bonzini  <bonzini@gnu.org>
49295             Bruno Haible  <bruno@clisp.org>
49296
49297         Make c-stack work on Haiku.
49298         * lib/c-stack.c (SA_ONSTACK): Define fallback.
49299         (c_stack_action): Use SA_ONSTACK flag.
49300
49301 2008-12-22  Bruno Haible  <bruno@clisp.org>
49302
49303         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
49304
49305 2008-12-22  Bruno Haible  <bruno@clisp.org>
49306
49307         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
49308         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
49309         being overridden.
49310         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
49311         New macros.
49312         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
49313         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
49314         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
49315         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
49316
49317 2008-12-22  Bruno Haible  <bruno@clisp.org>
49318
49319         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
49320         from test code.
49321
49322 2008-12-22  Eric Blake  <ebb9@byu.net>
49323
49324         Avoid gcc warnings on cygwin.
49325         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
49326         Avoid unused variable.
49327         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
49328         Likewise.
49329
49330 2008-12-22  Bruno Haible  <bruno@clisp.org>
49331
49332         Remove HAVE_MBRTOWC conditionals.
49333         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
49334         (mbscasecmp): Assume mbrtowc function.
49335         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
49336         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
49337         * lib/mbschr.c: Include mbuiter.h unconditionally.
49338         (mbschr): Assume mbrtowc function.
49339         * lib/mbscspn.c: Include mbuiter.h unconditionally.
49340         (mbscspn): Assume mbrtowc function.
49341         * lib/mbslen.c: Include mbuiter.h unconditionally.
49342         (mbslen): Assume mbrtowc function.
49343         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
49344         (mbsncasecmp): Assume mbrtowc function.
49345         * lib/mbsnlen.c: Include mbiter.h unconditionally.
49346         (mbsnlen): Assume mbrtowc function.
49347         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
49348         (mbspbrk): Assume mbrtowc function.
49349         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
49350         (mbspcasecmp): Assume mbrtowc function.
49351         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
49352         (mbsrchr): Assume mbrtowc function.
49353         * lib/mbssep.c: Include mbuiter.h unconditionally.
49354         (mbssep): Assume mbrtowc function.
49355         * lib/mbsspn.c: Include mbuiter.h unconditionally.
49356         (mbsspn): Assume mbrtowc function.
49357         * lib/mbsstr.c: Include mbuiter.h unconditionally.
49358         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
49359         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
49360         (mbstok_r): Assume mbrtowc function.
49361         * lib/propername.c: Include mbuiter.h unconditionally.
49362         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
49363         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
49364         (trim2): Assume mbrtowc function.
49365         * lib/mbswidth.c (mbsinit): Remove fallback definition.
49366         (mbsnwidth): Assume mbrtowc function.
49367         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
49368         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
49369         fallback definitions.
49370         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
49371
49372 2008-12-22  Bruno Haible  <bruno@clisp.org>
49373
49374         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
49375
49376 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
49377
49378         * modules/regex: Request emulations for the mb*/wc* functions we need.
49379         * m4/regex.m4: Don't look for those functions here.
49380         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
49381
49382 2008-12-22  Bruno Haible  <bruno@clisp.org>
49383
49384         * modules/fnmatch (Depends-on): Remove duplicated dependency.
49385
49386 2008-12-21  Bruno Haible  <bruno@clisp.org>
49387
49388         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
49389         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
49390         (Include): Remove conditionalization.
49391         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
49392         (Include): Remove conditionalization.
49393         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
49394         (Include): Remove conditionalization.
49395         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
49396         * m4/mbfile.m4 (gl_MBFILE): Likewise.
49397         * NEWS: Mention the change.
49398         Reported by Alan Hourihane <alanh@fairlite.co.uk>
49399         via Sergey Poznyakoff <gray@gnu.org.ua>.
49400
49401 2008-12-21  Bruno Haible  <bruno@clisp.org>
49402
49403         * MODULES.html.sh (Extended multibyte and wide character utilities
49404         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
49405         wcrtomb, wcsrtombs.
49406         (Support for systems lacking POSIX:2008): Add accept, bind, close,
49407         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
49408         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
49409         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
49410
49411 2008-12-21  Bruno Haible  <bruno@clisp.org>
49412
49413         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
49414
49415 2008-12-21  Bruno Haible  <bruno@clisp.org>
49416
49417         * modules/wcsnrtombs-tests: New file.
49418         * tests/test-wcsnrtombs1.sh: New file.
49419         * tests/test-wcsnrtombs2.sh: New file.
49420         * tests/test-wcsnrtombs3.sh: New file.
49421         * tests/test-wcsnrtombs4.sh: New file.
49422         * tests/test-wcsnrtombs.c: New file.
49423
49424         New module 'wcsnrtombs'.
49425         * lib/wchar.in.h (wcsnrtombs): New declaration.
49426         * lib/wcsnrtombs.c: New file.
49427         * lib/wcsrtombs-state.c: New file.
49428         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
49429         (internal_state): Remove variable.
49430         * m4/wcsnrtombs.m4: New file.
49431         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
49432         compilation units.
49433         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
49434         HAVE_WCSNRTOMBS.
49435         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
49436         HAVE_WCSNRTOMBS.
49437         * modules/wcsnrtombs: New file.
49438         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
49439         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
49440
49441 2008-12-21  Bruno Haible  <bruno@clisp.org>
49442
49443         * modules/wcsrtombs-tests: New file.
49444         * tests/test-wcsrtombs1.sh: New file.
49445         * tests/test-wcsrtombs2.sh: New file.
49446         * tests/test-wcsrtombs3.sh: New file.
49447         * tests/test-wcsrtombs4.sh: New file.
49448         * tests/test-wcsrtombs.c: New file.
49449
49450         New module 'wcsrtombs'.
49451         * lib/wchar.in.h (wcsrtombs): New declaration.
49452         * lib/wcsrtombs.c: New file.
49453         * m4/wcsrtombs.m4: New file.
49454         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
49455         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
49456         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
49457         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
49458         * modules/wcsrtombs: New file.
49459         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
49460         bugs.
49461
49462 2008-12-21  Bruno Haible  <bruno@clisp.org>
49463
49464         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
49465         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
49466         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
49467         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
49468         if not correct.
49469         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
49470         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
49471         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49472         m4/locale-zh.m4, m4/codeset.m4.
49473         * doc/posix-functions/wcrtomb.texi: Document the bug.
49474
49475 2008-12-21  Bruno Haible  <bruno@clisp.org>
49476
49477         Work around a btowc() bug on IRIX 6.5.
49478         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
49479         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
49480         REPLACE_WTOBC if not.
49481         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
49482         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
49483         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
49484
49485 2008-12-21  Bruno Haible  <bruno@clisp.org>
49486
49487         * modules/wcrtomb-tests: New file.
49488         * tests/test-wcrtomb.sh: New file.
49489         * tests/test-wcrtomb.c: New file.
49490
49491         New module 'wcrtomb'.
49492         * lib/wchar.in.h (wcrtomb): New declaration.
49493         * lib/wcrtomb.c: New file.
49494         * m4/wcrtomb.m4: New file.
49495         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
49496         HAVE_WCRTOMB.
49497         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
49498         HAVE_WCRTOMB.
49499         * modules/wcrtomb: New file.
49500         * doc/posix-functions/wcrtomb.texi: Mention the new module.
49501
49502 2008-12-21  Bruno Haible  <bruno@clisp.org>
49503
49504         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
49505         * modules/mbsrtowcs (Files): Likewise.
49506         * modules/wctob (Files): Likewise.
49507         * modules/c-strcase-tests (Files): Likewise.
49508         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
49509         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
49510         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
49511         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
49512         * modules/vasnprintf-posix-tests (Files): Likewise.
49513
49514 2008-12-21  William Pursell  <bill.pursell@gmail.com>
49515
49516         gitlog-to-changelog: pass all command-line arguments to git-log
49517         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
49518         it is sometimes convenient to filter the commits in various ways.
49519         gitlog-to-changelog only allows --since to specify a start date,
49520         but git-log itself supports many other filtering mechanisms.
49521         At the moment, I want to filter by branch name.  Rather than
49522         adding a --branch option to gitlog-to-changelog, it seems more
49523         flexible to simply pass all options directly to git-log and let
49524         git do the work.  Notice that this effectively makes --since a
49525         redundant option for gitlog-to-changelog, but removing it would
49526         require current usage to change since calls would then require
49527         an additional '--'.
49528
49529 2008-12-21  Bruno Haible  <bruno@clisp.org>
49530
49531         * modules/mbsnrtowcs-tests: New file.
49532         * tests/test-mbsnrtowcs1.sh: New file.
49533         * tests/test-mbsnrtowcs2.sh: New file.
49534         * tests/test-mbsnrtowcs3.sh: New file.
49535         * tests/test-mbsnrtowcs4.sh: New file.
49536         * tests/test-mbsnrtowcs.c: New file.
49537
49538         New module 'mbsnrtowcs'.
49539         * lib/wchar.in.h (mbsnrtowcs): New declaration.
49540         * lib/mbsnrtowcs.c: New file.
49541         * lib/mbsrtowcs-state.c: New file.
49542         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
49543         (internal_state): Remove variable.
49544         * m4/mbsnrtowcs.m4: New file.
49545         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
49546         compilation units.
49547         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
49548         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
49549         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
49550         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
49551         * modules/mbsnrtowcs: New file.
49552         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
49553         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
49554         portability problem.
49555
49556 2008-12-21  Bruno Haible  <bruno@clisp.org>
49557
49558         Work around mbsrtowcs bug.
49559         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
49560         (gl_FUNC_MBSRTOWCS): Invoke it.
49561         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49562         m4/locale-zh.m4.
49563         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
49564
49565 2008-12-21  Bruno Haible  <bruno@clisp.org>
49566
49567         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
49568
49569 2008-12-21  Bruno Haible  <bruno@clisp.org>
49570
49571         Update doc for AIX.
49572         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
49573         16-bit wchar_t type.
49574         * doc/posix-functions/btowc.texi: Likewise.
49575         * doc/posix-functions/fgetwc.texi: Likewise.
49576         * doc/posix-functions/fgetws.texi: Likewise.
49577         * doc/posix-functions/fputwc.texi: Likewise.
49578         * doc/posix-functions/fputws.texi: Likewise.
49579         * doc/posix-functions/fwide.texi: Likewise.
49580         * doc/posix-functions/fwprintf.texi: Likewise.
49581         * doc/posix-functions/fwscanf.texi: Likewise.
49582         * doc/posix-functions/getwchar.texi: Likewise.
49583         * doc/posix-functions/getwc.texi: Likewise.
49584         * doc/posix-functions/iswalnum.texi: Likewise.
49585         * doc/posix-functions/iswalpha.texi: Likewise.
49586         * doc/posix-functions/iswblank.texi: Likewise.
49587         * doc/posix-functions/iswcntrl.texi: Likewise.
49588         * doc/posix-functions/iswctype.texi: Likewise.
49589         * doc/posix-functions/iswdigit.texi: Likewise.
49590         * doc/posix-functions/iswgraph.texi: Likewise.
49591         * doc/posix-functions/iswlower.texi: Likewise.
49592         * doc/posix-functions/iswprint.texi: Likewise.
49593         * doc/posix-functions/iswpunct.texi: Likewise.
49594         * doc/posix-functions/iswspace.texi: Likewise.
49595         * doc/posix-functions/iswupper.texi: Likewise.
49596         * doc/posix-functions/iswxdigit.texi: Likewise.
49597         * doc/posix-functions/mbrtowc.texi: Likewise.
49598         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49599         * doc/posix-functions/mbstowcs.texi: Likewise.
49600         * doc/posix-functions/mbtowc.texi: Likewise.
49601         * doc/posix-functions/putwchar.texi: Likewise.
49602         * doc/posix-functions/putwc.texi: Likewise.
49603         * doc/posix-functions/swprintf.texi: Likewise.
49604         * doc/posix-functions/tolower.texi: Likewise.
49605         * doc/posix-functions/toupper.texi: Likewise.
49606         * doc/posix-functions/towctrans.texi: Likewise.
49607         * doc/posix-functions/ungetwc.texi: Likewise.
49608         * doc/posix-functions/vswprintf.texi: Likewise.
49609         * doc/posix-functions/wcrtomb.texi: Likewise.
49610         * doc/posix-functions/wcscat.texi: Likewise.
49611         * doc/posix-functions/wcschr.texi: Likewise.
49612         * doc/posix-functions/wcscmp.texi: Likewise.
49613         * doc/posix-functions/wcscoll.texi: Likewise.
49614         * doc/posix-functions/wcscpy.texi: Likewise.
49615         * doc/posix-functions/wcscspn.texi: Likewise.
49616         * doc/posix-functions/wcsftime.texi: Likewise.
49617         * doc/posix-functions/wcslen.texi: Likewise.
49618         * doc/posix-functions/wcsncat.texi: Likewise.
49619         * doc/posix-functions/wcsncmp.texi: Likewise.
49620         * doc/posix-functions/wcsncpy.texi: Likewise.
49621         * doc/posix-functions/wcspbrk.texi: Likewise.
49622         * doc/posix-functions/wcsrchr.texi: Likewise.
49623         * doc/posix-functions/wcsrtombs.texi: Likewise.
49624         * doc/posix-functions/wcsspn.texi: Likewise.
49625         * doc/posix-functions/wcsstr.texi: Likewise.
49626         * doc/posix-functions/wcstod.texi: Likewise.
49627         * doc/posix-functions/wcstof.texi: Likewise.
49628         * doc/posix-functions/wcstoimax.texi: Likewise.
49629         * doc/posix-functions/wcstok.texi: Likewise.
49630         * doc/posix-functions/wcstold.texi: Likewise.
49631         * doc/posix-functions/wcstoll.texi: Likewise.
49632         * doc/posix-functions/wcstol.texi: Likewise.
49633         * doc/posix-functions/wcstombs.texi: Likewise.
49634         * doc/posix-functions/wcstoull.texi: Likewise.
49635         * doc/posix-functions/wcstoul.texi: Likewise.
49636         * doc/posix-functions/wcstoumax.texi: Likewise.
49637         * doc/posix-functions/wcswidth.texi: Likewise.
49638         * doc/posix-functions/wcsxfrm.texi: Likewise.
49639         * doc/posix-functions/wctob.texi: Likewise.
49640         * doc/posix-functions/wctomb.texi: Likewise.
49641         * doc/posix-functions/wctrans.texi: Likewise.
49642         * doc/posix-functions/wctype.texi: Likewise.
49643         * doc/posix-functions/wcwidth.texi: Likewise.
49644         * doc/posix-functions/wmemchr.texi: Likewise.
49645         * doc/posix-functions/wmemcmp.texi: Likewise.
49646         * doc/posix-functions/wmemcpy.texi: Likewise.
49647         * doc/posix-functions/wmemmove.texi: Likewise.
49648         * doc/posix-functions/wmemset.texi: Likewise.
49649         * doc/posix-functions/wprintf.texi: Likewise.
49650         * doc/posix-functions/wscanf.texi: Likewise.
49651
49652 2008-12-21  Bruno Haible  <bruno@clisp.org>
49653
49654         Update doc for HP-UX 11.11.
49655         * doc/posix-functions/btowc.texi: Clarify that the function is missing
49656         in HP-UX version 11.00, not in all versions of HP-UX 11.
49657         * doc/posix-functions/fwide.texi: Likewise.
49658         * doc/posix-functions/fwprintf.texi: Likewise.
49659         * doc/posix-functions/fwscanf.texi: Likewise.
49660         * doc/posix-functions/inet_ntop.texi: Likewise.
49661         * doc/posix-functions/inet_pton.texi: Likewise.
49662         * doc/posix-functions/mbrlen.texi: Likewise.
49663         * doc/posix-functions/mbrtowc.texi: Likewise.
49664         * doc/posix-functions/mbsinit.texi: Likewise.
49665         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49666         * doc/posix-functions/swprintf.texi: Likewise.
49667         * doc/posix-functions/swscanf.texi: Likewise.
49668         * doc/posix-functions/towctrans.texi: Likewise.
49669         * doc/posix-functions/vfwprintf.texi: Likewise.
49670         * doc/posix-functions/vswprintf.texi: Likewise.
49671         * doc/posix-functions/vwprintf.texi: Likewise.
49672         * doc/posix-functions/wcrtomb.texi: Likewise.
49673         * doc/posix-functions/wcsrtombs.texi: Likewise.
49674         * doc/posix-functions/wcsstr.texi: Likewise.
49675         * doc/posix-functions/wctob.texi: Likewise.
49676         * doc/posix-functions/wctrans.texi: Likewise.
49677         * doc/posix-functions/wmemchr.texi: Likewise.
49678         * doc/posix-functions/wmemcmp.texi: Likewise.
49679         * doc/posix-functions/wmemcpy.texi: Likewise.
49680         * doc/posix-functions/wmemmove.texi: Likewise.
49681         * doc/posix-functions/wmemset.texi: Likewise.
49682         * doc/posix-functions/wprintf.texi: Likewise.
49683         * doc/posix-functions/wscanf.texi: Likewise.
49684
49685 2008-12-21  Bruno Haible  <bruno@clisp.org>
49686
49687         Work around a portability problem.
49688         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
49689         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
49690
49691 2008-12-20  Bruno Haible  <bruno@clisp.org>
49692
49693         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
49694         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
49695         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
49696         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
49697         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
49698
49699         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
49700         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
49701         set.
49702         (GNULIB_defined_mbstate_t): New macro.
49703         (mbsinit): Redefine if REPLACE_MBSINIT is set.
49704         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
49705         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
49706         reuses the system's mbrtowc function but works around the bugs.
49707         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
49708         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
49709         macros.
49710         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
49711         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
49712         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
49713         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
49714         REPLACE_MBSINIT if mbsinit needs to be overridden.
49715         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
49716         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49717         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
49718         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49719         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49720         m4/locale-zh.m4.
49721         (Depends): Add mbsinit.
49722         * modules/mbsinit (Depends): Add mbrtowc.
49723         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
49724
49725 2008-12-20  Bruno Haible  <bruno@clisp.org>
49726
49727         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
49728         so that there are no conversion errors on AIX.
49729         * tests/test-mbsrtowcs.c (main): LIkewise.
49730
49731 2008-12-20  Bruno Haible  <bruno@clisp.org>
49732
49733         Work around wctob bug on Solaris <= 9.
49734         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
49735         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
49736         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
49737         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
49738         * modules/wctob (Files): Add m4/locale-fr.m4.
49739         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
49740
49741 2008-12-20  Bruno Haible  <bruno@clisp.org>
49742
49743         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
49744         /dev/null.
49745         * tests/test-select-in.sh: Likewise.
49746         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49747
49748 2008-12-20  Bruno Haible  <bruno@clisp.org>
49749
49750         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
49751         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
49752         Cygwin 1.5.x.
49753
49754 2008-12-20  Bruno Haible  <bruno@clisp.org>
49755
49756         Ensure mbstate_t is defined on HP-UX 11.11.
49757         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
49758         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
49759         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
49760         AC_USE_SYSTEM_EXTENSIONS.
49761         * modules/fnmatch (Depends-on): Add extensions.
49762         * modules/mbrlen (Depends-on): Likewise.
49763         * modules/mbrtowc (Depends-on): Likewise.
49764         * modules/mbsinit (Depends-on): Likewise.
49765         * modules/mbsrtowcs (Depends-on): Likewise.
49766         * modules/mbswidth (Depends-on): Likewise.
49767         * modules/quotearg (Depends-on): Likewise.
49768         * modules/strftime (Depends-on): Likewise.
49769
49770 2008-12-20  Bruno Haible  <bruno@clisp.org>
49771
49772         Ensure wctob is declared on IRIX 6.5.
49773         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
49774         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
49775         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
49776         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
49777         of HAVE_WCTOB.
49778         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
49779         HAVE_WCTOB.
49780         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
49781
49782 2008-12-19  Bruno Haible  <bruno@clisp.org>
49783
49784         * modules/mbsrtowcs-tests: New file.
49785         * tests/test-mbsrtowcs1.sh: New file.
49786         * tests/test-mbsrtowcs2.sh: New file.
49787         * tests/test-mbsrtowcs3.sh: New file.
49788         * tests/test-mbsrtowcs4.sh: New file.
49789         * tests/test-mbsrtowcs.c: New file.
49790
49791         New module 'mbsrtowcs'.
49792         * lib/wchar.in.h (mbsrtowcs): New declaration.
49793         * lib/mbsrtowcs.c: New file.
49794         * m4/mbsrtowcs.m4: New file.
49795         * modules/mbsrtowcs: New file.
49796         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
49797         HAVE_MBSRTOWCS.
49798         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
49799         HAVE_MBSRTOWCS.
49800         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
49801
49802 2008-12-19  Bruno Haible  <bruno@clisp.org>
49803
49804         New module 'mbrlen'.
49805         * lib/wchar.in.h (mbrlen): New declaration.
49806         * lib/mbrlen.c: New file.
49807         * m4/mbrlen.m4: New file.
49808         * modules/mbrlen: New file.
49809         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
49810         HAVE_MBRLEN.
49811         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
49812         HAVE_MBRLEN.
49813         * doc/posix-functions/mbrlen.texi: Document the new module.
49814
49815 2008-12-19  Bruno Haible  <bruno@clisp.org>
49816
49817         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
49818         * modules/mbrtowc (Depends-on): Add verify.
49819         Suggested by Paul Eggert.
49820
49821 2008-12-18  Bruno Haible  <bruno@clisp.org>
49822
49823         * modules/mbsinit-tests: New file.
49824         * tests/test-mbsinit.sh: New file.
49825         * tests/test-mbsinit.c: New file.
49826
49827 2008-12-18  Bruno Haible  <bruno@clisp.org>
49828
49829         * modules/mbrtowc-tests: New file.
49830         * tests/test-mbrtowc1.sh: New file.
49831         * tests/test-mbrtowc2.sh: New file.
49832         * tests/test-mbrtowc3.sh: New file.
49833         * tests/test-mbrtowc4.sh: New file.
49834         * tests/test-mbrtowc.c: New file.
49835
49836         New module 'mbrtowc'.
49837         * lib/wchar.in.h (mbstate_t): Override when the system does not have
49838         mbsinit and mbrtowc.
49839         (mbrtowc): New declaration.
49840         * lib/mbrtowc.c: New file.
49841         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
49842         * modules/mbrtowc: New file.
49843         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
49844         HAVE_MBRTOWC.
49845         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
49846         HAVE_MBRTOWC.
49847         * doc/posix-functions/mbrtowc.texi: Document the new module.
49848
49849 2008-12-18  Bruno Haible  <bruno@clisp.org>
49850
49851         New module 'wctob'.
49852         * lib/wchar.in.h (wctob): New declaration.
49853         * lib/wctob.c: New file.
49854         * m4/wctob.m4: New file.
49855         * modules/wctob: New file.
49856         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
49857         HAVE_WCTOB.
49858         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
49859         * doc/posix-functions/wctob.texi: Document the new module.
49860
49861 2008-12-18  Bruno Haible  <bruno@clisp.org>
49862
49863         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
49864         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
49865
49866 2008-12-18  Simon Josefsson  <simon@josefsson.org>
49867
49868         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
49869         G. Christensen" <tgc@jupiterrise.com>.
49870
49871         * lib/flock.c: Need to include errno.h.  Reported by "Tom
49872         G. Christensen" <tgc@jupiterrise.com>.
49873
49874         * lib/flock.c: Need to include string.h.  Reported by "Tom
49875         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
49876         <ebb9@byu.net>.
49877
49878 2008-12-18  Bruno Haible  <bruno@clisp.org>
49879
49880         * m4/locale-ja.m4: New file, from GNU gettext.
49881
49882 2008-12-17  Bruno Haible  <bruno@clisp.org>
49883
49884         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
49885         Suggested by Eric Blake.
49886
49887 2008-12-17  Bruno Haible  <bruno@clisp.org>
49888
49889         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
49890
49891 2008-12-17  Bruno Haible  <bruno@clisp.org>
49892
49893         * lib/mbsinit.c: Include verify.h. Verify an assumption.
49894         * modules/mbsinit (Depends-on): Add verify.
49895         Suggested by Paul Eggert.
49896
49897 2008-12-17  Bruno Haible  <bruno@clisp.org>
49898
49899         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
49900         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
49901         gl_FUNC_MBRTOWC.
49902         * m4/mbiter.m4 (gl_MBITER): LIkewise.
49903         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
49904         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
49905         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
49906         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
49907         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
49908         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
49909         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
49910         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
49911         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
49912         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
49913         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
49914         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
49915         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
49916         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
49917         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49918         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
49919         * modules/trim (configure.ac): Likewise.
49920
49921 2008-12-17  Bruno Haible  <bruno@clisp.org>
49922
49923         * modules/btowc-tests: New file.
49924         * tests/test-btowc1.sh: New file.
49925         * tests/test-btowc2.sh: New file.
49926         * tests/test-btowc.c: New file.
49927
49928         New module 'btowc'.
49929         * lib/wchar.in.h (btowc): New declaration.
49930         * lib/btowc.c: New file.
49931         * m4/btowc.m4: New file.
49932         * modules/btowc: New file.
49933         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
49934         HAVE_BTOWC.
49935         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
49936         * doc/posix-functions/btowc.texi: Document the new module.
49937
49938 2008-12-17  Bruno Haible  <bruno@clisp.org>
49939
49940         New module 'mbsinit'.
49941         * lib/wchar.in.h (mbsinit): New declaration.
49942         * lib/mbsinit.c: New file.
49943         * m4/mbsinit.m4: New file.
49944         * modules/mbsinit: New file.
49945         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
49946         HAVE_MBSINIT.
49947         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
49948         HAVE_MBSINIT.
49949         * doc/posix-functions/mbsinit.texi: Document the new module.
49950
49951 2008-12-16  Bruno Haible  <bruno@clisp.org>
49952
49953         * lib/unistd.in.h: Add comment.
49954         * tests/test-environ.c: Don't include <stdlib.h>.
49955
49956 2008-12-16  Bruno Haible  <bruno@clisp.org>
49957
49958         * lib/parse-duration.h (parse_duration): Document return value
49959         convention.
49960         * lib/parse-duration.c: Include specification header first. Add
49961         comments.
49962         (_): Remove macro.
49963         (parse_year_month_day, parse_hour_minute_second): Move side effects
49964         outside of strchr call.
49965         (parse_non_iso8601): Move side effects outside of isspace call.
49966         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
49967         call.
49968
49969 2008-12-16  Bruno Haible  <bruno@clisp.org>
49970
49971         * tests/test-parse-duration.sh: Produce no output when the test
49972         succeeds.
49973
49974 2008-12-16  Bruno Haible  <bruno@clisp.org>
49975
49976         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
49977         expressions.
49978
49979 2008-12-15  Bruno Haible  <bruno@clisp.org>
49980
49981         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
49982         * doc/glibc-functions/flistxattr.texi: Likewise.
49983         * doc/glibc-functions/fopencookie.texi: Likewise.
49984         * doc/glibc-functions/fremovexattr.texi: Likewise.
49985         * doc/glibc-functions/fsetxattr.texi: Likewise.
49986         * doc/glibc-functions/getxattr.texi: Likewise.
49987         * doc/glibc-functions/lgetxattr.texi: Likewise.
49988         * doc/glibc-functions/listxattr.texi: Likewise.
49989         * doc/glibc-functions/llistxattr.texi: Likewise.
49990         * doc/glibc-functions/lremovexattr.texi: Likewise.
49991         * doc/glibc-functions/lsetxattr.texi: Likewise.
49992         * doc/glibc-functions/removexattr.texi: Likewise.
49993         * doc/glibc-functions/setxattr.texi: Likewise.
49994         * doc/posix-functions/open_memstream.texi: Likewise.
49995
49996 2008-12-15  Eric Blake  <ebb9@byu.net>
49997
49998         Update doc for cygwin 1.7.
49999         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
50000         functions.
50001         * doc/posix-functions/fchmodat.texi: Likewise.
50002         * doc/posix-functions/fchownat.texi: Likewise.
50003         * doc/posix-functions/fdopendir.texi: Likewise.
50004         * doc/posix-functions/fmemopen.texi: Likewise.
50005         * doc/posix-functions/freeaddrinfo.texi: Likewise.
50006         * doc/posix-functions/fstatat.texi: Likewise.
50007         * doc/posix-functions/futimens.texi: Likewise.
50008         * doc/posix-functions/gai_strerror.texi: Likewise.
50009         * doc/posix-functions/getaddrinfo.texi: Likewise.
50010         * doc/posix-functions/getnameinfo.texi: Likewise.
50011         * doc/posix-functions/if_freenameindex.texi: Likewise.
50012         * doc/posix-functions/if_indextoname.texi: Likewise.
50013         * doc/posix-functions/if_nameindex.texi: Likewise.
50014         * doc/posix-functions/if_nametoindex.texi: Likewise.
50015         * doc/posix-functions/insque.texi: Likewise.
50016         * doc/posix-functions/linkat.texi: Likewise.
50017         * doc/posix-functions/llrint.texi: Likewise.
50018         * doc/posix-functions/llrintf.texi: Likewise.
50019         * doc/posix-functions/llrintl.texi: Likewise.
50020         * doc/posix-functions/lockf.texi: Likewise.
50021         * doc/posix-functions/lrintl.texi: Likewise.
50022         * doc/posix-functions/mkdirat.texi: Likewise.
50023         * doc/posix-functions/mkfifoat.texi: Likewise.
50024         * doc/posix-functions/mknodat.texi: Likewise.
50025         * doc/posix-functions/mq_close.texi: Likewise.
50026         * doc/posix-functions/mq_getattr.texi: Likewise.
50027         * doc/posix-functions/mq_notify.texi: Likewise.
50028         * doc/posix-functions/mq_open.texi: Likewise.
50029         * doc/posix-functions/mq_receive.texi: Likewise.
50030         * doc/posix-functions/mq_send.texi: Likewise.
50031         * doc/posix-functions/mq_setattr.texi: Likewise.
50032         * doc/posix-functions/mq_timedreceive.texi: Likewise.
50033         * doc/posix-functions/mq_timedsend.texi: Likewise.
50034         * doc/posix-functions/mq_unlink.texi: Likewise.
50035         * doc/posix-functions/open_memstream.texi: Likewise.
50036         * doc/posix-functions/openat.texi: Likewise.
50037         * doc/posix-functions/posix_fadvise.texi: Likewise.
50038         * doc/posix-functions/posix_fallocate.texi: Likewise.
50039         * doc/posix-functions/posix_madvise.texi: Likewise.
50040         * doc/posix-functions/posix_memalign.texi: Likewise.
50041         * doc/posix-functions/posix_openpt.texi: Likewise.
50042         * doc/posix-functions/readlinkat.texi: Likewise.
50043         * doc/posix-functions/remque.texi: Likewise.
50044         * doc/posix-functions/renameat.texi: Likewise.
50045         * doc/posix-functions/rintl.texi: Likewise.
50046         * doc/posix-functions/sem_unlink.texi: Likewise.
50047         * doc/posix-functions/shm_open.texi: Likewise.
50048         * doc/posix-functions/shm_unlink.texi: Likewise.
50049         * doc/posix-functions/signgam.texi: Likewise.
50050         * doc/posix-functions/sigset.texi: Likewise.
50051         * doc/posix-functions/stpcpy.texi: Likewise.
50052         * doc/posix-functions/stpncpy.texi: Likewise.
50053         * doc/posix-functions/strerror.texi: Likewise.
50054         * doc/posix-functions/strtod.texi: Likewise.
50055         * doc/posix-functions/symlinkat.texi: Likewise.
50056         * doc/posix-functions/unlinkat.texi: Likewise.
50057         * doc/posix-functions/utimensat.texi: Likewise.
50058         * doc/glibc-functions/bindresvport.texi: Likewise.
50059         * doc/glibc-functions/dn_expand.texi: Likewise.
50060         * doc/glibc-functions/exp10.texi: Likewise.
50061         * doc/glibc-functions/exp10f.texi: Likewise.
50062         * doc/glibc-functions/fgetxattr.texi: Likewise.
50063         * doc/glibc-functions/flistxattr.texi: Likewise.
50064         * doc/glibc-functions/fopencookie.texi: Likewise.
50065         * doc/glibc-functions/freeifaddrs.texi: Likewise.
50066         * doc/glibc-functions/fremovexattr.texi: Likewise.
50067         * doc/glibc-functions/fsetxattr.texi: Likewise.
50068         * doc/glibc-functions/getifaddrs.texi: Likewise.
50069         * doc/glibc-functions/getxattr.texi: Likewise.
50070         * doc/glibc-functions/lgetxattr.texi: Likewise.
50071         * doc/glibc-functions/listxattr.texi: Likewise.
50072         * doc/glibc-functions/llistxattr.texi: Likewise.
50073         * doc/glibc-functions/lremovexattr.texi: Likewise.
50074         * doc/glibc-functions/lsetxattr.texi: Likewise.
50075         * doc/glibc-functions/pow10.texi: Likewise.
50076         * doc/glibc-functions/pow10f.texi: Likewise.
50077         * doc/glibc-functions/rcmd_af.texi: Likewise.
50078         * doc/glibc-functions/removexattr.texi: Likewise.
50079         * doc/glibc-functions/res_init.texi: Likewise.
50080         * doc/glibc-functions/res_mkquery.texi: Likewise.
50081         * doc/glibc-functions/res_query.texi: Likewise.
50082         * doc/glibc-functions/res_querydomain.texi: Likewise.
50083         * doc/glibc-functions/res_send.texi: Likewise.
50084         * doc/glibc-functions/rresvport_af.texi: Likewise.
50085         * doc/glibc-functions/setxattr.texi: Likewise.
50086         * doc/glibc-functions/strcasestr.texi: Likewise.
50087
50088 2008-12-15  Bruno Haible  <bruno@clisp.org>
50089
50090         Fix compilation error on OSF/1 4.0.
50091         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
50092         <sys/time.h>, simply delegate to the system header.
50093         Reported by Daniel Richard G. <oss@teragram.com>.
50094
50095 2008-12-15  Bruno Haible  <bruno@clisp.org>
50096
50097         * doc/posix-functions/openat.texi: Mention the 'openat' module.
50098         * doc/posix-functions/fchmodat.texi: Likewise.
50099         * doc/posix-functions/fchownat.texi: Likewise.
50100         * doc/posix-functions/fdopendir.texi: Likewise.
50101         * doc/posix-functions/fstatat.texi: Likewise.
50102         * doc/posix-functions/mkdirat.texi: Likewise.
50103         * doc/posix-functions/unlinkat.texi: Likewise.
50104
50105 2008-12-14  Bruno Haible  <bruno@clisp.org>
50106
50107         Update doc for POSIX:2008.
50108         * doc/posix-functions/faccessat.texi: New file.
50109         * doc/posix-functions/fchmodat.texi: New file.
50110         * doc/posix-functions/fchownat.texi: New file.
50111         * doc/posix-functions/fdopendir.texi: New file.
50112         * doc/posix-functions/fstatat.texi: New file.
50113         * doc/posix-functions/futimens.texi: New file.
50114         * doc/posix-functions/linkat.texi: New file.
50115         * doc/posix-functions/mkdirat.texi: New file.
50116         * doc/posix-functions/mkfifoat.texi: New file.
50117         * doc/posix-functions/mknodat.texi: New file.
50118         * doc/posix-functions/open_wmemstream.texi: New file.
50119         * doc/posix-functions/openat.texi: New file.
50120         * doc/posix-functions/psiginfo.texi: New file.
50121         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
50122         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
50123         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
50124         * doc/posix-functions/readlinkat.texi: New file.
50125         * doc/posix-functions/renameat.texi: New file.
50126         * doc/posix-functions/strerror_l.texi: New file.
50127         * doc/posix-functions/symlinkat.texi: New file.
50128         * doc/posix-functions/unlinkat.texi: New file.
50129         * doc/posix-functions/utimensat.texi: New file.
50130         * doc/gnulib.texi (Function Substitutes): Add these subsections.
50131
50132 2008-12-14  Bruno Haible  <bruno@clisp.org>
50133
50134         Update doc for POSIX:2008.
50135         * doc/posix-functions/alphasort.texi: Renamed from
50136         doc/glibc-functions/alphasort.texi.
50137         * doc/posix-functions/dirfd.texi: Renamed from
50138         doc/glibc-functions/dirfd.texi.
50139         * doc/posix-functions/dprintf.texi: Renamed from
50140         doc/glibc-functions/dprintf.texi.
50141         * doc/posix-functions/duplocale.texi: Renamed from
50142         doc/glibc-functions/duplocale.texi.
50143         * doc/posix-functions/fexecve.texi: Renamed from
50144         doc/glibc-functions/fexecve.texi.
50145         * doc/posix-functions/fmemopen.texi: Renamed from
50146         doc/glibc-functions/fmemopen.texi.
50147         * doc/posix-functions/freelocale.texi: Renamed from
50148         doc/glibc-functions/freelocale.texi.
50149         * doc/posix-functions/getdate_err.texi: Renamed from
50150         doc/glibc-functions/getdate_err.texi.
50151         * doc/posix-functions/isalnum_l.texi: Renamed from
50152         doc/glibc-functions/isalnum_l.texi.
50153         * doc/posix-functions/isalpha_l.texi: Renamed from
50154         doc/glibc-functions/isalpha_l.texi.
50155         * doc/posix-functions/isblank_l.texi: Renamed from
50156         doc/glibc-functions/isblank_l.texi.
50157         * doc/posix-functions/iscntrl_l.texi: Renamed from
50158         doc/glibc-functions/iscntrl_l.texi.
50159         * doc/posix-functions/isdigit_l.texi: Renamed from
50160         doc/glibc-functions/isdigit_l.texi.
50161         * doc/posix-functions/isgraph_l.texi: Renamed from
50162         doc/glibc-functions/isgraph_l.texi.
50163         * doc/posix-functions/islower_l.texi: Renamed from
50164         doc/glibc-functions/islower_l.texi.
50165         * doc/posix-functions/isprint_l.texi: Renamed from
50166         doc/glibc-functions/isprint_l.texi.
50167         * doc/posix-functions/ispunct_l.texi: Renamed from
50168         doc/glibc-functions/ispunct_l.texi.
50169         * doc/posix-functions/isspace_l.texi: Renamed from
50170         doc/glibc-functions/isspace_l.texi.
50171         * doc/posix-functions/isupper_l.texi: Renamed from
50172         doc/glibc-functions/isupper_l.texi.
50173         * doc/posix-functions/iswalnum_l.texi: Renamed from
50174         doc/glibc-functions/iswalnum_l.texi.
50175         * doc/posix-functions/iswalpha_l.texi: Renamed from
50176         doc/glibc-functions/iswalpha_l.texi.
50177         * doc/posix-functions/iswblank_l.texi: Renamed from
50178         doc/glibc-functions/iswblank_l.texi.
50179         * doc/posix-functions/iswcntrl_l.texi: Renamed from
50180         doc/glibc-functions/iswcntrl_l.texi.
50181         * doc/posix-functions/iswctype_l.texi: Renamed from
50182         doc/glibc-functions/iswctype_l.texi.
50183         * doc/posix-functions/iswdigit_l.texi: Renamed from
50184         doc/glibc-functions/iswdigit_l.texi.
50185         * doc/posix-functions/iswgraph_l.texi: Renamed from
50186         doc/glibc-functions/iswgraph_l.texi.
50187         * doc/posix-functions/iswlower_l.texi: Renamed from
50188         doc/glibc-functions/iswlower_l.texi.
50189         * doc/posix-functions/iswprint_l.texi: Renamed from
50190         doc/glibc-functions/iswprint_l.texi.
50191         * doc/posix-functions/iswpunct_l.texi: Renamed from
50192         doc/glibc-functions/iswpunct_l.texi.
50193         * doc/posix-functions/iswspace_l.texi: Renamed from
50194         doc/glibc-functions/iswspace_l.texi.
50195         * doc/posix-functions/iswupper_l.texi: Renamed from
50196         doc/glibc-functions/iswupper_l.texi.
50197         * doc/posix-functions/iswxdigit_l.texi: Renamed from
50198         doc/glibc-functions/iswxdigit_l.texi.
50199         * doc/posix-functions/isxdigit_l.texi: Renamed from
50200         doc/glibc-functions/isxdigit_l.texi.
50201         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
50202         doc/glibc-functions/mbsnrtowcs.texi.
50203         * doc/posix-functions/mkdtemp.texi: Renamed from
50204         doc/glibc-functions/mkdtemp.texi.
50205         * doc/posix-functions/newlocale.texi: Renamed from
50206         doc/glibc-functions/newlocale.texi.
50207         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
50208         doc/glibc-functions/nl_langinfo_l.texi.
50209         * doc/posix-functions/open_memstream.texi: Renamed from
50210         doc/glibc-functions/open_memstream.texi.
50211         * doc/posix-functions/opterr.texi: Renamed from
50212         doc/glibc-functions/opterr.texi.
50213         * doc/posix-functions/optind.texi: Renamed from
50214         doc/glibc-functions/optind.texi.
50215         * doc/posix-functions/optopt.texi: Renamed from
50216         doc/glibc-functions/optopt.texi.
50217         * doc/posix-functions/psignal.texi: Renamed from
50218         doc/glibc-functions/psignal.texi.
50219         * doc/posix-functions/scandir.texi: Renamed from
50220         doc/glibc-functions/scandir.texi.
50221         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
50222         doc/glibc-functions/sched_get_priority_min.texi.
50223         * doc/posix-functions/signgam.texi: Renamed from
50224         doc/glibc-functions/signgam.texi.
50225         * doc/posix-functions/stpcpy.texi: Renamed from
50226         doc/glibc-functions/stpcpy.texi.
50227         * doc/posix-functions/stpncpy.texi: Renamed from
50228         doc/glibc-functions/stpncpy.texi.
50229         * doc/posix-functions/strcasecmp_l.texi: Renamed from
50230         doc/glibc-functions/strcasecmp_l.texi.
50231         * doc/posix-functions/strcoll_l.texi: Renamed from
50232         doc/glibc-functions/strcoll_l.texi.
50233         * doc/posix-functions/strfmon_l.texi: Renamed from
50234         doc/glibc-functions/strfmon_l.texi.
50235         * doc/posix-functions/strftime_l.texi: Renamed from
50236         doc/glibc-functions/strftime_l.texi.
50237         * doc/posix-functions/strncasecmp_l.texi: Renamed from
50238         doc/glibc-functions/strncasecmp_l.texi.
50239         * doc/posix-functions/strndup.texi: Renamed from
50240         doc/glibc-functions/strndup.texi.
50241         * doc/posix-functions/strnlen.texi: Renamed from
50242         doc/glibc-functions/strnlen.texi.
50243         * doc/posix-functions/strsignal.texi: Renamed from
50244         doc/glibc-functions/strsignal.texi.
50245         * doc/posix-functions/strxfrm_l.texi: Renamed from
50246         doc/glibc-functions/strxfrm_l.texi.
50247         * doc/posix-functions/timer_gettime.texi: Renamed from
50248         doc/glibc-functions/timer_gettime.texi.
50249         * doc/posix-functions/tolower_l.texi: Renamed from
50250         doc/glibc-functions/tolower_l.texi.
50251         * doc/posix-functions/toupper_l.texi: Renamed from
50252         doc/glibc-functions/toupper_l.texi.
50253         * doc/posix-functions/towctrans_l.texi: Renamed from
50254         doc/glibc-functions/towctrans_l.texi.
50255         * doc/posix-functions/towlower_l.texi: Renamed from
50256         doc/glibc-functions/towlower_l.texi.
50257         * doc/posix-functions/towupper_l.texi: Renamed from
50258         doc/glibc-functions/towupper_l.texi.
50259         * doc/posix-functions/uselocale.texi: Renamed from
50260         doc/glibc-functions/uselocale.texi.
50261         * doc/posix-functions/vdprintf.texi: Renamed from
50262         doc/glibc-functions/vdprintf.texi.
50263         * doc/posix-functions/wcpcpy.texi:
50264         Renamed from doc/glibc-functions/wcpcpy.texi.
50265         * doc/posix-functions/wcpncpy.texi: Renamed from
50266         doc/glibc-functions/wcpncpy.texi.
50267         * doc/posix-functions/wcscasecmp.texi: Renamed from
50268         doc/glibc-functions/wcscasecmp.texi.
50269         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
50270         doc/glibc-functions/wcscasecmp_l.texi.
50271         * doc/posix-functions/wcscoll_l.texi: Renamed from
50272         doc/glibc-functions/wcscoll_l.texi.
50273         * doc/posix-functions/wcsdup.texi: Renamed from
50274         doc/glibc-functions/wcsdup.texi.
50275         * doc/posix-functions/wcsncasecmp.texi: Renamed from
50276         doc/glibc-functions/wcsncasecmp.texi.
50277         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
50278         doc/glibc-functions/wcsncasecmp_l.texi.
50279         * doc/posix-functions/wcsnlen.texi: Renamed from
50280         doc/glibc-functions/wcsnlen.texi.
50281         * doc/posix-functions/wcsnrtombs.texi: Renamed from
50282         doc/glibc-functions/wcsnrtombs.texi.
50283         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
50284         doc/glibc-functions/wcsxfrm_l.texi.
50285         * doc/posix-functions/wctrans_l.texi: Renamed from
50286         doc/glibc-functions/wctrans_l.texi.
50287         * doc/posix-functions/wctype_l.texi: Renamed from
50288         doc/glibc-functions/wctype_l.texi.
50289         * doc/gnulib.texi (Function Substitutes): Add these subsections.
50290         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
50291         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
50292         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
50293         these subsections.
50294         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
50295         Remove sections.
50296
50297 2008-12-14  Bruno Haible  <bruno@clisp.org>
50298
50299         Update doc for POSIX:2008.
50300         * doc/posix-functions/*.texi: Update URL of POSIX specification.
50301
50302 2008-12-14  Bruno Haible  <bruno@clisp.org>
50303
50304         Update doc for POSIX:2008.
50305         * doc/pastposix-functions/bcmp.texi: Renamed from
50306         doc/posix-functions/bcmp.texi.
50307         * doc/pastposix-functions/bcopy.texi: Renamed from
50308         doc/posix-functions/bcopy.texi.
50309         * doc/pastposix-functions/bsd_signal.texi: Renamed from
50310         doc/posix-functions/bsd_signal.texi.
50311         * doc/pastposix-functions/bzero.texi: Renamed from
50312         doc/posix-functions/bzero.texi.
50313         * doc/pastposix-functions/ecvt.texi: Renamed from
50314         doc/posix-functions/ecvt.texi.
50315         * doc/pastposix-functions/fcvt.texi: Renamed from
50316         doc/posix-functions/fcvt.texi.
50317         * doc/pastposix-functions/ftime.texi: Renamed from
50318         doc/posix-functions/ftime.texi.
50319         * doc/pastposix-functions/gcvt.texi: Renamed from
50320         doc/posix-functions/gcvt.texi.
50321         * doc/pastposix-functions/getcontext.texi: Renamed from
50322         doc/posix-functions/getcontext.texi.
50323         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
50324         doc/posix-functions/gethostbyaddr.texi.
50325         * doc/pastposix-functions/gethostbyname.texi: Renamed from
50326         doc/posix-functions/gethostbyname.texi.
50327         * doc/pastposix-functions/getwd.texi: Renamed from
50328         doc/posix-functions/getwd.texi.
50329         * doc/pastposix-functions/h_errno.texi: Renamed from
50330         doc/posix-functions/h_errno.texi.
50331         * doc/pastposix-functions/index.texi: Renamed from
50332         doc/posix-functions/index.texi.
50333         * doc/pastposix-functions/makecontext.texi: Renamed from
50334         doc/posix-functions/makecontext.texi.
50335         * doc/pastposix-functions/mktemp.texi: Renamed from
50336         doc/posix-functions/mktemp.texi.
50337         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
50338         doc/posix-functions/pthread_attr_getstackaddr.texi.
50339         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
50340         doc/posix-functions/pthread_attr_setstackaddr.texi.
50341         * doc/pastposix-functions/rindex.texi: Renamed from
50342         doc/posix-functions/rindex.texi.
50343         * doc/pastposix-functions/scalb.texi: Renamed from
50344         doc/posix-functions/scalb.texi.
50345         * doc/pastposix-functions/setcontext.texi: Renamed from
50346         doc/posix-functions/setcontext.texi.
50347         * doc/pastposix-functions/swapcontext.texi: Renamed from
50348         doc/posix-functions/swapcontext.texi.
50349         * doc/pastposix-functions/ualarm.texi: Renamed from
50350         doc/posix-functions/ualarm.texi.
50351         * doc/pastposix-functions/usleep.texi: Renamed from
50352         doc/posix-functions/usleep.texi.
50353         * doc/pastposix-functions/vfork.texi: Renamed from
50354         doc/posix-functions/vfork.texi.
50355         * doc/pastposix-functions/wcswcs.texi: Renamed from
50356         doc/posix-functions/wcswcs.texi.
50357         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
50358         (Function Substitutes): Update.
50359
50360 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50361
50362         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
50363         m4/strerror.m4.
50364
50365 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50366             Bruno Haible  <bruno@clisp.org>
50367
50368         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
50369
50370 2008-12-13  Bruno Haible  <bruno@clisp.org>
50371
50372         * modules/strtoull (Depends-on): Remove unistd.
50373
50374 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50375
50376         * modules/strtoull (Depends-on): Add stdlib.
50377
50378 2008-12-11  Simon Josefsson  <simon@josefsson.org>
50379
50380         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
50381
50382 2008-12-10  Jim Meyering  <meyering@redhat.com>
50383
50384         gl_ASSERT: don't say assertions are disabled when they're not
50385         * m4/assert.m4 (gl_ASSERT): Do not make configure report
50386         "checking whether to enable assertions... no", when they are in
50387         fact enabled.  This is solely a bug in the output of configure.
50388         In spite of saying "no", NDEBUG was not defined in that case.
50389         Also, as noted by Eric Blake, leave assertions enabled upon
50390         --enable-assert=INVALID.
50391
50392 2008-12-10  Bruno Haible  <bruno@clisp.org>
50393
50394         Change MODULES.html to refer to POSIX:2008 where possible.
50395         * MODULES.html.sh (POSIX2008_URL): New variable.
50396         (posix_headers): Remove sys/timeb, ucontext.
50397         (posix2001_headers): New variable.
50398         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
50399         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
50400         index, makecontext, mktemp, pthread_attr_getstackaddr,
50401         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
50402         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
50403         (posix2001_functions): New variable.
50404         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
50405         otherwise.
50406
50407 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50408
50409         add missing include to parse-duration.c
50410         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
50411         * modules/parse-duration (Depends-on): Add xalloc.
50412
50413         fix sed script reading maint.mk
50414         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
50415         (syntax-check-rules): Use it.
50416
50417 2008-12-09  Bruno Haible  <bruno@clisp.org>
50418
50419         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
50420         MacOS X 10.4/PowerPC.
50421         Reported by Simon Josefsson.
50422
50423 2008-12-08  Jim Meyering  <meyering@redhat.com>
50424
50425         work around mingw's lack of some S_IF definitions
50426         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
50427         Reported by Simon Josefsson.
50428
50429 2008-12-08  Bruno Haible  <bruno@clisp.org>
50430
50431         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
50432         applied to variables. Needed on MacOS X 10.4/PowerPC.
50433         Reported by Simon Josefsson.
50434
50435 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
50436         and Eric Blake  <ebb9@byu.net>
50437
50438         assert: honor --enable-assert
50439         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
50440         order to honor --enable-assert, rather than treating it as a
50441         synonym for --disable-assert.
50442
50443 2008-12-08  Jim Meyering  <meyering@redhat.com>
50444
50445         * lib/posixtm.c: Remove now-useless declaration of mktime.
50446
50447         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
50448
50449 2008-12-07  Bruno Haible  <bruno@clisp.org>
50450
50451         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
50452         test_once): Mark functions as static.
50453         * tests/test-tls.c (test_tls): Likewise.
50454
50455 2008-12-07  Bruno Haible  <bruno@clisp.org>
50456
50457         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
50458         iconv_register_autodetect.
50459
50460 2008-12-07  Jim Meyering  <meyering@redhat.com>
50461
50462         posixtm.c: avoid a warning
50463         * lib/posixtm.c (posixtime): Don't initialize tm0.
50464         It's no longer needed to placate gcc4's -Wuninitialized,
50465         and the attempt to placate would elicit a new warning.
50466
50467         unicodeio.c: mark unused parameters
50468         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
50469         (fallback_failure_callback): Likewise.
50470
50471 2008-12-07  Bruno Haible  <bruno@clisp.org>
50472
50473         * gnulib-tool (func_create_testdir): When building the tests
50474         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
50475         Reported by Simon Josefsson.
50476
50477 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50478
50479         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
50480
50481 2008-12-06  Bruno Haible  <bruno@clisp.org>
50482
50483         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
50484         Suggested by Eric Blake.
50485
50486 2008-12-06  Bruno Haible  <bruno@clisp.org>
50487
50488         Fix a c-stack test failure on MacOS X.
50489         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
50490         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
50491         handler for SIGBUS as well.
50492         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
50493         install a signal handler for SIGBUS as well.
50494         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
50495
50496 2008-12-06  Bruno Haible  <bruno@clisp.org>
50497
50498         Advocacy documentation.
50499         * doc/gnulib-intro.texi (Benefits): New section.
50500         * doc/gnulib.texi: Update.
50501
50502 2008-12-06  Bruno Haible  <bruno@clisp.org>
50503
50504         Document the 'manywarnings' module.
50505         * doc/manywarnings.texi: New file.
50506         * doc/gnulib.texi: Include it.
50507
50508 2008-12-05  Eric Blake  <ebb9@byu.net>
50509
50510         tests: silence some gcc warnings
50511         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
50512         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
50513         type mismatches.
50514
50515 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50516             Bruno Haible  <bruno@clisp.org>
50517
50518         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
50519
50520 2008-11-29  Jim Meyering  <meyering@redhat.com>
50521
50522         unicodeio.c: mark unused parameters
50523         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
50524         (fallback_failure_callback): Likewise.
50525
50526         fts: fix a thinko
50527         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
50528         (set_stat_type): Return S_IF*-valued "type" directly.
50529         Prompted by James Youngman's spotting a related bug.
50530         Confirmed by further testing through find.
50531
50532         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
50533         * lib/fts.c (D_TYPE): Define.
50534         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
50535         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
50536         (s_ifmt_shift_bits): New function.
50537         (set_stat_type): New function.
50538         (fts_build): When not calling fts_stat, call set_stat_type
50539         to propagate dirent.d_type info to fts_read caller.
50540         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
50541         fts_statp->st_mode type information may be valid.
50542
50543 2008-11-28  Simon Josefsson  <simon@josefsson.org>
50544
50545         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
50546         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
50547         <sds@gnu.org>.
50548
50549 2008-11-20  Bruno Haible  <bruno@clisp.org>
50550
50551         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
50552         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
50553         INCLUDE_NEXT.
50554         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
50555         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
50556         * modules/math (Makefile.am): Substitute
50557         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
50558         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50559
50560 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
50561             Bruno Haible  <bruno@clisp.org>
50562
50563         * lib/stdint.in.h: Define all type macros so that their expansion is
50564         a single typedef'ed token. Fixes a compilation failure in Boost which
50565         does "using ::int8_t;".
50566
50567 2008-11-18  Simon Josefsson  <simon@josefsson.org>
50568
50569         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
50570         gl_MANYWARN_ALL_GCC.
50571         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
50572         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
50573         * modules/manywarnings: New file.
50574         * MODULES.html.sh: Mention manywarnings module.
50575
50576 2008-11-18  Bruno Haible  <bruno@clisp.org>
50577
50578         * doc/gnulib-tool.texi (Unit tests): New section.
50579
50580 2008-11-18  Simon Josefsson  <simon@josefsson.org>
50581
50582         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
50583         paths like 'lib/po/foo.po'.
50584
50585 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50586
50587         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
50588         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
50589
50590 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50591
50592         * m4/warnings.m4: Use CPPFLAGS to really check whether the
50593         parameter works.
50594
50595 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50596
50597         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
50598
50599 2008-11-17  Bruce Korb  <bkorb@gnu.org>
50600
50601         * modules/parse-duration-tests: New file.
50602         * tests/test-parse-duration.sh: New file.
50603         * tests/test-parse-duration.c: New file.
50604
50605         New module 'parse-duration'.
50606         * lib/parse-duration.h: New file.
50607         * lib/parse-duration.c: New file.
50608         * modules/parse-duration: New file.
50609
50610 2008-11-17  Bruno Haible  <bruno@clisp.org>
50611
50612         * tests/test-select-out.sh: Comment out the first pipe test.
50613         Reported by Simon Josefsson.
50614
50615 2008-11-17  Bruno Haible  <bruno@clisp.org>
50616
50617         * modules/getaddrinfo (Depends-on): Add servent, hostent.
50618         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
50619         gl_HOSTENT.
50620
50621 2008-11-17  Bruno Haible  <bruno@clisp.org>
50622
50623         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
50624         -lnetwork and -lnet. Needed for Haiku and BeOS.
50625
50626 2008-11-16  Bruno Haible  <bruno@clisp.org>
50627
50628         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
50629
50630 2008-11-16  Bruno Haible  <bruno@clisp.org>
50631
50632         Avoid test failure on Haiku.
50633         * tests/test-fsync.c: Include <errno.h>.
50634         (main): Don't require that fsync (0) fails.
50635
50636 2008-11-15  Bruno Haible  <bruno@clisp.org>
50637
50638         New module 'hostent'.
50639         * modules/hostent: New file.
50640         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
50641
50642 2008-11-15  Bruno Haible  <bruno@clisp.org>
50643
50644         New module 'servent'.
50645         * modules/servent: New file.
50646         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
50647
50648 2008-11-15  Bruno Haible  <bruno@clisp.org>
50649
50650         Avoid generating same test program with two different rules.
50651         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
50652         test-frexp to test-frexp-nolibm.
50653         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
50654         test-frexpl to test-frexpl-nolibm.
50655
50656 2008-11-15  Bruno Haible  <bruno@clisp.org>
50657
50658         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
50659         $(FREXPL_LIBM).
50660
50661 2008-11-15  Bruno Haible  <bruno@clisp.org>
50662
50663         * lib/netdb.in.h: Activate the definitions also when the system's
50664         <netdb.h> has 'struct addrinfo'.
50665         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
50666         EAI_OVERFLOW or AI_NUMERICSERV.
50667         * doc/posix-headers/netdb.texi: Document the problem.
50668
50669 2008-11-15  Bruno Haible  <bruno@clisp.org>
50670
50671         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
50672
50673         Make the 'sched' module work on platforms where <sched.h> exists but
50674         is incomplete (such as Haiku).
50675         * lib/sched.in.h; Include the system's <sched.h> if it exists.
50676         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
50677         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
50678         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
50679         HAVE_STRUCT_SCHED_PARAM.
50680         * modules/sched (Depends-on): Add include_next.
50681         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
50682         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
50683         * doc/posix-headers/sched.texi: Document the issue.
50684
50685 2008-11-13  Jim Meyering  <meyering@redhat.com>
50686
50687         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
50688         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
50689         test would fail due to the difference in the Report bugs to ...
50690         line.  The expected address is empty, "<>", while the actual
50691         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
50692
50693 2008-11-12  Bruno Haible  <bruno@clisp.org>
50694
50695         lstat: don't compile lstat.c on systems lacking lstat
50696         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
50697         which don't have lstat; this is handled by lib/sys_stat.in.h already.
50698         Reported by Daniel P. Berrange via Jim Meyering.
50699
50700 2008-11-12  Jim Meyering  <meyering@redhat.com>
50701
50702         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
50703
50704 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50705
50706         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
50707         instead.
50708
50709 2008-11-12  Bruno Haible  <bruno@clisp.org>
50710
50711         * lib/unicodeio.c: Include unistr.h.
50712         (utf8_wctomb): Remove function.
50713         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
50714
50715 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50716
50717         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
50718         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
50719         <bruno@clisp.org>.
50720         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
50721
50722 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50723
50724         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
50725         * doc/gnulib.texi: Add section for warnings.
50726
50727 2008-11-11  Bruno Haible  <bruno@clisp.org>
50728
50729         * lib/sockets.h: Add a comment.
50730
50731 2008-11-11  Karl Berry  <karl@gnu.org>
50732
50733         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
50734
50735 2008-11-11  Eric Blake  <ebb9@byu.net>
50736
50737         fdl.texi: avoid git symlinks
50738         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
50739
50740 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50741
50742         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
50743
50744 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50745
50746         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
50747         (gl_WARN_ADD): Substitute $2 if literal.
50748
50749 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50750
50751         * m4/warning.m4: Remove.
50752
50753 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50754
50755         * m4/warnings.m4: Almost complete rewrite. :-)
50756
50757 2008-11-10  Simon Josefsson  <simon@josefsson.org>
50758
50759         * modules/warnings: New module.
50760         * m4/warnings.m4: New file.
50761         * MODULES.html.sh: Mention warnings module.
50762         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
50763         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50764
50765 2008-11-10  Eric Blake  <ebb9@byu.net>
50766
50767         fdl.texi: make a symlink to the latest version
50768         * doc/standards.texi: Revert today's earlier change.
50769         * doc/fdl-1.2.texi: Rename from old fdl.texi...
50770         * doc/fdl.texi: ...and replace this with a symlink to the newer
50771         fdl-1.3.texi.
50772
50773 2008-11-10  Bruno Haible  <bruno@clisp.org>
50774
50775         * tests/test-select-fd.c (main): Accept the result file name as fourth
50776         argument.
50777         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
50778         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
50779
50780 2008-11-10  Bruno Haible  <bruno@clisp.org>
50781
50782         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
50783         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
50784         as autoconf-substituted macros.
50785         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
50786         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
50787         gl_NETDB_H_DEFAULTS. Set these variables.
50788         * modules/netdb (Makefile.am): Substitute these variables.
50789
50790 2008-11-10  Eric Blake  <ebb9@byu.net>
50791
50792         standards.texi: include correct file for FDL 1.3
50793         * doc/standards.texi (GNU Free Documentation License): Change
50794         include file to pull in FDL 1.3, not 1.2.
50795
50796         fdl.texi: revert accidental change to license
50797         * doc/fdl.texi: This is FDL 1.2, not 1.3.
50798
50799 2008-11-10  Bruno Haible  <bruno@clisp.org>
50800
50801         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
50802         cross-compiling guesses also when the native compile gives no result.
50803
50804 2008-11-10  Bruno Haible  <bruno@clisp.org>
50805
50806         * lib/spawni.c (__spawni): Force variable into the stack.
50807
50808 2008-11-10  Bruno Haible  <bruno@clisp.org>
50809
50810         Add support for Haiku.
50811         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
50812         glibc and BeOS, but also on Haiku.
50813         * lib/fpurge.c (fpurge): Likewise.
50814         * lib/freadable.c (freadable): Likewise.
50815         * lib/freadahead.c (freadahead): Likewise.
50816         * lib/freading.c (freading): Likewise.
50817         * lib/freadptr.c (freadptr): Likewise.
50818         * lib/freadseek.c (freadptrinc): Likewise.
50819         * lib/fseeko.c (rpl_fseeko): Likewise.
50820         * lib/fseterr.c (fseterr): Likewise.
50821         * lib/fwritable.c (fwritable): Likewise.
50822         * lib/fwriting.c (fwriting): Likewise.
50823         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
50824
50825 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
50826
50827         * lib/config.charset: Treat Haiku like BeOS.
50828
50829 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
50830
50831         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
50832         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
50833
50834 2008-11-08  Bruno Haible  <bruno@clisp.org>
50835
50836         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
50837         AC_CACHE_CHECK.
50838
50839 2008-11-08  Bruno Haible  <bruno@clisp.org>
50840
50841         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
50842
50843 2008-11-08  Bruno Haible  <bruno@clisp.org>
50844
50845         * tests/test-select-fd.c: New file.
50846         * tests/test-select-in.sh: New file.
50847         * tests/test-select-out.sh: New file.
50848         * tests/test-select-stdin.c: New file.
50849         * modules/select-tests (Files): Add the new files.
50850         (Depends-on): Add gettimeofday.
50851         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
50852         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
50853         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
50854
50855 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
50856             Bruno Haible  <bruno@clisp.org>
50857
50858         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
50859
50860 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
50861
50862         * build-aux/pmccabe2html: Added support for C++ source files.
50863
50864 2008-11-05  Ben Pfaff  <blp@gnu.org>
50865
50866         Fix lib/close.c build on Windows.
50867         * modules/close (Files): Add lib/w32sock.h.
50868
50869 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
50870
50871         Accept Bison's NEWS format.
50872         * build-aux/announce-gen (print_news_deltas): Tweak
50873         $re_prefix.
50874
50875 2008-11-04  Bruno Haible  <bruno@clisp.org>
50876
50877         * modules/random_r (Maintainer): Add glibc.
50878
50879 2008-11-04  Simon Josefsson  <simon@josefsson.org>
50880
50881         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
50882         by karl@freefriends.org (Karl Berry).
50883         * doc/alloca.texi: Likewise.
50884         * doc/c-ctype.texi: Likewise.
50885         * doc/c-strcase.texi: Likewise.
50886         * doc/c-strcaseeq.texi: Likewise.
50887         * doc/c-strcasestr.texi: Likewise.
50888         * doc/c-strstr.texi: Likewise.
50889         * doc/c-strtod.texi: Likewise.
50890         * doc/c-strtold.texi: Likewise.
50891         * doc/ctime.texi: Likewise.
50892         * doc/error.texi: Likewise.
50893         * doc/fdl.texi: Likewise.
50894         * doc/gcd.texi: Likewise.
50895         * doc/getdate.texi: Likewise.
50896         * doc/gnulib-intro.texi: Likewise.
50897         * doc/gnulib-tool.texi: Likewise.
50898         * doc/gnulib.texi: Likewise.
50899         * doc/inet_ntoa.texi: Likewise.
50900         * doc/maintain.texi: Likewise.
50901         * doc/make-stds.texi: Likewise.
50902         * doc/quote.texi: Likewise.
50903         * doc/regexprops-generic.texi: Likewise.
50904         * doc/standards.texi: Likewise.
50905         * doc/verify.texi: Likewise.
50906         * doc/visibility.texi: Likewise.
50907         * doc/gnulib.texi (GNU Free Documentation License): Include
50908         fdl-1.3.texi instead of fdl.texi.
50909
50910 2008-11-04  Simon Josefsson  <simon@josefsson.org>
50911
50912         * doc/fdl-1.3.texi: New file, from
50913         <http://www.gnu.org/licenses/fdl-1.3.texi>.
50914         * modules/fdl-1.3: Add.
50915         * MODULES.html.sh: Add fdl-1.3.
50916
50917 2008-11-03  Bruno Haible  <bruno@clisp.org>
50918
50919         Make determination of absolute name of header file work with AIX xlc.
50920         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
50921         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
50922         preprocessing.
50923         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50924         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
50925
50926 2008-11-03  Simon Josefsson  <simon@josefsson.org>
50927
50928         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
50929         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
50930         <ludo@gnu.org>.
50931
50932 2008-11-02  Bruno Haible  <bruno@clisp.org>
50933
50934         Mark 'strpbrk' obsolete.
50935         * modules/strpbrk (Status, Notice): New sections.
50936         * modules/strtok_r (Depends-on): Add strpbrk.
50937
50938 2008-11-02  Bruno Haible  <bruno@clisp.org>
50939
50940         Mark 'strdup' obsolete.
50941         * modules/strdup (Status, Notice): New sections.
50942         * modules/findprog (Depends-on): Add strdup.
50943         * modules/getaddrinfo (Depends-on): Likewise.
50944         * modules/localename (Depends-on): Likewise.
50945         * modules/relocatable-lib (Depends-on): Likewise.
50946         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
50947         * modules/relocatable-prog (Depends-on): Likewise.
50948         * modules/trim (Depends-on): Likewise.
50949         * modules/unictype/gen-ctype (Depends-on): Likewise.
50950         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
50951
50952 2008-11-02  Bruno Haible  <bruno@clisp.org>
50953
50954         Mark 'strcspn' obsolete.
50955         * modules/strcspn (Status, Notice): New sections.
50956
50957 2008-11-02  Bruno Haible  <bruno@clisp.org>
50958
50959         Mark 'rmdir' obsolete.
50960         * modules/rmdir (Status, Notice): New sections.
50961         * modules/clean-temp (Depends-on): Add rmdir.
50962         * modules/openat (Depends-on): Likewise.
50963
50964 2008-11-02  Bruno Haible  <bruno@clisp.org>
50965
50966         Mark 'raise' obsolete.
50967         * modules/raise (Status, Notice): New sections.
50968         (Include): Specify <signal.h>.
50969         * modules/stdio (Depends-on): Add raise.
50970         * modules/write (Depends-on): Likewise.
50971
50972 2008-11-02  Bruno Haible  <bruno@clisp.org>
50973
50974         Mark 'memset' obsolete.
50975         * modules/memset (Status, Notice): New sections.
50976
50977 2008-11-02  Bruno Haible  <bruno@clisp.org>
50978
50979         Mark 'memmove' obsolete.
50980         * modules/memmove (Status, Notice): New sections.
50981         * modules/argp (Depends-on): Add memmove.
50982         * modules/argz (Depends-on): Likewise.
50983         * modules/canonicalize (Depends-on): Likewise.
50984         * modules/canonicalize-lgpl (Depends-on): Likewise.
50985         * modules/fts (Depends-on): Likewise.
50986         * modules/getcwd (Depends-on): Likewise.
50987         * modules/human (Depends-on): Likewise.
50988         * modules/regex (Depends-on): Likewise.
50989         * modules/striconveh (Depends-on): Likewise.
50990         * modules/trim (Depends-on): Likewise.
50991         * modules/unistr/u8-move (Depends-on): Likewise.
50992         * modules/unistr/u16-move (Depends-on): Likewise.
50993         * modules/unistr/u32-move (Depends-on): Likewise.
50994
50995 2008-11-02  Bruno Haible  <bruno@clisp.org>
50996
50997         Mark 'memcpy' obsolete.
50998         * modules/memcpy (Status, Notice): New sections.
50999
51000 2008-11-02  Bruno Haible  <bruno@clisp.org>
51001
51002         Mark 'memcmp' obsolete.
51003         * modules/memcmp (Status, Notice): New sections.
51004         * modules/argmatch (Depends-on): Add memchr.
51005         * modules/backupfile (Depends-on): Likewise.
51006         * modules/c-strcasestr (Depends-on): Likewise.
51007         * modules/crypto/des (Depends-on): Likewise.
51008         * modules/csharpcomp (Depends-on): Likewise.
51009         * modules/fnmatch (Depends-on): Likewise.
51010         * modules/git-merge-changelog (Depends-on): Likewise.
51011         * modules/isnand (Depends-on): Likewise.
51012         * modules/isnand-nolibm (Depends-on): Likewise.
51013         * modules/isnanf (Depends-on): Likewise.
51014         * modules/isnanf-nolibm (Depends-on): Likewise.
51015         * modules/isnanl (Depends-on): Likewise.
51016         * modules/isnanl-nolibm (Depends-on): Likewise.
51017         * modules/mbchar (Depends-on): Likewise.
51018         * modules/memcoll (Depends-on): Likewise.
51019         * modules/quotearg (Depends-on): Likewise.
51020         * modules/regex (Depends-on): Likewise.
51021         * modules/relocatable-prog (Depends-on): Likewise.
51022         * modules/same (Depends-on): Likewise.
51023         * modules/signbit (Depends-on): Likewise.
51024         * modules/strcasestr-simple (Depends-on): Likewise.
51025         * modules/unictype/gen-ctype (Depends-on): Likewise.
51026         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
51027         * modules/uniname/uniname (Depends-on): Likewise.
51028         * modules/unistr/u8-cmp (Depends-on): Likewise.
51029
51030 2008-11-02  Bruno Haible  <bruno@clisp.org>
51031
51032         Mark 'memchr' obsolete.
51033         * modules/memchr (Status, Notice): New sections.
51034         * modules/argp (Depends-on): Add memchr.
51035         * modules/base64 (Depends-on): Likewise.
51036         * modules/c-strcasestr (Depends-on): Likewise.
51037         * modules/chdir-long (Depends-on): Likewise.
51038         * modules/fnmatch (Depends-on): Likewise.
51039         * modules/getsubopt (Depends-on): Likewise.
51040         * modules/git-merge-changelog (Depends-on): Likewise.
51041         * modules/glob (Depends-on): Likewise.
51042         * modules/strcasestr-simple (Depends-on): Likewise.
51043         * modules/strnlen (Depends-on): Likewise.
51044
51045 2008-11-02  Bruno Haible  <bruno@clisp.org>
51046
51047         Mark 'atexit' obsolete.
51048         * modules/atexit (Status, Notice): New sections.
51049         * modules/chdir-long (Depends-on): Add atexit.
51050         * modules/wait-process (Depends-on): Likewise.
51051
51052 2008-11-02  Bruno Haible  <bruno@clisp.org>
51053
51054         * gnulib-tool: New option --with-obsolete.
51055         (func_usage): Document it.
51056         (func_modules_transitive_closure): Drop obsolete dependencies if
51057         incobsolete is not true.
51058         (func_import): Read and save the incobsolete variable to the cache.
51059
51060 2008-11-02  Bruno Haible  <bruno@clisp.org>
51061
51062         * modules/TEMPLATE-EXTENDED: New field 'Status'.
51063         * gnulib-tool: New option --extract-status.
51064         (func_usage): Document it.
51065         (sed_extract_prog): Recognize it.
51066         (func_get_status): New function.
51067
51068 2008-10-30  Simon Josefsson  <simon@josefsson.org>
51069
51070         * modules/sockets (License): Change from LGPL to LGPLv2+.
51071
51072 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51073
51074         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
51075
51076 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51077
51078         * MODULES.html.sh (Support for systems lacking POSIX:2001):
51079         Mention times and sys_times.
51080         * modules/sys_times, modules/sys_times-tests: New modules.
51081         * modules/times, modules/times-tests: Likewise
51082         * m4/sys_times_h.m4: New file.
51083         * lib/sys_times.in.h: Likewise
51084         * lib/times.c: Likewise.
51085         * tests/test-sys_times.c: Likewise.
51086         * tests/test-times.c: Likewise.
51087         * doc/posix-headers/sys_times.texi: Update.
51088         * doc/posix-functions/times.texi: Update.
51089
51090 2008-10-28  Jim Meyering  <meyering@redhat.com>
51091
51092         * modules/tempname (Depends-on): Add lstat.
51093
51094         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
51095
51096 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51097
51098         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
51099         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
51100         using idiom used elsewhere in gnulib.
51101
51102 2008-10-27  Jim Meyering  <meyering@redhat.com>
51103
51104         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
51105
51106 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51107
51108         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
51109         TESTS_ENVIRONMENT, for shell scripts that needs to call built
51110         programs.
51111         * tests/test-argp-2.sh: Use $EXEEXT when needed.
51112
51113 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51114
51115         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
51116
51117 2008-10-27  Bruno Haible  <bruno@clisp.org>
51118
51119         * tests/test-lstat.c: Include <stdio.h>.
51120
51121 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51122
51123         * modules/lstat-tests: New module.
51124         * tests/test-lstat.c: New file.
51125
51126 2008-10-26  Jim Meyering  <meyering@redhat.com>
51127
51128         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
51129
51130 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51131             Bruno Haible  <bruno@clisp.org>
51132
51133         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
51134         * modules/configmake (Include): Add a note that the include must come
51135         after all system headers.
51136         * lib/javaversion.c: Include configmake.h after all other includes.
51137
51138 2008-10-26  Bruno Haible  <bruno@clisp.org>
51139
51140         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
51141         HAVE_STRUCT_RANDOM_DATA to 1.
51142         (gl_STDLIB_H): Simplify.
51143
51144 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51145
51146         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
51147         substitute HAVE_STRUCT_RANDOM_DATA.
51148         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
51149         random_data.
51150         * modules/stdlib (Makefile.am): Substitute
51151         HAVE_STRUCT_RANDOM_DATA.
51152
51153 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51154
51155         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
51156         * doc/gnulib-intro.texi (Copyright): Likewise.
51157
51158 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51159
51160         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
51161         findings.
51162
51163 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
51164             Bruno Haible  <bruno@clisp.org>
51165
51166         * lib/unistd.in.h: Include <winsock2.h>.
51167         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
51168         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
51169         Provide dummy declarations.
51170         (gethostname): Override.
51171         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
51172         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
51173         gl_PREREQ_SYS_H_WINSOCK2.
51174         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
51175         * doc/posix-functions/gethostname.texi: More details.
51176
51177 2008-10-25  Bruno Haible  <bruno@clisp.org>
51178
51179         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
51180         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
51181         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
51182
51183         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
51184         here ...
51185         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
51186         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
51187         gl_UNISTD_H_DEFAULTS.
51188
51189 2008-10-25  Eric Blake  <ebb9@byu.net>
51190
51191         signbit: avoid spurious compiler failure
51192         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
51193         declarations inside function.
51194
51195 2008-10-24  Simon Josefsson  <simon@josefsson.org>
51196             Bruno Haible  <bruno@clisp.org>
51197
51198         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
51199         * modules/random_r (Depends-on): Add stdint.
51200
51201 2008-10-24  Bruno Haible  <bruno@clisp.org>
51202
51203         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
51204         Eggert.
51205         * modules/strerror (License): Likewise.
51206
51207 2008-10-24  Jim Meyering  <meyering@redhat.com>
51208
51209         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
51210         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
51211
51212 2008-10-24  Eric Blake  <ebb9@byu.net>
51213
51214         getgroups: fix compilation when getgroups is available
51215         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
51216         but with <config.h> override of getgroups disabled.
51217
51218 2008-10-24  Simon Josefsson  <simon@josefsson.org>
51219
51220         * doc/gnulib.texi (Header files): Add note about C++ problems.
51221         Explained by Bruno Haible <bruno@clisp.org>.
51222
51223 2008-10-23  Bruno Haible  <bruno@clisp.org>
51224
51225         Define a dummy SA_NODEFER macro on Interix.
51226         * lib/signal.in.h (SA_NODEFER): Define fallback.
51227         Reported by Aleksey Cheusov <cheusov@tut.by> via
51228         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
51229
51230 2008-10-23  Bruno Haible  <bruno@clisp.org>
51231
51232         * modules/freadahead (License): Change to LGPLv2+.
51233         Suggested by Simon Josefsson.
51234
51235 2008-10-23  Jim Meyering  <meyering@redhat.com>
51236
51237         random_r: new module
51238         * modules/random_r: New file.
51239         * m4/random_r.m4: New file.
51240         * lib/random_r.c: New file, from glibc.
51241         * modules/random_r-tests: New file.
51242         * tests/test-random_r.c: New file.
51243         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
51244          Declare.
51245         (RAND_MAX): Define.
51246         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
51247         * modules/stdlib: Substitute them, too.
51248         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
51249         * doc/glibc-functions/initstate_r.texi: Mention the new module.
51250         * doc/glibc-functions/random_r.texi: Likewise.
51251         * doc/glibc-functions/setstate_r.texi: Likewise.
51252         * doc/glibc-functions/srandom_r.texi: Likewise.
51253         * config/srclist.txt: Mention it.
51254
51255 2008-10-23  David Lutterkort  <lutter@redhat.com>
51256
51257         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
51258         link requirement
51259
51260 2008-10-23  Jim Meyering  <meyering@redhat.com>
51261
51262         selinux-h: mark parameters of stub functions as intentionally unused
51263         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
51264         * lib/se-context.in.h: Likewise.
51265
51266 2008-10-22  Simon Josefsson  <simon@josefsson.org>
51267
51268         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
51269
51270 2008-10-22  Simon Josefsson  <simon@josefsson.org>
51271
51272         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
51273
51274 2008-10-22  Eric Blake  <ebb9@byu.net>
51275
51276         glthread/thread: avoid compiler warning
51277         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
51278         Add unreachable abort to silence compiler.
51279
51280 2008-10-22  Eric Blake  <ebb9@byu.net>
51281
51282         netdb: also supply struct addrinfo for cygwin 1.5.x
51283         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
51284         older cygwin.
51285         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
51286         cygwin.
51287         * doc/posix-headers/netdb.texi (netdb.h): Document this.
51288
51289 2008-10-22  Bruno Haible  <bruno@clisp.org>
51290
51291         * users.txt: Update entry about pspp.
51292
51293 2008-10-21  Bruno Haible  <bruno@clisp.org>
51294
51295         Simplification.
51296         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
51297         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
51298
51299         Simplification.
51300         * lib/ioctl.c (ioctl): Don't undefine.
51301         * lib/socket.c (socket): Don't undefine.
51302
51303         Remove unused module indicator macros.
51304         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
51305         GNULIB_$1 as a C macro.
51306
51307         * doc/posix-functions/close.texi: Undo last change.
51308         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
51309         Windows platforms.
51310
51311 2008-10-21  Bruno Haible  <bruno@clisp.org>
51312
51313         Add gethostname() declaration to <unistd.h>.
51314         * lib/unistd.in.h (gethostname): New declaration.
51315         * lib/gethostname.c: Include <unistd.h>.
51316         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
51317         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
51318         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
51319         and HAVE_GETHOSTNAME.
51320         * modules/gethostname (Depends-on): Add unistd.
51321         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51322         (Include): Specify <unistd.h>.
51323         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
51324         HAVE_GETHOSTNAME.
51325         * tests/test-gethostname.c: Include <unistd.h> first.
51326
51327 2008-10-21  Bruno Haible  <bruno@clisp.org>
51328
51329         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
51330         * modules/select-tests (Depends-on): Likewise.
51331         Reported by Simon Josefsson.
51332
51333 2008-10-21  Simon Josefsson  <simon@josefsson.org>
51334
51335         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
51336         * lib/accept.c: New file, based on winsock.c.
51337         * lib/bind.c: New file, based on winsock.c.
51338         * lib/connect.c: New file, based on winsock.c.
51339         * lib/getpeername.c: New file, based on winsock.c.
51340         * lib/getsockname.c: New file, based on winsock.c.
51341         * lib/getsockopt.c: New file, based on winsock.c.
51342         * lib/ioctl.c: New file, based on winsock.c.
51343         * lib/listen.c: New file, based on winsock.c.
51344         * lib/recv.c: New file, based on winsock.c.
51345         * lib/recvfrom.c: New file, based on winsock.c.
51346         * lib/send.c: New file, based on winsock.c.
51347         * lib/sendto.c: New file, based on winsock.c.
51348         * lib/setsockopt.c: New file, based on winsock.c.
51349         * lib/shutdown.c: New file, based on winsock.c.
51350         * lib/socket.c: New file, based on winsock.c.
51351         * lib/w32sock.h: New file, based on winsock.c.
51352         * lib/winsock.c: Remove file.
51353         * modules/accept: Likewise.
51354         * modules/bind: Likewise.
51355         * modules/connect: Likewise.
51356         * modules/getpeername: Likewise.
51357         * modules/getsockname: Likewise.
51358         * modules/getsockopt: Likewise.
51359         * modules/ioctl: Likewise.
51360         * modules/listen: Likewise.
51361         * modules/recv: Likewise.
51362         * modules/recvfrom: Likewise.
51363         * modules/send: Likewise.
51364         * modules/sendto: Likewise.
51365         * modules/setsockopt: Likewise.
51366         * modules/shutdown: Likewise.
51367         * modules/socket: Use socket.c instead of winsock.c.
51368         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
51369         * doc/posix-functions/accept.texi: Doc fix.
51370         * doc/posix-functions/bind.texi: Doc fix.
51371         * doc/posix-functions/close.texi: Doc fix.
51372         * doc/posix-functions/connect.texi: Doc fix.
51373         * doc/posix-functions/getpeername.texi: Doc fix.
51374         * doc/posix-functions/getsockname.texi: Doc fix.
51375         * doc/posix-functions/getsockopt.texi: Doc fix.
51376         * doc/posix-functions/ioctl.texi: Doc fix.
51377         * doc/posix-functions/listen.texi: Doc fix.
51378         * doc/posix-functions/recv.texi: Doc fix.
51379         * doc/posix-functions/recvfrom.texi: Doc fix.
51380         * doc/posix-functions/send.texi: Doc fix.
51381         * doc/posix-functions/sendto.texi: Doc fix.
51382         * doc/posix-functions/setsockopt.texi: Doc fix.
51383         * doc/posix-functions/shutdown.texi: Doc fix.
51384         * doc/posix-functions/socket.texi: Doc fix.
51385
51386 2008-10-20  Bruno Haible  <bruno@clisp.org>
51387
51388         Take into account the role of SIGABRT_COMPAT on Windows 2008.
51389         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
51390         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
51391         as an alias for SIGABRT.
51392         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
51393         (sigaction): Map it to SIGABRT.
51394         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
51395
51396 2008-10-20  Bruno Haible  <bruno@clisp.org>
51397
51398         * lib/fts.c: Don't include lstat.h.
51399         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
51400
51401         Move the lstat() declaration to <sys/stat.h>.
51402         * lib/lstat.h: Remove file.
51403         * lib/sys_stat.in.h: Add special invocation convention.
51404         (lstat): New declaration.
51405         * lib/lstat.c (orig_lstat): New function.
51406         (rpl_lstat): Use orig_lstat instead of lstat.
51407         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
51408         AC_C_INLINE. Set REPLACE_LSTAT.
51409         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
51410         and REPLACE_LSTAT.
51411         * modules/lstat (Files): Remove lib/lstat.h.
51412         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
51413         (Include): Specify <sys/stat.h> instead of lstat.h.
51414         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
51415         REPLACE_LSTAT.
51416         * NEWS: Mention the change.
51417
51418 2008-10-20  Bruno Haible  <bruno@clisp.org>
51419
51420         * modules/posix_spawn-tests: New file.
51421         * tests/test-posix_spawn3.c: New file.
51422
51423 2008-10-20  Bruno Haible  <bruno@clisp.org>
51424
51425         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
51426         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
51427         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
51428         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
51429         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
51430
51431 2008-10-20  Bruno Haible  <bruno@clisp.org>
51432
51433         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
51434         of posix_spawn on AIX 5.3.
51435
51436 2008-10-20  Bruno Haible  <bruno@clisp.org>
51437
51438         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
51439
51440 2008-10-20  Bruno Haible  <bruno@clisp.org>
51441
51442         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
51443         of AC_LANG_PROGRAM.
51444
51445 2008-10-20  Simon Josefsson  <simon@josefsson.org>
51446
51447         * lib/netdb.in.h: Don't define GNU specific constants until they
51448         are supported or needed.  Reported by Bruno Haible
51449         <bruno@clisp.org>.
51450
51451 2008-10-20  Simon Josefsson  <simon@josefsson.org>
51452
51453         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
51454
51455 2008-10-20  Simon Josefsson  <simon@josefsson.org>
51456
51457         * lib/getaddrinfo.h: Remove file.
51458         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
51459         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
51460         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
51461         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
51462         * modules/netdb: Substitute GNULIB_GETADDRINFO.
51463         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
51464         * tests/test-getaddrinfo.c: Likewise.
51465         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
51466         * NEWS: Mention change.
51467
51468 2008-10-19  Bruno Haible  <bruno@clisp.org>
51469
51470         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
51471
51472 2008-10-19  Bruno Haible  <bruno@clisp.org>
51473
51474         * lib/wait-process.c: Include simply <sys/wait.h>.
51475         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
51476         WIFSTOPPED): Remove fallback definitions.
51477         * modules/wait-process (Depends-on): Add sys_wait.
51478
51479         New module 'sys_wait'.
51480         * modules/sys_wait: New file.
51481         * lib/sys_wait.in.h: New file, partially copied from
51482         lib/wait-process.c.
51483         * m4/sys_wait_h.m4: New file.
51484         * doc/posix-headers/sys_wait.texi: Mention the new module.
51485
51486 2008-10-19  Bruno Haible  <bruno@clisp.org>
51487
51488         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
51489
51490 2008-10-19  Bruno Haible  <bruno@clisp.org>
51491
51492         Assume that waitpid() fills an 'int' status, not a 'union wait'.
51493         * lib/wait-process.c (WAIT_T): Remove type.
51494         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
51495         (wait_subprocess): Update.
51496
51497 2008-10-19  Bruno Haible  <bruno@clisp.org>
51498
51499         New module 'atoll'.
51500         * modules/atoll: New file.
51501         * lib/stdlib.in.h (atoll): New declaration.
51502         * lib/atoll.c: New file, from glibc with modifications.
51503         * m4/atoll.m4: New file.
51504         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
51505         HAVE_ATOLL.
51506         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
51507         * doc/posix-functions/atoll.texi: Mention the new module.
51508
51509 2008-10-19  Bruno Haible  <bruno@clisp.org>
51510
51511         Add strtoull() declaration to <stdlib.h>.
51512         * lib/stdlib.in.h (strtoull): New declaration.
51513         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
51514         Set HAVE_STRTOULL.
51515         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
51516         HAVE_STRTOULL.
51517         * modules/strtoull (Depends-on): Add stdlib.
51518         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51519         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
51520         HAVE_STRTOULL.
51521
51522 2008-10-19  Bruno Haible  <bruno@clisp.org>
51523
51524         Add strtoll() declaration to <stdlib.h>.
51525         * lib/stdlib.in.h (strtoll): New declaration.
51526         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
51527         Set HAVE_STRTOLL.
51528         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
51529         HAVE_STRTOLL.
51530         * modules/strtoll (Depends-on): Add stdlib.
51531         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51532         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
51533
51534 2008-10-19  Bruno Haible  <bruno@clisp.org>
51535
51536         * modules/bcopy (Depends-on): Add strings.
51537         (Include): Specify <strings.h>.
51538
51539 2008-10-19  Bruno Haible  <bruno@clisp.org>
51540
51541         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
51542
51543 2008-10-19  Bruno Haible  <bruno@clisp.org>
51544
51545         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
51546         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
51547         mingw.
51548
51549 2008-10-19  Bruno Haible  <bruno@clisp.org>
51550
51551         * lib/atanl.c: Don't include isnanl.h.
51552         * lib/cosl.c: Likewise.
51553         * lib/ldexpl.c: Likewise.
51554         * lib/logl.c: Likewise.
51555         * lib/sinl.c: Likewise.
51556         * lib/sqrtl.c: Likewise.
51557         * lib/tanl.c: Likewise.
51558
51559         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
51560         * lib/isnanf.h: Remove file.
51561         * lib/isnand.h: Remove file.
51562         * lib/isnanl.h: Remove file.
51563         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
51564         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
51565         macros.
51566         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
51567         HAVE_ISNANF, don't define it as a C macro.
51568         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
51569         HAVE_ISNAND, don't define it as a C macro.
51570         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
51571         HAVE_ISNANL, don't define it as a C macro.
51572         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
51573         HAVE_ISNAN[FDL].
51574         * modules/isnanf (Files): Remove lib/isnanf.h.
51575         (Depends-on): Add math.
51576         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51577         (Include): Specify <math.h> instead of isnanf.h.
51578         * modules/isnand (Files): Remove lib/isnand.h.
51579         (Depends-on): Add math.
51580         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51581         (Include): Specify <math.h> instead of isnand.h.
51582         * modules/isnanl (Files): Remove lib/isnanl.h.
51583         (Depends-on): Add math.
51584         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51585         (Include): Specify <math.h> instead of isnanl.h.
51586         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
51587         HAVE_ISNAN[FDL].
51588         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
51589         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
51590         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
51591         * NEWS: Mention the change.
51592
51593 2008-10-18  Bruno Haible  <bruno@clisp.org>
51594
51595         Add getusershell(), setusershell(), endusershell() declarations to
51596         <unistd.h>.
51597         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
51598         declarations.
51599         * lib/getusershell.c: Include unistd.h.
51600         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
51601         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51602         HAVE_GETUSERSHELL.
51603         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
51604         and HAVE_GETUSERSHELL.
51605         * modules/getusershell (Depends-on): Add unistd, extensions.
51606         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51607         (Include): Specify <unistd.h>.
51608         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
51609         HAVE_GETUSERSHELL.
51610
51611 2008-10-18  Bruno Haible  <bruno@clisp.org>
51612
51613         Add a getloadavg() declaration to <stdlib.h>.
51614         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
51615         getloadavg declaration.
51616         (getloadavg): New declaration.
51617         * lib/getloadavg.c: Include <stdlib.h> first.
51618         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
51619         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
51620         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
51621         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
51622         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51623         * modules/getloadavg (Depends-on): Add stdlib, extensions.
51624         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51625         (Include): Specify <stdlib.h>.
51626         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
51627         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51628
51629 2008-10-18  Bruno Haible  <bruno@clisp.org>
51630
51631         * lib/dirchownmod.c: Don't include lchmod.h.
51632
51633         Move the lchmod() declaration to <sys/stat.h>.
51634         * lib/lchmod.h: Remove file.
51635         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
51636         (lchmod): New declaration, moved here from lib/lchown.h.
51637         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
51638         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
51639         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
51640         and HAVE_LCHMOD.
51641         * modules/lchmod (Files): Remove lib/lchmod.h.
51642         (Depends-on): Add sys_stat, extensions.
51643         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
51644         (Include): Specify <sys/stat.h> instead of lchmod.h.
51645         * modules/sys_stat (Depends-on): Add link-warning.
51646         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
51647         definition of GL_LINK_WARNING.
51648         * NEWS: Mention the change.
51649
51650 2008-10-18  Bruno Haible  <bruno@clisp.org>
51651
51652         * lib/fchdir.c: Don't include dirfd.h.
51653         * lib/fts.c: Likewise.
51654         * lib/getcwd.c: Likewise.
51655         * lib/glob.c: Likewise.
51656
51657         Move the dirfd() declaration to <dirent.h>.
51658         * lib/dirfd.h: Remove file.
51659         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
51660         (dirfd): New declaration.
51661         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
51662         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
51663         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
51664         HAVE_DECL_DIRFD.
51665         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
51666         HAVE_DECL_DIRFD.
51667         * modules/dirfd (Files): Remove lib/dirfd.h.
51668         (Depends-on): Add dirent, extensions.
51669         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
51670         (Include): Specify <dirent.h> instead of dirfd.h.
51671         * modules/dirent (Depends-on): Add link-warning.
51672         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
51673         definition of GL_LINK_WARNING.
51674         * NEWS: Mention the change.
51675
51676 2008-10-18  Bruno Haible  <bruno@clisp.org>
51677
51678         Move the euidaccess() declaration to <unistd.h>.
51679         * lib/euidaccess.h: Remove file.
51680         * lib/unistd.in.h (euidaccess): New declaration.
51681         * lib/euidaccess.c: Don't include euidaccess.h.
51682         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
51683         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
51684         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
51685         and HAVE_EUIDACCESS.
51686         * modules/euidaccess (Files): Remove lib/euidaccess.h.
51687         (Depends-on): Add unistd.
51688         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51689         (Include): Specify <unistd.h> instead of euidaccess.h.
51690         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
51691         HAVE_EUIDACCESS.
51692         * NEWS: Mention the change.
51693
51694 2008-10-18  Bruno Haible  <bruno@clisp.org>
51695
51696         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
51697
51698         Move the getdomainname() declaration to <unistd.h>.
51699         * lib/getdomainname.h: Remove file.
51700         * lib/unistd.in.h (getdomainname): New declaration.
51701         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
51702         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
51703         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51704         HAVE_GETDOMAINNAME.
51705         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51706         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
51707         * modules/getdomainname (Files): Remove lib/getdomainname.h.
51708         (Depends-on): Add unistd, extensions.
51709         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51710         (Includes): Specify <unistd.h> instead of getdomainname.h.
51711         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
51712         HAVE_GETDOMAINNAME.
51713         * NEWS: Mention the change.
51714
51715 2008-10-18  Bruno Haible  <bruno@clisp.org>
51716
51717         * modules/dirent: New file.
51718         * m4/dirent_h.m4: New file.
51719         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
51720         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
51721         * modules/fchdir (Files): Remove lib/dirent.in.h.
51722         (Depends-on): Add dirent.
51723         (Makefile.am): Move rules to modules/dirent.
51724         * doc/posix-headers/dirent.texi: Mention the new module.
51725
51726 2008-10-18  Bruno Haible  <bruno@clisp.org>
51727
51728         Avoid -Wunused-parameter warnings in public gnulib header files.
51729         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
51730         macro.
51731         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
51732
51733 2008-10-18  Bruno Haible  <bruno@clisp.org>
51734
51735         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
51736         * doc/glibc-functions/error.texi: Mention the module 'error'.
51737         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
51738         * doc/glibc-functions/getdomainname.texi: Mention the module
51739         'getdomainname'.
51740         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
51741         * doc/glibc-functions/getpagesize.texi: Mention the module
51742         'getpagesize'.
51743         * doc/glibc-functions/getusershell.texi: Mention the module
51744         'getusershell'.
51745         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
51746         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
51747         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
51748         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
51749         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
51750         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
51751         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
51752         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
51753         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
51754         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
51755         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
51756         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
51757         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
51758         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
51759
51760 2008-10-17  Bruno Haible  <bruno@clisp.org>
51761
51762         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
51763         HP-UX and IRIX, use -0.0L.
51764         * tests/test-ceill.c (minus_zero): Likewise.
51765         * tests/test-floorl.c (minus_zero): Likewise.
51766         * tests/test-frexpl.c (minus_zero): Likewise.
51767         * tests/test-isnan.c (minus_zerol): Likewise.
51768         * tests/test-isnanl.h (minus_zero): Likewise.
51769         * tests/test-ldexpl.c (minus_zero): Likewise.
51770         * tests/test-roundl.c (minus_zero): Likewise.
51771         * tests/test-signbit.c (minus_zerol): Likewise.
51772         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
51773         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
51774         * tests/test-truncl.c (minus_zero): Likewise.
51775         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
51776         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
51777         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
51778         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
51779
51780 2008-10-17  Bruno Haible  <bruno@clisp.org>
51781
51782         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
51783         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
51784         that it gets activated only for gcc >= 3.0.
51785         * lib/dirent.in.h: Likewise.
51786         * lib/errno.in.h: Likewise.
51787         * lib/fcntl.in.h: Likewise.
51788         * lib/float.in.h: Likewise.
51789         * lib/iconv.in.h: Likewise.
51790         * lib/inttypes.in.h: Likewise.
51791         * lib/locale.in.h: Likewise.
51792         * lib/math.in.h: Likewise.
51793         * lib/netdb.in.h: Likewise.
51794         * lib/netinet_in.in.h: Likewise.
51795         * lib/search.in.h: Likewise.
51796         * lib/signal.in.h: Likewise.
51797         * lib/spawn.in.h: Likewise.
51798         * lib/stdarg.in.h: Likewise.
51799         * lib/stdint.in.h: Likewise.
51800         * lib/stdio.in.h: Likewise.
51801         * lib/stdlib.in.h: Likewise.
51802         * lib/string.in.h: Likewise.
51803         * lib/strings.in.h: Likewise.
51804         * lib/sys_file.in.h: Likewise.
51805         * lib/sys_ioctl.in.h: Likewise.
51806         * lib/sys_select.in.h: Likewise.
51807         * lib/sys_socket.in.h: Likewise.
51808         * lib/sys_stat.in.h: Likewise.
51809         * lib/sys_time.in.h: Likewise.
51810         * lib/sysexits.in.h: Likewise.
51811         * lib/time.in.h: Likewise.
51812         * lib/unistd.in.h: Likewise.
51813         * lib/wchar.in.h: Likewise.
51814         * lib/wctype.in.h: Likewise.
51815         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51816
51817 2008-10-17  Jim Meyering  <meyering@redhat.com>
51818
51819         ignore-value: don't depend on inline module
51820         * modules/ignore-value (Depends-on): Remove 'inline'.
51821         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
51822         Suggestion from Bruno Haible.
51823
51824 2008-10-17  Bruno Haible  <bruno@clisp.org>
51825
51826         New implementation of condition variables for Win32.
51827         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
51828         (gl_linked_waitqueue_t): New type.
51829         (gl_cond_t): Use it.
51830         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
51831         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
51832         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
51833         (glthread_cond_init_func, glthread_cond_wait_func,
51834         glthread_cond_timedwait_func, glthread_cond_signal_func,
51835         glthread_cond_broadcast_func, glthread_cond_destroy_func):
51836         Reimplemented on the basis of gl_linked_waitqueue_t.
51837         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
51838         gl_waitqueue_t.
51839         (gl_rwlock_t): Update.
51840         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
51841
51842 2008-10-17  Simon Josefsson  <simon@josefsson.org>
51843
51844         * modules/recvfrom (Depends-on): Add dependency on getpeername.
51845         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51846
51847 2008-10-17  Jim Meyering  <meyering@redhat.com>
51848
51849         ignore-value: new module
51850         * modules/ignore-value: New file.
51851         * lib/ignore-value.h: New file.
51852         * MODULES.html.sh (Compiler warning management): New section,
51853         just for this module.  More to come.
51854
51855 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
51856
51857         open-safer.c: avoid 'signed and unsigned in conditional...' warning
51858         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
51859         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
51860
51861 2008-10-16  Jim Meyering  <meyering@redhat.com>
51862
51863         openat-die.c: avoid 'no previous prototype' warning
51864         * lib/openat-die.c: Include "openat.h".
51865         Reported by Reuben Thomas <rrt@sc3d.org>.
51866
51867 2008-10-16  Simon Josefsson  <simon@josefsson.org>
51868
51869         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
51870         * lib/netdb.in.h: Fix typo.
51871         Reported by Bruno Haible  <bruno@clisp.org>
51872
51873         * lib/netdb.in.h: Include sys/socket.h for platforms without
51874         netdb.h, to get structures like hostent on MinGW.
51875         * modules/netdb (Depends-on): Add sys_socket.
51876
51877 2008-10-15  Simon Josefsson  <simon@josefsson.org>
51878
51879         * modules/netdb, modules/netdb-tests: New file.
51880         * m4/netdb_h.m4: New file.
51881         * lib/netdb.in.h: Add, currently just an empty file pending
51882         definitions.
51883         * tests/test-netdb.c: New file.
51884         * doc/posix-headers/netdb.texi: Mention that we replace it if
51885         needed.
51886         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51887         netdb.
51888
51889 2008-10-15  Simon Josefsson  <simon@josefsson.org>
51890
51891         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
51892         with code.
51893
51894 2008-10-13  Bruno Haible  <bruno@clisp.org>
51895
51896         * lib/glthread/cond.c (glthread_cond_wait_func,
51897         glthread_cond_timedwait_func): Add a comment.
51898
51899 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51900
51901         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
51902         * tests/test-select.c: Likewise,
51903
51904 2008-10-13  Bruno Haible  <bruno@clisp.org>
51905
51906         * lib/glthread/cond.c (glthread_cond_wait_func,
51907         glthread_cond_timedwait_func): Fix variable name.
51908         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51909
51910 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
51911
51912         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
51913         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
51914         struct sockaddr.sa_len.
51915         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
51916
51917 2008-10-13  Simon Josefsson  <simon@josefsson.org>
51918
51919         * build-aux/pmccabe2html: Add css and css_url parameters.
51920
51921 2008-10-12  Bruno Haible  <bruno@clisp.org>
51922
51923         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
51924         calling aclx_get.
51925         Reported by Rainer Tammer <tammer@tammer.net>.
51926
51927 2008-10-12  Bruno Haible  <bruno@clisp.org>
51928
51929         Use msvcrt aware primitives for creation/termination of Win32 threads.
51930         * lib/glthread/thread.c: Include <process.h>.
51931         (glthread_create_func): Use _beginthreadex instead of CreateThread.
51932         (wrapper_func): Update signature.
51933         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
51934
51935 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51936             Bruno Haible  <bruno@clisp.org>
51937
51938         Provide a Win32 implementation of the 'cond' module.
51939         * lib/glthread/cond.h [USE_WIN32]: New implementation.
51940         * lib/glthread/cond.c (glthread_cond_init_func,
51941         glthread_cond_wait_func, glthread_cond_timedwait_func,
51942         glthread_cond_signal_func, glthread_cond_broadcast_func,
51943         glthread_cond_destroy_func) [USE_WIN32]: New functions.
51944         * modules/cond (Dependencies): Add gettimeofday.
51945
51946 2008-10-11  Bruno Haible  <bruno@clisp.org>
51947
51948         Make sleep work on older versions of mingw.
51949         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
51950         only whether it exists.
51951         * doc/posix-functions/sleep.texi: Mention the problem with older
51952         versions of mingw.
51953
51954 2008-10-11  Bruno Haible  <bruno@clisp.org>
51955
51956         New module 'shutdown'.
51957         * modules/shutdown: New file.
51958         * lib/sys_socket.in.h (shutdown): New declaration.
51959         * lib/winsock.c (shutdown): New function.
51960         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
51961         GNULIB_SHUTDOWN.
51962         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
51963         * doc/posix-functions/shutdown.texi: Document the new module.
51964
51965 2008-10-11  Jim Meyering  <meyering@redhat.com>
51966
51967         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
51968
51969 2008-10-11  Bruno Haible  <bruno@clisp.org>
51970
51971         New module 'fclose'.
51972         * modules/fclose: New file.
51973         * lib/stdio.in.h (fclose): New declaration.
51974         * lib/fclose.c: New file.
51975         * m4/fclose.m4: New file.
51976         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
51977         REPLACE_FCLOSE.
51978         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
51979         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
51980         REPLACE_FCLOSE.
51981         * modules/close (Depends-on): fclose.
51982         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
51983
51984 2008-10-11  Bruno Haible  <bruno@clisp.org>
51985
51986         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
51987         set errno and don't call _close.
51988
51989 2008-10-10  Bruno Haible  <bruno@clisp.org>
51990
51991         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
51992         ACL, not afterwards. Fixes test failure on Cygwin.
51993
51994 2008-10-09  Ben Pfaff  <blp@gnu.org>
51995
51996         * build-aux/announce-gen: Fix gnulib version related part of usage
51997         message.  Die with a useful error message if no tarballs are
51998         found.
51999
52000 2008-10-10  Jim Meyering  <meyering@redhat.com>
52001
52002         bootstrap: use git's --depth=N option only if it's supported
52003         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
52004         recognize the --depth option.  Reported by Pádraig Brady.
52005
52006 2008-10-09  Bruno Haible  <bruno@clisp.org>
52007
52008         New module 'ioctl'.
52009         * modules/ioctl: New file.
52010         * lib/sys_socket.in.h (ioctl): Remove declaration.
52011         * lib/winsock.c: Include <sys/ioctl.h>.
52012         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
52013         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
52014         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
52015         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
52016         * doc/posix-functions/ioctl.texi: Mention the new module.
52017
52018 2008-10-09  Bruno Haible  <bruno@clisp.org>
52019
52020         New module 'sys_ioctl'.
52021         * lib/sys_ioctl.in.h: New file.
52022         * m4/sys_ioctl_h.m4: New file.
52023         * modules/sys_ioctl: New file.
52024         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
52025
52026 2008-10-09  Bruno Haible  <bruno@clisp.org>
52027
52028         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
52029         * lib/winsock.c: Include <stdarg.h>.
52030         (rpl_ioctl): Change to second argument 'int' and then varargs.
52031
52032 2008-10-09  Bruno Haible  <bruno@clisp.org>
52033
52034         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
52035         when the sys_socket module is present and the system has <winsock2.h>.
52036
52037 2008-10-09  Bruno Haible  <bruno@clisp.org>
52038
52039         * doc/posix-functions/close.texi: Mention module 'close' instead of
52040         module 'sys_socket'.
52041
52042 2008-10-09  Bruno Haible  <bruno@clisp.org>
52043
52044         * doc/glibc-headers/sys_ioctl.texi: New file.
52045         * doc/gnulib.texi: Include it.
52046
52047 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52048             Bruno Haible  <bruno@clisp.org>
52049
52050         Combine the two replacements of 'close'.
52051         * lib/sys_socket.in.h (close): Define to a reminder to include
52052         <unistd.h>.
52053         (_gl_close_fd_maybe_socket): New declaration.
52054         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
52055         * lib/winsock.c (close): Remove undefinition.
52056         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
52057         needed for the gnulib module 'close'.
52058         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
52059         define to an error symbol or to a warning, if suitable.
52060         * lib/close.c: Include <sys/socket.h>.
52061         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
52062         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
52063         UNISTD_H_HAVE_WINSOCK2_H.
52064         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
52065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52066         UNISTD_H_HAVE_WINSOCK2_H.
52067         * modules/sys_socket (Files): Add m4/unistd_h.m4.
52068         (configure.ac): Set a module indicator.
52069         (Makefile.am): Substitute GNULIB_CLOSE.
52070         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
52071         * modules/poll-tests (Depends-on): Add close.
52072         * modules/select-tests (Depends-on): Likewise.
52073
52074 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52075             Bruno Haible  <bruno@clisp.org>
52076
52077         New module 'close'.
52078         * modules/close: New file.
52079         * lib/unistd.in.h (close): Move declaration out of the
52080         FCHDIR_REPLACEMENT scope.
52081         (_gl_unregister_fd): New declaration.
52082         * lib/close.c: New file.
52083         * lib/fchdir.c (rpl_close): Remove function.
52084         * m4/close.m4: New file.
52085         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
52086         close.
52087         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
52088         REPLACE_CLOSE.
52089         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
52090         REPLACE_CLOSE.
52091         * modules/fchdir (Depends-on): Add close.
52092
52093 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52094             Bruno Haible  <bruno@clisp.org>
52095
52096         * lib/fcntl.in.h (open): Simplify conditionals.
52097         (_gl_register_fd): New declaration.
52098         * lib/fchdir.c (rpl_open): Remove function.
52099         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
52100         also.
52101         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
52102         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
52103         open.
52104
52105 2008-10-09  Jim Meyering  <meyering@redhat.com>
52106
52107         GNUmakefile: use the more name-space-friendly "_version"
52108         * top/GNUmakefile (_dummy): Update.
52109         (_version): Rename from "version".
52110
52111 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52112             Bruno Haible  <bruno@clisp.org>
52113
52114         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
52115         rpl_close.
52116         (_gl_register_fd): New function, extracted from rpl_open.
52117         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
52118         (rpl_open, rpl_opendir): Use _gl_register_fd.
52119
52120 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52121
52122         Fix organization of 'open' replacement.
52123         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
52124         (gl_FUNC_OPEN): Use it.
52125         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
52126
52127 2008-10-08  Bruno Haible  <bruno@clisp.org>
52128
52129         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
52130
52131 2008-10-08  Simon Josefsson  <simon@josefsson.org>
52132
52133         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
52134         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
52135         listen).
52136
52137 2008-10-08  Eric Blake  <ebb9@byu.net>
52138
52139         GNUmakefile: add 'make version' target
52140         * top/GNUmakefile (_curr-ver): Split version update rules...
52141         (version): ...into a target.
52142
52143 2008-10-07  Bruno Haible  <bruno@clisp.org>
52144
52145         Use a more portable replacement expression for -0.0L.
52146         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
52147         instead of -0.0L. Fix m4 quotation.
52148
52149         * tests/test-signbit.c: Include <float.h>.
52150         (minus_zero): New variable.
52151         (test_signbitl): Use minus_zero instead of -zero.
52152         * modules/signbit-tests (Depends-on): Add float.
52153
52154         * tests/test-ceill.c: Include <float.h>.
52155         (zero): Remove variable.
52156         (minus_zero): New variable.
52157         (main): Use minus_zero instead of -zero.
52158         * modules/ceill-tests (Depends-on): Add float.
52159
52160         * tests/test-floorl.c: Include <float.h>.
52161         (zero): Remove variable.
52162         (minus_zero): New variable.
52163         (main): Use minus_zero instead of -zero.
52164         * modules/floorl-tests (Depends-on): Add float.
52165
52166         * tests/test-roundl.c: Include <float.h>.
52167         (zero): Remove variable.
52168         (minus_zero): New variable.
52169         (main): Use minus_zero instead of -zero.
52170         * modules/roundl-tests (Depends-on): Add float.
52171
52172         * tests/test-truncl.c: Include <float.h>.
52173         (zero): Remove variable.
52174         (minus_zero): New variable.
52175         (main): Use minus_zero instead of -zero.
52176         * modules/truncl-tests (Depends-on): Add float.
52177
52178         * tests/test-frexpl.c (zero): Remove variable.
52179         (minus_zero): New variable.
52180         (main): Use minus_zero instead of -zero.
52181         * modules/frexpl-tests (Depends-on): Add float.
52182
52183         * tests/test-isnan.c (zerol): Remove variable.
52184         (minus_zerol): New variable.
52185         (test_long_double): Use minus_zerol instead of -zerol.
52186         * modules/isnan-tests (Depends-on): Add float.
52187
52188         * tests/test-isnanl.h (zero): Remove variable.
52189         (minus_zero): New variable.
52190         (main): Use minus_zero instead of -zero.
52191         * modules/isnanl-nolibm-tests (Depends-on): Add float.
52192         * modules/isnanl-tests (Depends-on): Add float.
52193
52194         * tests/test-ldexpl.c (zero): Remove variable.
52195         (minus_zero): New variable.
52196         (main): Use minus_zero instead of -zero.
52197         * modules/ldexpl-tests (Depends-on): Add float.
52198
52199         * tests/test-snprintf-posix.h (zerol): Remove variable.
52200         (minus_zerol): New variable.
52201         (test_function): Use minus_zerol instead of -zerol.
52202         * modules/snprintf-posix-tests (Depends-on): Add float.
52203         * modules/vsnprintf-posix-tests (Depends-on): Add float.
52204
52205         * tests/test-sprintf-posix.h (zerol): Remove variable.
52206         (minus_zerol): New variable.
52207         (test_function): Use minus_zerol instead of -zerol.
52208         * modules/sprintf-posix-tests (Depends-on): Add float.
52209         * modules/vsprintf-posix-tests (Depends-on): Add float.
52210
52211         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
52212         (minus_zerol): New variable.
52213         (test_function): Use minus_zerol instead of -zerol.
52214         * modules/vasnprintf-posix-tests (Depends-on): Add float.
52215
52216         * tests/test-vasprintf-posix.c (zerol): Remove variable.
52217         (minus_zerol): New variable.
52218         (test_function): Use minus_zerol instead of -zerol.
52219         * modules/vasprintf-posix-tests (Depends-on): Add float.
52220
52221 2008-10-07  Simon Josefsson  <simon@josefsson.org>
52222
52223         * MODULES.html.sh (Support for building documentation): Mention
52224         pmccabe2html.  Sort entries.
52225
52226         Add pmccabe2html module, from gnupdf.
52227         * build-aux/pmccabe.css: New file.
52228         * build-aux/pmccabe2html: New file.
52229         * m4/pmccabe2html.m4: New file.
52230         * modules/pmccabe2html: New file.
52231
52232 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
52233
52234         flock: new module
52235         * MODULES.html.sh: Add to list of modules.
52236         * lib/flock.c: flock implementation for Windows and Unix systems
52237         which have fcntl.
52238         * doc/glibc-functions/flock.texi: Update documentation.
52239         * lib/sys_file.in.h: <sys/file.h> header file.
52240         * m4/flock.m4: M4 macros.
52241         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
52242         * modules/flock: flock module.
52243         * modules/flock-tests: flock tests module.
52244         * modules/sys_file: sys/file.h module.
52245         * tests/test-flock.c: test suite for flock.
52246
52247 2008-10-06  Jim Meyering  <meyering@redhat.com>
52248
52249         bootstrap: check for LT_INIT more portably still ;-)
52250         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
52251         Spotted by Bruno Haible.
52252
52253 2008-10-06  Eric Blake  <ebb9@byu.net>
52254
52255         test-signbit: avoid tripping Irix cc bug on -0.0L
52256         * tests/test-signbit.c (minus_zerol): Delete, and replace with
52257         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
52258         entire testsuite consistent and avoids an Irix 6.2 bug.
52259
52260 2008-10-05  Bruno Haible  <bruno@clisp.org>
52261             Jim Meyering  <jim@meyering.net>
52262
52263         Add an option for ignoring EPIPE during close_stdout.
52264         * lib/closeout.h: Include <stdbool.h>.
52265         (close_stdout_set_ignore_EPIPE): New declaration.
52266         * lib/closeout.c: Include <stdbool.h>.
52267         (ignore_EPIPE): New variable.
52268         (close_stdout_set_ignore_EPIPE): New function.
52269         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
52270         * lib/close-stream.c (close_stream): Mention the possible EPIPE
52271         failure.
52272         * modules/closeout (Depends-on): Add stdbool.
52273
52274 2008-10-05  Bruno Haible  <bruno@clisp.org>
52275
52276         * modules/accept: New file.
52277         * modules/bind: New file.
52278         * modules/connect: New file.
52279         * modules/getpeername: New file.
52280         * modules/getsockname: New file.
52281         * modules/getsockopt: New file.
52282         * modules/listen: New file.
52283         * modules/recv: New file.
52284         * modules/recvfrom: New file.
52285         * modules/send: New file.
52286         * modules/sendto: New file.
52287         * modules/setsockopt: New file.
52288         * modules/socket: New file.
52289         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
52290         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
52291         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
52292         the particular module is requested. Add a link warning when the
52293         particular module is not requested.
52294         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
52295         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
52296         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
52297         the particular module is requested.
52298         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
52299         gl_SYS_SOCKET_H_DEFAULTS): New macros.
52300         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
52301         * modules/sys_socket (Depends-on): Add link-warning.
52302         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
52303         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
52304         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
52305         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
52306         GL_LINK_WARNING.
52307         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
52308         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
52309         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
52310         * doc/posix-functions/getpeername.texi: Mention the new module
52311         'getpeername'.
52312         * doc/posix-functions/getsockname.texi: Mention the new module
52313         'getsockname'.
52314         * doc/posix-functions/getsockopt.texi: Mention the new module
52315         'getsockopt'.
52316         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
52317         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
52318         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
52319         * doc/posix-functions/send.texi: Mention the new module 'send'.
52320         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
52321         * doc/posix-functions/setsockopt.texi: Mention the new module
52322         'setsockopt'.
52323         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
52324         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
52325         listen, connect, accept.
52326         * modules/select-tests (Depends-on): Likewise.
52327
52328 2008-10-05  Bruno Haible  <bruno@clisp.org>
52329
52330         * lib/winsock.c (strerror): Remove unused #undef.
52331         (rpl_close): Remove unused local variable.
52332
52333         * modules/sys_socket (Depends-on); Add errno.
52334
52335 2008-10-05  Bruno Haible  <bruno@clisp.org>
52336
52337         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
52338         (select): Add a link warning when the 'select' module is not used.
52339         * modules/sys_select (Depends-on): Add link-warning.
52340         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
52341         Suggested by Paolo Bonzini.
52342
52343 2008-10-05  Jim Meyering  <meyering@redhat.com>
52344
52345         bootstrap: check for LT_INIT more portably
52346         * build-aux/bootstrap: Avoid using grep -E, since it's not
52347         portable enough.  Suggestion from Bruno Haible.
52348
52349 2008-10-05  Bruno Haible  <bruno@clisp.org>
52350
52351         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
52352         as being fixed by gnulib.
52353
52354 2008-10-05  Bruno Haible  <bruno@clisp.org>
52355
52356         * modules/select-tests: New file, mostly copied from
52357         modules/sys_select-tests.
52358         * tests/test-select.c: New file, mostly copied from
52359         tests/test-sys_select.c.
52360         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
52361         * modules/sys_select-tests (Depends-on): Remove all dependencies.
52362         (Makefile.am): Remove test_sys_select_LDADD.
52363
52364         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
52365         to an undefined symbol, for an error message.
52366         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
52367         (gl_SYS_SELECT_H_DEFAULTS): New macro.
52368         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
52369         winsock-select.c here.
52370         * modules/sys_select (Files): Remove lib/winsock-select.c.
52371         (Depends-on): Remove alloca.
52372         (Makefile.am): Substitute GNULIB_SELECT.
52373         * modules/select: New file.
52374         * doc/posix-functions/select.texi: Update.
52375
52376 2008-10-05  Bruno Haible  <bruno@clisp.org>
52377
52378         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
52379         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
52380         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
52381         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
52382         getdtablesize.
52383         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
52384         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
52385
52386 2008-10-05  Bruno Haible  <bruno@clisp.org>
52387
52388         * modules/getdtablesize-tests: New file.
52389         * tests/test-getdtablesize.c: New file.
52390
52391         New module 'getdtablesize'.
52392         * lib/unistd.in.h (getdtablesize): New declaration.
52393         * lib/getdtablesize.c: New file.
52394         * m4/getdtablesize.m4: New file.
52395         * modules/getdtablesize: New file.
52396         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52397         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
52398         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
52399         HAVE_GETDTABLESIZE.
52400         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
52401
52402 2008-10-05  Bruno Haible  <bruno@clisp.org>
52403
52404         * modules/sched (Makefile.am): Fix typo.
52405         Reported by Simon Josefsson.
52406
52407 2008-10-05  Jim Meyering  <meyering@redhat.com>
52408
52409         bootstrap: check for LT_INIT, too
52410         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
52411         are deprecated.  Suggestion from Ralf Wildenhues.
52412
52413 2008-10-05  Bruno Haible  <bruno@clisp.org>
52414
52415         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
52416         overriding them by ours.
52417         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
52418
52419 2008-10-05  Jim Meyering  <meyering@redhat.com>
52420
52421         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
52422         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
52423         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
52424
52425 2008-10-04  Bruno Haible  <bruno@clisp.org>
52426
52427         * modules/dup2 (License): Change to LGPLv2+.
52428         * modules/sleep (License): Likewise.
52429         * modules/perror (License): Likewise.
52430         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
52431         Blake.
52432         * modules/signal (License): Likewise.
52433         * modules/sigprocmask (License): Likewise.
52434         * modules/raise (License): Change to LGPLv2+, with approval by Jim
52435         Meyering.
52436
52437 2008-10-04  Bruno Haible  <bruno@clisp.org>
52438
52439         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
52440         Reported by Rainer Tammer <tammer@tammer.net>.
52441
52442 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
52443             Bruno Haible  <bruno@clisp.org>
52444
52445         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
52446         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
52447         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
52448
52449 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
52450
52451         filevercmp: new module
52452         * lib/filevercmp.h: New function filevercmp comparing version strings.
52453         * lib/filevercmp.c: Implementation of filevercmp function.
52454         * modules/filevercmp: Module metadata.
52455         * tests/test-filevercmp.c: Unit test for new module.
52456         * modules/filevercmp-tests: Unit test metadata.
52457         * MODULES.html.sh: Add filevercmp module.
52458
52459 2008-10-03  Bruno Haible  <bruno@clisp.org>
52460
52461         * lib/c-ctype.h: Add comment.
52462         Reported by Jim Meyering.
52463
52464 2008-10-02  Bruno Haible  <bruno@clisp.org>
52465
52466         * modules/posix_spawn-internal (Depends-on): Add 'open'.
52467
52468 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
52469
52470         * build-aux/bootstrap: Allow renaming bootstrap, and change the
52471         name of bootstrap.conf accordingly.
52472
52473 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
52474
52475         * build-aux/bootstrap: Install git-merge-changelog configuration
52476         items into .gitconfig if needed.
52477
52478 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
52479
52480         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
52481         git repository, and initialize/update it accordingly.
52482
52483 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
52484
52485         * modules/fsync-tests: New file.
52486         * tests/test-fsync.c: New file.
52487
52488         New module 'fsync'.
52489         * lib/fsync.c: New file.
52490         * m4/fsync.m4: New file.
52491         * modules/fsync: New file.
52492         * lib/unistd.in.h (fsync): New declaration.
52493         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
52494         GNULIB_FSYNC and HAVE_FSYNC.
52495         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
52496         * MODULES.html.sh (posix_functions): Add fsync.
52497         * doc/posix-functions/fsync.texi: Mention the new module.
52498
52499 2008-10-02  Jim Meyering  <meyering@redhat.com>
52500
52501         fts.c: sync with similar code from coreutils' remove.c
52502         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
52503         Guard also with "#if defined __linux__", since for now at least,
52504         this code is Linux-kernel-specific.
52505
52506 2008-10-02  Jim Meyering  <meyering@redhat.com>
52507
52508         fts: bug fixes
52509         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
52510         Include <sys/vfs.h>, not <sys/statfs.h>.
52511
52512         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
52513         Include <sys/vfs.h>, not <sys/statfs.h>.
52514
52515 2008-10-01  Bruno Haible  <bruno@clisp.org>
52516
52517         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
52518         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
52519         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
52520         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
52521         * doc/posix-functions/posix_spawnp.texi: Likewise.
52522         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
52523         whether posix_spawn actually works.
52524         * m4/pipe.m4 (gl_PIPE): Likewise.
52525         * modules/execute (Files): Add m4/posix_spawn.m4.
52526         * modules/pipe (Files): Add m4/posix_spawn.m4.
52527         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
52528
52529 2008-10-01  Jim Meyering  <meyering@redhat.com>
52530
52531         remove trailing spaces
52532         * NEWS: Likewise.
52533         * lib/poll.c (poll): Likewise.
52534         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
52535         * lib/winsock.c (rpl_close): Likewise.
52536         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
52537         * modules/yield: Likewise.
52538         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
52539         * tests/test-sys_select.c (connect_to_socket): Likewise.
52540
52541         fts.c: adjust a new interface to be more generally useful
52542         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
52543         (fts_build): Adjust caller.
52544
52545 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52546
52547         * modules/cond-tests: New file.
52548         * tests/test-cond.c: New file.
52549
52550 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52551             Bruno Haible  <bruno@clisp.org>
52552
52553         * modules/cond (Dependencies): Add errno, time.
52554         * lib/glthread/cond.h: Include <time.h>.
52555         (gl_cond_define, gl_cond_define_initialized): Use the same definition
52556         across platforms.
52557
52558 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52559             Bruno Haible  <bruno@clisp.org>
52560
52561         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
52562
52563 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52564             Bruno Haible  <bruno@clisp.org>
52565
52566         * modules/tls-tests (Depends-on): Add thread, yield.
52567         (configure.ac): Remove all checks.
52568         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
52569         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
52570         gl_thread_self): Remove definitions. Include glthread/thread.h and
52571         glthread/yield.h instead.
52572         (test_tls): Pass an additional NULL argument to gl_thread_join.
52573
52574 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52575             Bruno Haible  <bruno@clisp.org>
52576
52577         * modules/lock-tests (Depends-on): Add thread, yield.
52578         (configure.ac): Remove all checks.
52579         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
52580         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
52581         gl_thread_self): Remove definitions. Include glthread/thread.h and
52582         glthread/yield.h instead.
52583         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
52584         additional NULL argument to gl_thread_join.
52585
52586 2008-09-30  Bruno Haible  <bruno@clisp.org>
52587
52588         Fix the Win32 implementation of the 'thread' module.
52589         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
52590         pointer type.
52591         (gl_thread_self): Invoke gl_thread_self_func.
52592         (gl_thread_self_func): New declaration.
52593         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
52594         (do_init_self_key, init_self_key): New functions.
52595         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
52596         Remove some fields.
52597         (running_threads, running_lock): Remove variables.
52598         (get_current_thread_handle): New function.
52599         (gl_thread_self_func, wrapper_func, glthread_create_func,
52600         glthread_join_func, gl_thread_exit_func): Largely rewritten and
52601         simplified.
52602
52603 2008-09-30  Bruno Haible  <bruno@clisp.org>
52604
52605         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
52606         files.
52607
52608 2008-09-30  Jim Meyering  <meyering@redhat.com>
52609
52610         fts.m4: correct the test for statfs.f_type
52611         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
52612         when checking for statfs.f_type.
52613
52614 2008-09-15  Simon Josefsson  <simon@josefsson.org>
52615
52616         tests: avoid some compiler warnings
52617         * tests/test-memchr.c (main): Pass NULL indirectly.
52618         * tests/test-getdate.c (main): Remove unused variable 'ret'.
52619
52620 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
52621
52622         getdate.y: disallow countable dayshifts like "4 yesterday ago"
52623         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
52624         exactly specified dayshifts.
52625         (dayshift): New rule.
52626         (rel): Add dayshift.
52627         (relative_time_table) [tomorrow, yesterday, today, now]:
52628         Use tDAY_SHIFT in place of tDAY_UNIT.
52629         * tests/test-getdate.c: Add tests for now-disallowed countable
52630         dayshifts, e.g., "4 yesterday ago".
52631
52632 2008-09-29  Bruno Haible  <bruno@clisp.org>
52633
52634         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
52635         * tests/test-posix_spawn1.in.sh: Renamed from
52636         tests/test-posix_spawn.in.sh.
52637         * tests/test-posix_spawn2.c: New file.
52638         * tests/test-posix_spawn2.in.sh: New file.
52639         * modules/posix_spawnp-tests (Files): Update.
52640         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
52641
52642 2008-09-29  Bruno Haible  <bruno@clisp.org>
52643
52644         Propagate effects of putenv/setenv/unsetenv to child processes.
52645         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
52646         * lib/pipe.c (create_pipe): Likewise.
52647
52648 2008-09-29  Bruno Haible  <bruno@clisp.org>
52649
52650         Enable use of shell scripts as executables in mingw.
52651         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
52652         run the program as a shell script.
52653         * lib/pipe.c (create_pipe): Likewise.
52654         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
52655         resulting array.
52656
52657 2008-09-29  Eric Blake  <ebb9@byu.net>
52658
52659         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
52660
52661 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
52662
52663         * doc/posix-functions/accept.texi: Update mingw problems.
52664         * doc/posix-functions/bind.texi: Update mingw problems.
52665         * doc/posix-functions/close.texi: Update mingw problems.
52666         * doc/posix-functions/connect.texi: Update mingw problems.
52667         * doc/posix-functions/getpeername.texi: Update mingw problems.
52668         * doc/posix-functions/getsockname.texi: Update mingw problems.
52669         * doc/posix-functions/getsockopt.texi: Update mingw problems.
52670         * doc/posix-functions/ioctl.texi: Update mingw problems.
52671         * doc/posix-functions/listen.texi: Update mingw problems.
52672         * doc/posix-functions/recv.texi: Update mingw problems.
52673         * doc/posix-functions/recvfrom.texi: Update mingw problems.
52674         * doc/posix-functions/select.texi: Update mingw problems.
52675         * doc/posix-functions/send.texi: Update mingw problems.
52676         * doc/posix-functions/sendto.texi: Update mingw problems.
52677         * doc/posix-functions/setsockopt.texi: Update mingw problems.
52678         * doc/posix-functions/socket.texi: Update mingw problems.
52679
52680 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
52681             Bruno Haible  <bruno@clisp.org>
52682
52683         * lib/sys_select.in.h: Include sys/time.h.
52684         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
52685         * modules/sys_select: Depend on sys_time.
52686         * tests/test-sys_select.c: Test that sys/select.h defines struct
52687         timeval fully.
52688
52689 2008-09-29  Bruno Haible  <bruno@clisp.org>
52690
52691         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
52692         * lib/sys_select.in.h: Likewise.
52693
52694 2008-09-29  Bruno Haible  <bruno@clisp.org>
52695
52696         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
52697
52698 2008-09-29  Bruno Haible  <bruno@clisp.org>
52699
52700         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
52701         Set LIBSOCKET instead of augmenting LIBS.
52702         * modules/sockets (Link): New section.
52703         * modules/sockets-tests (test_sockets_LDADD): New variable.
52704         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
52705         * modules/poll-tests (test_poll_LDADD): New variable.
52706         * NEWS: Document the change.
52707
52708 2008-09-29  Bruno Haible  <bruno@clisp.org>
52709
52710         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
52711         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
52712         ARPA_INET_H directly.
52713         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52714
52715 2008-09-28  Bruno Haible  <bruno@clisp.org>
52716
52717         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
52718         from gl_HEADER_SYS_SOCKET.
52719         (gl_HEADER_SYS_SOCKET): Invoke it.
52720         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52721
52722 2008-09-28  Bruno Haible  <bruno@clisp.org>
52723
52724         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
52725         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
52726         Needed on OSF/1 4.0.
52727
52728 2008-09-28  Bruno Haible  <bruno@clisp.org>
52729
52730         Override open more carefully.
52731         * lib/open.c (orig_open): New function.
52732         (rpl_open): Use orig_open instead of open.
52733         * lib/fcntl.in.h: Add special invocation convention.
52734         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
52735         (gl_FUNC_OPEN): Invoke it.
52736
52737         Override freopen more carefully.
52738         * lib/freopen.c (orig_freopen): New function.
52739         (rpl_freopen): Use orig_freopen instead of freopen.
52740         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
52741         (gl_FUNC_FREOPEN): Invoke it.
52742
52743         Override fopen more carefully.
52744         * lib/fopen.c (orig_fopen): New function.
52745         (rpl_fopen): Use orig_fopen instead of fopen.
52746         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
52747         (gl_FUNC_FOPEN): Invoke it.
52748         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
52749
52750 2008-09-28  Bruno Haible  <bruno@clisp.org>
52751
52752         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
52753         SIGPIPE.
52754
52755 2008-09-28  Bruno Haible  <bruno@clisp.org>
52756
52757         * tests/test-sigaction.c (handler, main): Disable the check whether
52758         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
52759         glibc systems with LinuxThreads.
52760
52761 2008-09-28  Bruno Haible  <bruno@clisp.org>
52762
52763         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
52764
52765         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
52766         with AIX xlc.
52767         * lib/fcntl.in.h (open): Likewise.
52768         Reported by Rainer Tammer <tammer@tammer.net>.
52769
52770 2008-09-28  Bruno Haible  <bruno@clisp.org>
52771
52772         * modules/posix_spawnp-tests: New file.
52773         * tests/test-posix_spawn.c: New file.
52774         * tests/test-posix_spawn.in.sh: New file.
52775
52776         New module 'posix_spawnp'.
52777         * modules/posix_spawnp: New file.
52778         * lib/spawnp.c: New file, from GNU libc with modifications.
52779         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
52780
52781         New module 'posix_spawn'.
52782         * modules/posix_spawn: New file.
52783         * lib/spawn.c: New file, from GNU libc with modifications.
52784         * doc/posix-functions/posix_spawn.texi: Mention the new module.
52785
52786         New module 'posix_spawnattr_destroy'.
52787         * modules/posix_spawnattr_destroy: New file.
52788         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
52789         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
52790         module.
52791
52792         New module 'posix_spawnattr_setsigmask'.
52793         * modules/posix_spawnattr_setsigmask: New file.
52794         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
52795         modifications.
52796         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
52797         new module.
52798
52799         New module 'posix_spawnattr_getsigmask'.
52800         * modules/posix_spawnattr_getsigmask: New file.
52801         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
52802         modifications.
52803         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
52804         new module.
52805
52806         New module 'posix_spawnattr_setsigdefault'.
52807         * modules/posix_spawnattr_setsigdefault: New file.
52808         * lib/spawnattr_setdefault.c: New file, from GNU libc with
52809         modifications.
52810         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
52811         new module.
52812
52813         New module 'posix_spawnattr_getsigdefault'.
52814         * modules/posix_spawnattr_getsigdefault: New file.
52815         * lib/spawnattr_getdefault.c: New file, from GNU libc with
52816         modifications.
52817         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
52818         new module.
52819
52820         New module 'posix_spawnattr_setschedpolicy'.
52821         * modules/posix_spawnattr_setschedpolicy: New file.
52822         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
52823         modifications.
52824         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
52825         new module.
52826
52827         New module 'posix_spawnattr_getschedpolicy'.
52828         * modules/posix_spawnattr_getschedpolicy: New file.
52829         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
52830         modifications.
52831         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
52832         new module.
52833
52834         New module 'posix_spawnattr_setschedparam'.
52835         * modules/posix_spawnattr_setschedparam: New file.
52836         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
52837         modifications.
52838         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
52839         new module.
52840
52841         New module 'posix_spawnattr_getschedparam'.
52842         * modules/posix_spawnattr_getschedparam: New file.
52843         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
52844         modifications.
52845         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
52846         new module.
52847
52848         New module 'posix_spawnattr_setpgroup'.
52849         * modules/posix_spawnattr_setpgroup: New file.
52850         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
52851         modifications.
52852         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
52853         module.
52854
52855         New module 'posix_spawnattr_getpgroup'.
52856         * modules/posix_spawnattr_getpgroup: New file.
52857         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
52858         modifications.
52859         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
52860         module.
52861
52862         New module 'posix_spawnattr_setflags'.
52863         * modules/posix_spawnattr_setflags: New file.
52864         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
52865         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
52866         module.
52867
52868         New module 'posix_spawnattr_getflags'.
52869         * modules/posix_spawnattr_getflags: New file.
52870         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
52871         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
52872         module.
52873
52874         New module 'posix_spawnattr_init'.
52875         * modules/posix_spawnattr_init: New file.
52876         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
52877         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
52878         module.
52879
52880         New module 'posix_spawn_file_actions_destroy'.
52881         * modules/posix_spawn_file_actions_destroy: New file.
52882         * lib/spawn_faction_destroy.c: New file, from GNU libc with
52883         modifications.
52884         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
52885         the new module.
52886
52887         New module 'posix_spawn_file_actions_addopen'.
52888         * modules/posix_spawn_file_actions_addopen: New file.
52889         * lib/spawn_faction_addopen.c: New file, from GNU libc with
52890         modifications.
52891         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
52892         the new module.
52893
52894         New module 'posix_spawn_file_actions_adddup2'.
52895         * modules/posix_spawn_file_actions_adddup2: New file.
52896         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
52897         modifications.
52898         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
52899         the new module.
52900
52901         New module 'posix_spawn_file_actions_addclose'.
52902         * modules/posix_spawn_file_actions_addclose: New file.
52903         * lib/spawn_faction_addclose.c: New file, from GNU libc with
52904         modifications.
52905         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
52906         the new module.
52907
52908         New module 'posix_spawn_file_actions_init'.
52909         * modules/posix_spawn_file_actions_init: New file.
52910         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
52911         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
52912         new module.
52913
52914         New module 'posix_spawn-internal'.
52915         * modules/posix_spawn-internal: New file.
52916         * lib/spawn_int.h: New file, from GNU libc with modifications.
52917         * lib/spawni.c: New file, from GNU libc with modifications.
52918         * m4/posix_spawn.m4: New file.
52919
52920         New module 'spawn'.
52921         * modules/spawn: New file.
52922         * lib/spawn.in.h: New file, from GNU libc with modifications.
52923         * m4/spawn_h.m4: New file.
52924         * doc/posix-headers/spawn.texi: Mention the new module.
52925
52926 2008-09-28  Bruno Haible  <bruno@clisp.org>
52927
52928         * modules/sched-tests: New file.
52929         * tests/test-sched.c: New file.
52930
52931         New module 'sched'.
52932         * modules/sched: New file.
52933         * lib/sched.in.h: New file.
52934         * m4/sched_h.m4: New file.
52935         * doc/posix-headers/sched.texi: Mention the new module.
52936
52937 2008-09-27  Eric Blake  <ebb9@byu.net>
52938
52939         Fix previous patch, and tweak references to $0.
52940         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
52941         (func_version, func_gnulib_dir): Don't call this program
52942         gnulib-tool.
52943         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
52944         with using $0 in function.
52945         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
52946         (func_fatal_error): Reuse the name the user invoked us with.
52947
52948 2008-09-27  Bruno Haible  <bruno@clisp.org>
52949
52950         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
52951         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
52952         (gl_ICONV_H): Not here.
52953         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
52954         instead of assigning ICONV_H directly.
52955
52956         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
52957         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
52958         WCHAR_H directly.
52959
52960 2008-09-27  Bruno Haible  <bruno@clisp.org>
52961
52962         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
52963         * modules/arpa_inet (Depends-on): Add link-warning.
52964         (Makefile.am): Insert the definition of GL_LINK-WARNING.
52965         * modules/unistd (Makefile.am): Likewise.
52966
52967 2008-09-26  Bruno Haible  <bruno@clisp.org>
52968
52969         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
52970         variables.
52971         (func_version): Essentially copied from gnulib-tool.
52972         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
52973         func_readlink): Copied from gnulib-tool.
52974
52975 2008-09-26  Bruno Haible  <bruno@clisp.org>
52976
52977         * gnulib-tool (func_version): Change directory to $gnulib_dir before
52978         invoking git-version-gen.
52979
52980 2008-09-26  Bruno Haible  <bruno@clisp.org>
52981
52982         * posix-modules: Update to directory names changed on 2008-01-19.
52983         Remove commas in output before splitting into words. No more need to
52984         avoid 'ftruncate' since 2007-02-19.
52985
52986 2008-09-26  Bruno Haible  <bruno@clisp.org>
52987
52988         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
52989
52990 2008-09-26  Bruno Haible  <bruno@clisp.org>
52991
52992         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
52993         * modules/fwriteerror (Depends-on): Add errno.
52994
52995 2008-09-26  Bruno Haible  <bruno@clisp.org>
52996
52997         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
52998         * tests/test-vc-list-files-cvs.sh: Likewise.
52999
53000 2008-09-26  Bruno Haible  <bruno@clisp.org>
53001
53002         * doc/posix-headers/sys_resource.texi: Reorder items.
53003
53004 2008-09-26  Jim Meyering  <meyering@redhat.com>
53005
53006         fts: tweak inode comparison function
53007         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
53008         inode numbers, as documented.
53009
53010         fts: sort dirent entries on inode number before traversing
53011         This avoids a quadratic, seek-related performance penalty when
53012         operating on a directory containing many entries (measurable at 10k;
53013         3.5 hours at 2 million entries with a cold cache) on certain types
53014         of file systems, including ext3 and ext4, but not tmpfs.
53015         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
53016         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
53017         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
53018         (fs_handles_readdir_ordered_dirents_efficiently): New function.
53019         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
53020         (fts_build): Set the stat.st_ino member from D_INO.
53021         If it is likely to be useful, sort dirent entries on inode number.
53022
53023         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
53024         and the struct statfs.f_type member.
53025         * modules/fts (Depends-on): Add d-ino.
53026
53027 2008-09-26  Bruno Haible  <bruno@clisp.org>
53028
53029         * modules/sigpipe-die (Depends-on): Add sigpipe.
53030
53031         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
53032         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
53033         and GNULIB_STDIO_H_SIGPIPE are set.
53034         * lib/stdio-write.c: New file.
53035         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
53036         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53037         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53038         REPLACE_STDIO_WRITE_FUNCS.
53039         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
53040         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53041         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53042         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
53043         * modules/stdio (Files): Add lib/stdio-write.c.
53044         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
53045         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53046         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53047         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
53048         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
53049         REPLACE_FPRINTF_POSIX.
53050         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
53051         REPLACE_PRINTF_POSIX.
53052         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
53053         REPLACE_VFPRINTF_POSIX.
53054         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
53055         REPLACE_VPRINTF_POSIX.
53056         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
53057         SIGPIPE issue.
53058         * doc/posix-functions/fputc.texi: Likewise.
53059         * doc/posix-functions/fputs.texi: Likewise.
53060         * doc/posix-functions/fwrite.texi: Likewise.
53061         * doc/posix-functions/printf.texi: Likewise.
53062         * doc/posix-functions/putc.texi: Likewise.
53063         * doc/posix-functions/putchar.texi: Likewise.
53064         * doc/posix-functions/puts.texi: Likewise.
53065         * doc/posix-functions/vfprintf.texi: Likewise.
53066         * doc/posix-functions/vprintf.texi: Likewise.
53067
53068         * modules/safe-write (Depends-on): Add write.
53069
53070         * modules/sigpipe-tests: New file.
53071         * tests/test-sigpipe.c: New file.
53072         * tests/test-sigpipe.sh: New file.
53073
53074         * modules/write: New file.
53075         * lib/unistd.in.h: Include <sys/types.h>.
53076         (write): New declaration.
53077         * lib/write.c: New file.
53078         * m4/write.m4: New file.
53079         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53080         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
53081         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
53082         GNULIB_WRITE, REPLACE_WRITE.
53083         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
53084         and the SIGPIPE issue.
53085
53086         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
53087         (raise): New declaration.
53088         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
53089         (ext_signal): New function.
53090         (rpl_raise): New function.
53091         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
53092         GNULIB_SIGNAL_H_SIGPIPE.
53093         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
53094         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
53095
53096         * modules/sigpipe: New file.
53097         * m4/sigpipe.m4: New file.
53098
53099 2008-09-25  Derek Price  <derek@ximbiot.com>
53100             Bruno Haible  <bruno@clisp.org>
53101
53102         * gnulib-tool (func_import): Report all license incompatibilities, not
53103         just the first one.
53104
53105 2008-09-25  Bruno Haible  <bruno@clisp.org>
53106
53107         * gnulib-tool (func_import): When computing the edits, consider not
53108         only the Makefile.ams that exist but also those that will be generated.
53109
53110 2008-09-25  Simon Josefsson  <simon@josefsson.org>
53111
53112         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
53113         fixes gnulib-tool --test warning about duplicate dependency.
53114
53115 2008-09-25  Bruno Haible  <bruno@clisp.org>
53116
53117         * gnulib-tool: Don't ask the user to perform edits in the generated
53118         Makefile.ams.
53119         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
53120         apply to the Makefile.am being generated.
53121         (func_emit_tests_Makefile_am): Execute edits that apply to the
53122         Makefile.am being generated.
53123         (func_import): Setup list of Makefile.am edits before emitting the
53124         Makefile.ams, not at the end.
53125         (func_create_testdir): Update.
53126         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53127
53128 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53129
53130         * gnulib-tool (func_import): Store the --tests-base option in the
53131         comment in gnulib-cache.m4.
53132
53133 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
53134
53135         * NEWS: Document increased portability that sys_select now provides.
53136
53137         * lib/sys_select.in.h: Install select wrapper.
53138         * lib/sys_socket.in.h: Use more descriptive name when there is no
53139         select wrapper.
53140         * lib/winsock-select.c: New.
53141         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
53142         Require gl_HEADER_SYS_SOCKET.
53143         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
53144         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
53145         * tests/test-sys_select.c: Add functional tests.
53146
53147 2008-09-24  Eric Blake  <ebb9@byu.net>
53148
53149         open, fopen: close fd leak in last patch
53150         * lib/open.c (rpl_open): Close fd before returning error.
53151         * lib/fopen.c (rpl_fopen): Close fd before returning error.
53152         * doc/posix-functions/open.texi (open): Document that Irix also
53153         has the bug.
53154         * doc/posix-functions/fopen.texi (fopen): Likewise.
53155         Reported by Paolo Bonzini.
53156
53157 2008-09-24  Bruno Haible  <bruno@clisp.org>
53158
53159         Ensure that a filename ending in a slash cannot be used to access a
53160         non-directory.
53161         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
53162         to check whether it's really a directory.
53163         * lib/fopen.c: Include fcntl.h, unistd.h.
53164         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
53165         and fdopen().
53166         * modules/fopen (Depends-on): Add unistd.
53167         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
53168         * tests/test-fopen.c (main): Likewise.
53169         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
53170         * doc/posix-functions/fopen.texi: Likewise.
53171         Reported by Eric Blake.
53172
53173 2008-09-23  Eric Blake  <ebb9@byu.net>
53174
53175         c-stack: avoid compiler optimizations when provoking overflow
53176         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
53177         recursion harder to optimize, to ensure a stack overflow occurs.
53178         * tests/test-c-stack.c (recurse): Likewise.
53179         Borrowed from libsigsegv.
53180
53181         c-stack: work around Irix sigaltstack bug
53182         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
53183         whether sigaltstack uses wrong end of stack_t (copied in part from
53184         libsigsegv).
53185         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
53186         Irix bug, without requiring an over-allocation.
53187         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
53188         bug.
53189
53190         fopen: document mingw bug on directories
53191         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
53192         not allowing a stream visiting a directory, even though reading
53193         from such a stream is not portable.
53194
53195 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53196
53197         * lib/poll.c: Rewrite.
53198         * modules/poll: Depend on alloca.
53199
53200 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53201
53202         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
53203         instead define prototypes for a full set of wrappers.  Ensure
53204         that Cygwin does not use the compatibility code, which is only
53205         for MinGW.
53206         * lib/winsock.c: New.
53207         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
53208         * modules/sys_socket: Add lib/winsock.c.
53209
53210         * modules/poll-tests: Add errno and perror.
53211         * tests/test-poll.c: Use ioctl, not ioctlsocket.
53212
53213 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53214
53215         * tests/test-poll.c: Downgrade minimum needed Winsock version.
53216
53217 2008-09-23  Bruno Haible  <bruno@clisp.org>
53218
53219         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
53220         * doc/glibc-functions/*: Likewise.
53221
53222 2008-09-23  Simon Josefsson  <simon@josefsson.org>
53223
53224         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
53225         success.
53226
53227 2008-09-22  Eric Blake  <ebb9@byu.net>
53228             Bruno Haible  <bruno@clisp.org>
53229
53230         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
53231         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
53232         supply %A but mishandle pseudo-NaN.
53233         Reported by Simon Josefsson.
53234
53235 2008-09-21  Bruno Haible  <bruno@clisp.org>
53236
53237         * tests/test-lock.c (main): Tweak skip message.
53238         * tests/test-tls.c (main): Likewise.
53239
53240 2008-09-21  Bruno Haible  <bruno@clisp.org>
53241
53242         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
53243         whether 'struct sigaction' has sa_sigaction here...
53244         (gl_PREREQ_SIG_HANDLER_H): ... not here.
53245         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
53246
53247 2008-09-21  Bruno Haible  <bruno@clisp.org>
53248
53249         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
53250         section.
53251         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
53252         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
53253         the new section.
53254         (Support for obsolete systems lacking POSIX:2001): New section.
53255         (String handling <string.h>): Move strdup to the new section.
53256         Suggested by Simon Josefsson and Paolo Bonzini.
53257
53258 2008-09-21  Bruno Haible  <bruno@clisp.org>
53259
53260         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
53261         exponents in %e and %g results on 'long double'. Needed for mingw's
53262         improved *printf functions.
53263         * tests/test-vasprintf-posix.c (test_function): Likewise.
53264         * tests/test-snprintf-posix.h (test_function): Likewise.
53265         * tests/test-sprintf-posix.h (test_function): Likewise.
53266         Reported by Eric Blake.
53267
53268 2008-09-21  Bruno Haible  <bruno@clisp.org>
53269
53270         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
53271         * tests/test-sprintf-posix.h (test_function): Likewise.
53272
53273 2008-09-21  Bruno Haible  <bruno@clisp.org>
53274
53275         * modules/getpass (Depends-on): Add strdup-posix.
53276
53277         New module 'strdup-posix'.
53278         * modules/strdup-posix: New file.
53279         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
53280         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
53281         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53282         REPLACE_STRDUP.
53283         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
53284         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
53285         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53286         strdup-posix.
53287
53288         * modules/strdup (Depends-on): Remove malloc-posix.
53289
53290 2008-09-20  Bruno Haible  <bruno@clisp.org>
53291
53292         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
53293         Wildenhues.
53294
53295 2008-09-20  Bruno Haible  <bruno@clisp.org>
53296
53297         Ensure that wint_t gets defined on IRIX 5.3.
53298         * lib/wchar.in.h (wint_t): Define if not defined by the system.
53299         * lib/wctype.in.h (wint_t): Likewise.
53300         (__wctype_wint_t): Remove type.
53301         (isw*): Use wint_t instead of __wctype_wint_t.
53302         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
53303         * modules/wchar (Files): Add m4/wint_t.m4.
53304         (Makefile.am): Substitute HAVE_WINT_T.
53305         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
53306         * tests/test-wctype.c: Check that wint_t is defined.
53307         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
53308         * doc/posix-headers/wctype.texi: Likewise.
53309         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53310
53311 2008-09-18  Bruno Haible  <bruno@clisp.org>
53312
53313         * gnulib-tool (func_exit): Update comment.
53314
53315 2008-09-18  Simon Josefsson  <simon@josefsson.org>
53316
53317         * modules/getaddrinfo (Depends-on): Remove strdup, this module
53318         assumes strdup exists and does not depend on strdup to return
53319         ENOMEM on out of memory conditions.
53320
53321 2008-09-18  Bruno Haible  <bruno@clisp.org>
53322
53323         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
53324         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
53325         digits for the exponent.
53326
53327 2008-09-18  Jim Meyering  <meyering@redhat.com>
53328             Bruno Haible  <bruno@clisp.org>
53329
53330         * lib/vasnprintf.c (decimal_point_char): Define also if
53331         NEED_PRINTF_INFINITE_LONG_DOUBLE.
53332
53333 2008-09-16  Bruno Haible  <bruno@clisp.org>
53334         and Eric Blake  <ebb9@byu.net>
53335
53336         vasnprintf: support Irix 5.3
53337         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
53338         that mishandle long double infinity.
53339         Reported by Tom G. Christensen.
53340
53341 2008-09-16  Bruno Haible  <bruno@clisp.org>
53342
53343         * doc/glibc-functions/scandir.texi: Mention the function is missing on
53344         Solaris 9.
53345         * doc/glibc-functions/alphasort.texi: Likewise.
53346         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
53347
53348 2008-09-16  Jim Meyering  <meyering@redhat.com>
53349
53350         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
53351         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
53352         a umask modification leak out of a subshell.  Otherwise, the
53353         opensolaris /bin/sh would be accepted and thus cause unwarranted
53354         failures in the coreutils test suite.
53355
53356 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
53357
53358         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
53359         to succeed.
53360
53361 2008-09-16  Jim Meyering  <meyering@redhat.com>
53362
53363         avoid spurious test failure when library is built without ACL support
53364         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
53365         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
53366         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
53367         * tests/test-copy-acl.sh: Likewise.
53368
53369 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53370
53371         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
53372         based on character occurrence counts.
53373
53374 2008-09-15  Eric Blake  <ebb9@byu.net>
53375
53376         tests: avoid some compiler warnings
53377         * tests/test-memchr.c (main): Pass NULL indirectly.
53378         * tests/test-closein.c (main): Avoid unused variable.
53379
53380 2008-09-15  Bruno Haible  <bruno@clisp.org>
53381
53382         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
53383         are missing on OpenBSD 4.0 individually.
53384         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53385
53386 2008-09-15  Bruno Haible  <bruno@clisp.org>
53387
53388         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
53389         * doc/posix-functions/strerror.texi: Mention also Cygwin.
53390         * doc/posix-functions/perror.texi: Likewise.
53391         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
53392         is missing.
53393         Reported by Eric Blake.
53394
53395         * lib/errno.in.h: Use replacement values >= 2000.
53396         Reported by Eric Blake.
53397
53398 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53399
53400         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
53401         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
53402         limit.
53403         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
53404         compareseq was aborted.
53405
53406 2008-09-14  Bruno Haible  <bruno@clisp.org>
53407
53408         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
53409         yvec_edit_count.
53410         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
53411         (fstrcmp_bounded): Simplify result computation accordingly.
53412
53413 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53414
53415         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
53416         (fstrcmp): Define in terms of fstrcmp_bounded.
53417         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
53418         lower_bound argument.
53419         Return quickly if the result is certainly < lower_bound.
53420         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
53421
53422 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53423
53424         * lib/diffseq.h (EARLY_ABORT): New macro.
53425         (compareseq): Change return type to bool. Return true when EARLY_ABORT
53426         evaluates to true.
53427
53428 2008-09-14  Bruno Haible  <bruno@clisp.org>
53429
53430         * modules/perror-tests: New file.
53431         * tests/test-perror.sh: New file.
53432         * tests/test-perror.c: New file.
53433
53434         New module 'perror'.
53435         * lib/stdio.in.h (perror): New declaration.
53436         * lib/perror.c: New file.
53437         * m4/perror.m4: New file.
53438         * modules/perror: New file.
53439         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
53440         * doc/posix-functions/perror.texi: Mention the perror module.
53441         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
53442         REPLACE_PERROR.
53443         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
53444         REPLACE_PERROR.
53445
53446 2008-09-14  Bruno Haible  <bruno@clisp.org>
53447
53448         * modules/stdio (Makefile.am): Reorder to match the order in
53449         lib/stdio.in.h.
53450         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
53451
53452 2008-09-13  Bruno Haible  <bruno@clisp.org>
53453
53454         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
53455
53456 2008-09-13  Bruno Haible  <bruno@clisp.org>
53457
53458         Extend strerror to cover the added errno values.
53459         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
53460         (rpl_strerror): Provide error messages for the added errno values and
53461         for the WSA* values.
53462         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
53463         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
53464         strerror.
53465         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
53466         * modules/strerror (Depends-on): Add errno.
53467         * doc/posix-functions/strerror.texi: Document the change.
53468         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
53469         and EOVERFLOW.
53470
53471 2008-09-13  Bruno Haible  <bruno@clisp.org>
53472
53473         * modules/EOVERFLOW: Remove file.
53474         * m4/eoverflow.m4: Remove file.
53475         * modules/EOVERFLOW-tests: Remove file.
53476         * tests/test-EOVERFLOW.c: Remove file.
53477         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
53478         * modules/ftell (Depends-on): Likewise.
53479         * modules/getdelim (Depends-on): Likewise.
53480         * modules/getugroups (Depends-on): Likewise.
53481         * modules/poll (Depends-on): Likewise.
53482         * modules/snprintf (Depends-on): Likewise.
53483         * modules/sprintf-posix (Depends-on): Likewise.
53484         * modules/vasnprintf (Depends-on): Likewise.
53485         * modules/vasprintf (Depends-on): Likewise.
53486         * modules/vfprintf-posix (Depends-on): Likewise.
53487         * modules/vsnprintf (Depends-on): Likewise.
53488         * modules/vsprintf-posix (Depends-on): Likewise.
53489         * modules/xvasprintf (Depends-on): Likewise.
53490         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53491         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
53492         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
53493         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
53494         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53495         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
53496         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
53497         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
53498         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53499         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
53500         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
53501         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
53502         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53503         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
53504         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
53505         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
53506         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53507         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
53508         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
53509         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
53510         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53511         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
53512         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
53513         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
53514         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
53515         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53516         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
53517         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
53518         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
53519         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
53520         * MODULES.html.sh: Remove EOVERFLOW.
53521         * NEWS: Mention the change.
53522
53523 2008-09-13  Bruno Haible  <bruno@clisp.org>
53524
53525         * modules/errno-tests: New file.
53526         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
53527
53528         * lib/errno.in.h: New file.
53529         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
53530         * modules/errno: New file.
53531         * doc/posix-headers/errno.texi: Update documentation.
53532         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
53533
53534 2008-09-13  Bruno Haible  <bruno@clisp.org>
53535
53536         * tests/test-poll.c: Use #if for native Windows, rather than testing
53537         __MSVCRT__.
53538
53539 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53540             Bruno Haible  <bruno@clisp.org>
53541
53542         * lib/glob.c: Don't include <pwd.h> on native Windows.
53543         (WINDOWS32): New macro.
53544         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
53545
53546 2008-09-13  Bruno Haible  <bruno@clisp.org>
53547
53548         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
53549         (ETIMEDOUT): Remove macro.
53550         (glthread_cond_timedwait_multithreaded): New declaration.
53551         (glthread_cond_timedwait): Use it.
53552         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
53553         (glthread_cond_timedwait_multithreaded): New function.
53554
53555 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53556
53557         * modules/poll-tests: Do not check for io.h.
53558         * tests/test-poll.c: Check for __MSVCRT__ instead.
53559
53560 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53561
53562         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
53563         * modules/poll-tests: Add inet_pton, stdbool, sockets.
53564         * tests/test-poll.c: Use them.  Use _pipe on Windows.
53565
53566 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53567
53568         * modules/poll-tests: New.
53569         * tests/test-poll.c: New.
53570
53571 2008-09-12  Eric Blake  <ebb9@byu.net>
53572
53573         frexp: test for NetBSD failure on -0.0
53574         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
53575         not all, bugs from NetBSD 3.0 have been fixed.
53576         * doc/posix-functions/frexp.texi (frexp): Document bug.
53577         Reported by Thomas Klausner.
53578
53579         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
53580         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
53581         literal -0.0.
53582         Reported by Jonathan C. Patschke <jp@centtech.com>.
53583
53584 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53585
53586         * lib/glthread/cond.h: Use dummy implementation also if
53587         USE_WIN32_THREADS.
53588
53589 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53590
53591         * modules/fnmatch-posix (License): Change to LGPLv2+.
53592         * modules/fnmatch-gnu (License): Likewise.
53593
53594 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53595
53596         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
53597
53598 2008-09-11  Jim Meyering  <meyering@redhat.com>
53599
53600         * users.txt: Add gtk-vnc.
53601
53602 2008-09-08  Simon Josefsson  <simon@josefsson.org>
53603
53604         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
53605         rotate amounts.
53606
53607         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
53608         required for 16-bit and 8-bit rotates.
53609         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
53610         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
53611         UINT8_MAX instead of hard-coded constants.
53612         Suggested by Paul Eggert.
53613
53614 2008-09-07  Bruno Haible  <bruno@clisp.org>
53615
53616         * tests/test-striconveh.c (main): Check behaviour when converting from
53617         UTF-7.
53618
53619         Make striconveh work better with stateful encodings.
53620         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
53621         that iconv does not increment the inptr when returning -1/EINVAL.
53622
53623 2008-09-07  Bruno Haible  <bruno@clisp.org>
53624
53625         * build-aux/config.rpath: Update according to libtool-2.2.6.
53626         * build-aux/config.libpath: Likewise.
53627
53628 2008-09-06  Bruno Haible  <bruno@clisp.org>
53629
53630         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
53631         * lib/freadptr.c (freadptr): Likewise.
53632         * lib/freadseek.c (freadptrinc): Likewise.
53633         Reported by Simon Josefsson.
53634
53635 2008-09-06  Bruno Haible  <bruno@clisp.org>
53636
53637         * modules/freadptr (License): Change to LGPLv2+.
53638         * modules/freadseek (License): Likewise.
53639         Suggested by Eric Blake.
53640
53641         * modules/memchr2 (License): Change to LGPLv2+.
53642         Approved by Eric Blake.
53643
53644 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53645             Bruno Haible  <bruno@clisp.org>
53646
53647         Make gnulib-tool work with native 'sed' on AIX.
53648         * gnulib-tool (sed_noop): New variable.
53649         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
53650         func_add_or_update, func_create_testdir): Use it to initialize sed
53651         script variables.
53652         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53653
53654 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
53655             Bruno Haible  <bruno@clisp.org>
53656
53657         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
53658         also works after #include directives.
53659
53660 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
53661
53662         getdate.y: reject an out-of-range timezone value
53663         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
53664         the range [-24...+24].  When specified with only one or two digits,
53665         * tests/test-getdate.c: Tests for the fix.
53666         * doc/getdate.texi: Document this change.
53667
53668 2008-09-03  Bruno Haible  <bruno@clisp.org>
53669
53670         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
53671
53672 2008-09-02  Simon Josefsson  <simon@josefsson.org>
53673
53674         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
53675         <bruce.korb@gmail.com> with ideas from Ben Pfaff
53676         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
53677         Blake <ebb9@byu.net>.
53678
53679         * tests/test-bitrotate.c: Add more test vectors.
53680
53681 2008-09-02  Eric Blake  <ebb9@byu.net>
53682
53683         vasnprintf-posix: handle large precision via %.*d
53684         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
53685         when handling it ourselves.
53686         * tests/test-vasnprintf-posix.c (test_function): Add test.
53687         * tests/test-snprintf-posix.h (test_function): Likewise.
53688         * tests/test-sprintf-posix.h (test_function): Likewise.
53689         * tests/test-vasprintf-posix.c (test_function): Likewise.
53690         Reported by Alain Guibert.
53691
53692 2008-09-01  Eric Blake  <ebb9@byu.net>
53693
53694         c-stack: make configure-time check more robust
53695         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
53696         successful sigaction call.
53697         Reported by Tom G. Christensen.
53698
53699 2008-09-01  Bruno Haible  <bruno@clisp.org>
53700
53701         New module 'findprog-lgpl'.
53702         * modules/findprog-lgpl: New file.
53703         * lib/findprog-lgpl.c: New file.
53704         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
53705         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
53706         to decide whether to use strdup or xstrdup, concatenated_filename or
53707         xconcatenated_filename.
53708
53709 2008-09-01  Bruno Haible  <bruno@clisp.org>
53710
53711         Split module 'concat-filename' into 'concat-filename' (LGPL) and
53712         'xconcat-filename' (GPL).
53713         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
53714         (License): Change to LGPLv2+.
53715         * modules/xconcat-filename: New file.
53716         * lib/concat-filename.h (concatenated_filename): Change specification.
53717         (xconcatenated_filename): New declaration.
53718         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
53719         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
53720         memory situations.
53721         * lib/xconcat-filename.c: New file.
53722         * NEWS: Mention the change.
53723         * lib/findprog.c: Include concat-filename.h, not filename.h.
53724         (find_in_path): Use xconcatenated_filename instead of
53725         concatenated_filename.
53726         * lib/javacomp.c: Include concat-filename.h, not filename.h.
53727         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
53728         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
53729         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
53730         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
53731         instead of concatenated_filename.
53732         * lib/javaexec.c: Include concat-filename.h, not filename.h.
53733         (execute_java_class): Use xconcatenated_filename instead of
53734         concatenated_filename.
53735         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
53736         * modules/javacomp (Depends-on): Likewise.
53737         * modules/javaexec (Depends-on): Likewise.
53738
53739 2008-09-01  Bruno Haible  <bruno@clisp.org>
53740
53741         Split module 'filename' into 'filename' and 'concat-filename'.
53742         * modules/filename: Keep only lib/filename.h.
53743         (License): Change to LGPLv2+.
53744         * modules/concat-filename: New file, extracted from modules/filename.
53745         * lib/filename.h (concatenated_filename): Remove declaration.
53746         * lib/concat-filename.h: New file, extracted from lib/filename.h.
53747         * lib/concat-filename.c: Include concat-filename.h.
53748         * NEWS: Mention the change.
53749
53750 2008-09-01  Simon Josefsson  <simon@josefsson.org>
53751
53752         * lib/bitrotate.h (rotl8, rotr8): Add.
53753
53754         * modules/bitrotate (configure.ac): Need
53755         AC_REQUIRE([AC_C_INLINE]).
53756         (Description): Mention stdint.h.  Reported by Bruno Haible
53757         <bruno@clisp.org>.
53758
53759         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
53760         Paolo Bonzini <bonzini@gnu.org>.
53761
53762 2008-08-31  Bruno Haible  <bruno@clisp.org>
53763
53764         Assume Solaris specific bi-arch conventions on Solaris systems.
53765         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
53766         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
53767         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
53768         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
53769         like acl_libdirstem.
53770         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
53771         acl_libdirstem.
53772         * NEWS: Mention the change.
53773         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
53774
53775 2008-08-31  Jim Meyering  <meyering@redhat.com>
53776
53777         * lib/strftime.h: Add comments describing the two added arguments.
53778
53779         remove duplicate #include directives
53780         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
53781         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
53782
53783 2008-08-31  Bruno Haible  <bruno@clisp.org>
53784
53785         New module 'sigpipe-die'.
53786         * modules/sigpipe-die: New file.
53787         * lib/sigpipe-die.h: New file.
53788         * lib/sigpipe-die.c: New file.
53789         * MODULES.html.sh (Signal handling): Add sigpipe-die.
53790
53791 2008-08-31  Bruno Haible  <bruno@clisp.org>
53792
53793         Don't override previously installed signal handlers.
53794         * lib/fatal-signal.c (saved_sigactions): New variable.
53795         (uninstall_handlers): Reset the signal to the saved handler, not
53796         to SIG_DFL (except when ignored).
53797         (install_handlers): Save the previous handlers.
53798
53799 2008-08-30  Bruno Haible  <bruno@clisp.org>
53800
53801         * gnulib-tool (func_reset_sigpipe): New function.
53802         (func_get_automake_snippet, func_modules_transitive_closure,
53803         func_import): Invoke it before a join command that reads from stdin,
53804         to avoid "echo: write error: Broken pipe" error messages on stderr.
53805         Reported by Sam Steingold <sds@gnu.org>.
53806
53807 2008-08-30  Bruno Haible  <bruno@clisp.org>
53808
53809         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
53810         Code copied from m4/open.m4.
53811         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
53812         access and the filename ends in a slash. Code copied from lib/open.c.
53813         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
53814         * tests/test-fopen.c (main): Check against bug with trailing slash.
53815
53816 2008-08-29  Bruno Haible  <bruno@clisp.org>
53817
53818         Avoid some "gcc -pedantic" warnings.
53819         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
53820         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
53821         * lib/dirent.in.h: Likewise.
53822         * lib/fcntl.in.h: Likewise.
53823         * lib/float.in.h: Likewise.
53824         * lib/iconv.in.h: Likewise.
53825         * lib/inttypes.in.h: Likewise.
53826         * lib/locale.in.h: Likewise.
53827         * lib/math.in.h: Likewise.
53828         * lib/netinet_in.in.h: Likewise.
53829         * lib/search.in.h: Likewise.
53830         * lib/signal.in.h: Likewise.
53831         * lib/stdarg.in.h: Likewise.
53832         * lib/stdint.in.h: Likewise.
53833         * lib/stdio.in.h: Likewise.
53834         * lib/stdlib.in.h: Likewise.
53835         * lib/string.in.h: Likewise.
53836         * lib/strings.in.h: Likewise.
53837         * lib/sys_select.in.h: Likewise.
53838         * lib/sys_socket.in.h: Likewise.
53839         * lib/sys_stat.in.h: Likewise.
53840         * lib/sys_time.in.h: Likewise.
53841         * lib/sysexits.in.h: Likewise.
53842         * lib/time.in.h: Likewise.
53843         * lib/unistd.in.h: Likewise.
53844         * lib/wchar.in.h: Likewise.
53845         * lib/wctype.in.h: Likewise.
53846         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
53847         * modules/fchdir (Makefile.am): Likewise.
53848         * modules/fcntl (Makefile.am): Likewise.
53849         * modules/float (Makefile.am): Likewise.
53850         * modules/iconv_open (Makefile.am): Likewise.
53851         * modules/inttypes (Makefile.am): Likewise.
53852         * modules/locale (Makefile.am): Likewise.
53853         * modules/math (Makefile.am): Likewise.
53854         * modules/netinet_in (Makefile.am): Likewise.
53855         * modules/search (Makefile.am): Likewise.
53856         * modules/signal (Makefile.am): Likewise.
53857         * modules/stdarg (Makefile.am): Likewise.
53858         * modules/stdint (Makefile.am): Likewise.
53859         * modules/stdio (Makefile.am): Likewise.
53860         * modules/stdlib (Makefile.am): Likewise.
53861         * modules/string (Makefile.am): Likewise.
53862         * modules/strings (Makefile.am): Likewise.
53863         * modules/sys_select (Makefile.am): Likewise.
53864         * modules/sys_socket (Makefile.am): Likewise.
53865         * modules/sys_stat (Makefile.am): Likewise.
53866         * modules/sys_time (Makefile.am): Likewise.
53867         * modules/sysexits (Makefile.am): Likewise.
53868         * modules/time (Makefile.am): Likewise.
53869         * modules/unistd (Makefile.am): Likewise.
53870         * modules/wchar (Makefile.am): Likewise.
53871         * modules/wctype (Makefile.am): Likewise.
53872         Reported by Reuben Thomas <rrt@sc3d.org>.
53873
53874 2008-08-29  Bruno Haible  <bruno@clisp.org>
53875
53876         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
53877         any more.
53878
53879 2008-08-29  Simon Josefsson  <simon@josefsson.org>
53880
53881         * MODULES.html.sh (Misc): Add bitrotate.
53882
53883         * modules/bitrotate: New file.
53884
53885         * lib/bitrotate.h: New file.
53886
53887         * modules/bitrotate-tests: New file.
53888
53889         * tests/test-bitrotate.c: New file.
53890
53891         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
53892         on the bitrotate module.
53893
53894         * lib/arctwo.c: Use new bitrotate module.
53895
53896 2008-08-29  Jim Meyering  <meyering@redhat.com>
53897
53898         bootstrap: merge changes from coreutils
53899         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
53900         of copied files.  Remove a kludge, now that this is fixed.
53901         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
53902         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
53903         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
53904
53905 2008-08-29  Bruno Haible  <bruno@clisp.org>
53906
53907         * MODULES.html.sh: Remove --cvs-urls option.
53908
53909 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
53910
53911         maint.mk: adjust to file name change
53912         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
53913
53914 2008-08-28  Jim Meyering  <meyering@redhat.com>
53915
53916         * modules/getndelim2 (License): Relicense to LGPLv2+.
53917         Approved by Richard Stallman for the version of 1995, and by
53918         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
53919
53920 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
53921
53922         * lib/getdelim.c (flockfile, funlockfile): Make all of them
53923         dummy if one is not available.  Do not touch them if
53924         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
53925         (getc_maybe_unlocked): New.
53926         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
53927
53928 2008-08-26  Eric Blake  <ebb9@byu.net>
53929
53930         doc/INSTALL: resync from autoconf
53931         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
53932         (INSTALL_PRELUDE): Delete; this is done more efficiently by
53933         moving...
53934         * install.texi [!autoconf]: ...here.  Resync from autoconf.
53935         * INSTALL: Regenerate.
53936         * INSTALL.ISO: New file.
53937         * INSTALL.UTF-8: Likewise.
53938
53939 2008-08-26  Jim Meyering  <meyering@redhat.com>
53940
53941         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
53942         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
53943         these definitions conditional, so that they may be overridden, too.
53944
53945 2008-08-26  Bruno Haible  <bruno@clisp.org>
53946
53947         Generate INSTALL file variants with prettier quotes.
53948         * doc/Makefile (INSTALL_PRELUDE): New macro.
53949         (INSTALL): Use it.
53950         (INSTALL.ISO, INSTALL.UTF-8): New rules.
53951
53952 2008-08-26  Bruno Haible  <bruno@clisp.org>
53953
53954         Run makeinfo in an English locale.
53955         * doc/Makefile (MAKEINFO): New variable.
53956
53957 2008-08-26  Bruno Haible  <bruno@clisp.org>
53958
53959         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
53960         Suggested by Eric Blake.
53961
53962 2008-08-25  Bruno Haible  <bruno@clisp.org>
53963
53964         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
53965
53966 2008-08-25  Eric Blake  <ebb9@byu.net>
53967
53968         c-stack: test that stack overflow can be caught
53969         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
53970         that platform allows handling stack overflow; at least OS/2 EMX
53971         has sigaltstack, but crashes before transferring control to
53972         handler on stack overflow.
53973         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
53974         check for HAVE_STACK_OVERFLOW_HANDLING.
53975         Reported by Elbert Pol.
53976
53977 2008-08-25  Bruno Haible  <bruno@clisp.org>
53978
53979         * doc/posix-functions/strftime.texi: Fix description of strftime
53980         module.
53981
53982 2008-08-24  Bruno Haible  <bruno@clisp.org>
53983
53984         * tests/uniwidth/test-uc_width2.c: New file.
53985         * tests/uniwidth/test-uc_width2.sh: New file.
53986         * modules/uniwidth/width-tests (Files): Add the new files.
53987         (TESTS): Add uniwidth/test-uc_width2.sh.
53988         (TESTS_ENVIRONMENT): New variable.
53989         (check_PROGRAMS): Add test-uc_width2.
53990         (test_uc_width2_SOURCES): New variable.
53991
53992         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
53993         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
53994         not 0x00AB.
53995         Reported by Alexander V. Lukyanov <lav@netis.ru>.
53996
53997 2008-08-22  Eric Blake  <ebb9@byu.net>
53998
53999         test-lock, test-tls: mention why a test is skipped
54000         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
54001         skipped.
54002         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
54003
54004         count-one-bits: relax license
54005         * modules/count-one-bits (License): Relicense to LGPLv2+.
54006         Suggested by Ludovic Courtès, approved by Ben Pfaff.
54007
54008 2008-08-22  Andreas Schwab  <schwab@suse.de>
54009
54010         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
54011         Remove spurious space in assignment.
54012
54013 2008-08-21  Simon Josefsson  <simon@josefsson.org>
54014
54015         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
54016         Paul Eggert <eggert@CS.UCLA.EDU>.
54017
54018 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
54019
54020         * modules/gettext: Add m4/threadlib.m4.
54021
54022 2008-08-19  Eric Blake  <ebb9@byu.net>
54023
54024         test-c-stack: fix compilation failure on FreeBSD 5.0
54025         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
54026         headers before <sys/resource.h>.
54027         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
54028         the bug.
54029         Reported by Nelson H. F. Beebe.
54030
54031         strverscmp: migrate from "strverscmp.h" to <string.h>
54032         * modules/string (Makefile.am): Add new hooks.
54033         * modules/strverscmp (Files): Remove strverscmp.h.
54034         (Depends-on): Add string.
54035         (configure.ac): Add indicator.
54036         (Include): Mention new header.
54037         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
54038         defaults.
54039         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
54040         results.
54041         * lib/strverscmp.h: Delete.
54042         * lib/string.in.h (strverscmp): Provide declaration, when needed.
54043         * tests/test-strverscmp.c (includes): Adjust client.
54044         * lib/check-version.c (includes): Likewise.
54045         * NEWS: Document the change.
54046
54047         strverscmp: add unit test
54048         * modules/strverscmp-tests: New file.
54049         * tests/test-strverscmp.c: Likewise.
54050
54051 2008-08-19  Simon Josefsson  <simon@josefsson.org>
54052
54053         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
54054         regarding Windows crypto stuff, from Mono.
54055
54056 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
54057
54058         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
54059         if present, for intel RND.  Return error on failures.
54060
54061 2008-08-18  Ben Pfaff  <blp@gnu.org>
54062
54063         gitlog-to-changelog: give better diagnostic for failed pipe-open
54064         * build-aux/gitlog-to-changelog: Improve error message: suggest
54065         that the version of Git may be too old.
54066
54067 2008-08-18  Simon Josefsson  <simon@josefsson.org>
54068
54069         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
54070         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
54071
54072 2008-08-18  Bruno Haible  <bruno@clisp.org>
54073
54074         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
54075         pthread_in_use().
54076
54077 2008-08-18  Bruno Haible  <bruno@clisp.org>
54078
54079         * lib/glthread/threadlib.c: Include <pthread.h>.
54080
54081 2008-08-18  Bruno Haible  <bruno@clisp.org>
54082
54083         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
54084         glthread_recursive_lock_* macros.
54085         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
54086         Fix syntax error.
54087
54088 2008-08-18  Bruno Haible  <bruno@clisp.org>
54089
54090         * lib/glthread/thread.c: Avoid forcing a context switch right after
54091         thread creation.
54092
54093 2008-08-17  Bruno Haible  <bruno@clisp.org>
54094
54095         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
54096         * lib/glthread/thread.h: Provide Win32 specific implementation.
54097         * modules/thread (Files): Add lib/glthread/thread.c.
54098         (Depends-on): Add lock.
54099         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
54100
54101 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54102
54103         New module 'yield'.
54104         * modules/yield: New file.
54105         * lib/glthread/yield.h: New file.
54106         * m4/yield.m4: New file.
54107         * MODULES.html.sh (Multithreading): Add yield.
54108
54109 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54110
54111         New module 'thread'.
54112         * modules/thread: New file.
54113         * lib/glthread/thread.h: New file.
54114         * m4/thread.m4: New file.
54115         * MODULES.html.sh (Multithreading): Add thread.
54116
54117 2008-08-17  Bruno Haible  <bruno@clisp.org>
54118
54119         * lib/glthread/lock.h: Include <stdlib.h> always.
54120         * lib/glthread/tls.h: Likewise.
54121         * lib/glthread/cond.h: Likewise.
54122
54123 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54124
54125         New module 'cond'.
54126         * modules/cond: New file.
54127         * lib/glthread/cond.h: New file.
54128         * lib/glthread/cond.c: New file.
54129         * m4/cond.m4: New file.
54130         * MODULES.html.sh (Multithreading): Add cond.
54131
54132 2008-08-16  Eric Blake  <ebb9@byu.net>
54133
54134         c-stack: fix regression on Irix 5.3 from 2008-06-21
54135         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
54136         sa_sigaction...
54137         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
54138         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
54139         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
54140         * modules/signal (Makefile.am): Use the value.
54141         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
54142         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
54143         * doc/posix-headers/signal.texi (signal.h): Document this
54144         portability issue.
54145         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
54146         Reported by Tom G. Christensen.
54147
54148 2008-08-17  Bruno Haible  <bruno@clisp.org>
54149
54150         New module 'threadlib'.
54151         * modules/threadlib: New file.
54152         * lib/glthread/threadlib.c: New file, extracted from
54153         lib/glthread/lock.c.
54154         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
54155         functions.
54156         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
54157         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
54158         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
54159         macros.
54160         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
54161         (gl_DISABLE_THREADS): Remove macro.
54162         * modules/lock (Files): Remove build-aux/config.rpath.
54163         (Depends-on): Remove havelib. Add threadlib.
54164         (configure.ac-early): Remove section.
54165         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
54166         * modules/tls (Depends-on): Remove lock. Add threadlib.
54167         (Link): New section, copied from threadlib.
54168         * MODULES.html.sh (Multithreading): Add threadlib.
54169
54170 2008-08-14  Bruno Haible  <bruno@clisp.org>
54171
54172         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
54173         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
54174         glthread_rwlock_unlock, glthread_rwlock_destroy,
54175         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
54176         glthread_recursive_lock_destroy): Define as macros always.
54177         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
54178         glthread_lock_lock.
54179         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
54180         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
54181         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
54182         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
54183         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
54184         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
54185         (glthread_recursive_lock_lock_func): Renamed from
54186         glthread_recursive_lock_lock.
54187         (glthread_recursive_lock_unlock_func): Renamed from
54188         glthread_recursive_lock_unlock.
54189         (glthread_recursive_lock_destroy_func): Renamed from
54190         glthread_recursive_lock_destroy.
54191
54192 2008-08-14  Bruno Haible  <bruno@clisp.org>
54193
54194         * lib/glthread/lock.h: Renamed from lib/lock.h.
54195         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
54196         * lib/glthread/tls.h: Renamed from lib/tls.h.
54197         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
54198         * lib/fstrcmp.c: Update includes.
54199         * lib/strsignal.c: Update includes.
54200         * modules/lock (Files, Makefile.am): Update.
54201         (Include): Change to "glthread/lock.h".
54202         * modules/tls (Files, Makefile.am): Update.
54203         (Include): Change to "glthread/tls.h".
54204         * tests/test-lock.c: Update includes.
54205         * tests/test-tls.c: Update includes.
54206         * NEWS: Mention the renamed header files.
54207
54208 2008-08-11  Jim Meyering  <meyering@redhat.com>
54209
54210         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
54211
54212 2008-08-11  Eric Blake  <ebb9@byu.net>
54213
54214         test-c-stack: avoid C99-ism
54215         * tests/test-c-stack.c (main): Fix whitespace, move declaration
54216         before statement.
54217         Reported by Alain Guibert.
54218
54219 2008-08-10  Jim Meyering  <meyering@redhat.com>
54220
54221         ensure that return value of uinttostr et al are not ignored
54222         * lib/inttostr.h (__GNUC_PREREQ): Define.
54223         (__attribute_warn_unused_result__): Define.
54224         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
54225
54226 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
54227
54228         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
54229         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
54230
54231 2008-08-07  Jim Meyering  <meyering@redhat.com>
54232
54233         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
54234
54235         * modules/mkstemp (License): Relicense under LGPLv2+.
54236         * modules/tempname (License): Likewise.
54237
54238 2008-08-06  Bruno Haible  <bruno@clisp.org>
54239
54240         * lib/poll.c (poll): Further micro-optimization.
54241
54242 2008-08-06  Jim Meyering  <meyering@redhat.com>
54243
54244         inet_pton.c: use locale-independent tolower
54245         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
54246         (inet_pton6): Use c_tolower rather than tolower.
54247         * modules/inet_pton (Depends-on): Add c-ctype.
54248
54249 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
54250
54251         * lib/poll.c (poll): Avoid division when timeout is 0, cache
54252         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
54253
54254 2008-08-06  Jim Meyering  <meyering@redhat.com>
54255
54256         * modules/inet_pton (License): Relicense under LGPLv2+.
54257
54258 2008-08-03  Bruno Haible  <bruno@clisp.org>
54259
54260         Additional non-aborting API for lock and tls.
54261         * lib/lock.h: Include <errno.h>.
54262         (glthread_lock_init): New macro/function.
54263         (gl_lock_init): Define as wrapper around glthread_lock_init.
54264         (glthread_lock_lock): New macro/function.
54265         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
54266         (glthread_lock_unlock): New macro/function.
54267         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
54268         (glthread_lock_destroy): New macro/function.
54269         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
54270         (glthread_rwlock_init): New macro/function.
54271         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
54272         (glthread_rwlock_rdlock): New macro/function.
54273         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
54274         (glthread_rwlock_wrlock): New macro/function.
54275         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
54276         (glthread_rwlock_unlock): New macro/function.
54277         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
54278         (glthread_rwlock_destroy): New macro/function.
54279         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
54280         (glthread_recursive_lock_init): New macro/function.
54281         (gl_recursive_lock_init): Define as wrapper around
54282         glthread_recursive_lock_init.
54283         (glthread_recursive_lock_lock): New macro/function.
54284         (gl_recursive_lock_lock): Define as wrapper around
54285         glthread_recursive_lock_lock.
54286         (glthread_recursive_lock_unlock): New macro/function.
54287         (gl_recursive_lock_unlock): Define as wrapper around
54288         glthread_recursive_lock_unlock.
54289         (glthread_recursive_lock_destroy): New macro/function.
54290         (gl_recursive_lock_destroy): Define as wrapper around
54291         glthread_recursive_lock_destroy.
54292         (glthread_once): New macro/function.
54293         (gl_once): Define as wrapper around glthread_once.
54294         Update function declarations.
54295         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
54296         glthread_rwlock_init. Return error code.
54297         (glthread_rwlock_rdlock_multithreaded): Renamed from
54298         glthread_rwlock_rdlock. Return error code.
54299         (glthread_rwlock_wrlock_multithreaded): Renamed from
54300         glthread_rwlock_wrlock. Return error code.
54301         (glthread_rwlock_unlock_multithreaded): Renamed from
54302         glthread_rwlock_unlock. Return error code.
54303         (glthread_rwlock_destroy_multithreaded): Renamed from
54304         glthread_rwlock_destroy. Return error code.
54305         (glthread_recursive_lock_init_multithreaded): Renamed from
54306         glthread_recursive_lock_init. Return error code.
54307         (glthread_recursive_lock_lock_multithreaded): Renamed from
54308         glthread_recursive_lock_lock. Return error code.
54309         (glthread_recursive_lock_unlock_multithreaded): Renamed from
54310         glthread_recursive_lock_unlock. Return error code.
54311         (glthread_recursive_lock_destroy_multithreaded): Renamed from
54312         glthread_recursive_lock_destroy. Return error code.
54313         (glthread_once_call): Make static.
54314         (glthread_once_multithreaded): Renamed from glthread_once.
54315         * lib/tls.h: Include <errno.h>.
54316         (glthread_tls_key_init): New macro/function.
54317         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
54318         (glthread_tls_set): New macro/function.
54319         (gl_tls_set): Define as wrapper around glthread_tls_set.
54320         (glthread_tls_key_destroy): New macro/function.
54321         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
54322         Update function declarations.
54323         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
54324         glthread_tls_get.
54325         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
54326
54327 2008-08-04  Eric Blake  <ebb9@byu.net>
54328
54329         gnumakefile: use space, not TAB, outside of targets
54330         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
54331
54332 2008-08-02  Jim Meyering  <meyering@redhat.com>
54333
54334         getdate.y: avoid locale-dependent date parsing failure
54335         In Turkish locales, getdate would fail to recognize keywords
54336         containing a lowercase "i".  The solution is not to rely on
54337         locale-sensitive case-conversion.
54338         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
54339         (lookup_word): Use c_toupper in place of toupper.
54340         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
54341         Reported by Vefa Bicakci <bicave@superonline.com> in
54342         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
54343         * modules/getdate (Depends-on): Add c-ctype.
54344
54345 2008-08-02  Bruno Haible  <bruno@clisp.org>
54346
54347         * gnulib-tool (func_import): When updating or creating a .gitignore
54348         file, prepend each added line with a slash, and ignore leading slashes
54349         from the existing lines.
54350         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
54351
54352 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54353
54354         Portability fix for GNU make 3.79.1.
54355         * top/GNUmakefile: Avoid 'else COND', which older GNU make
54356         versions do not understand.
54357
54358 2008-08-01  Bruno Haible  <bruno@clisp.org>
54359
54360         Work around bug of HP-UX 10.20 cc with -0.0 literal.
54361         * tests/test-isnanf.h (zero): New variable.
54362         (main): Avoid literal -0.0f.
54363         * tests/test-isnand.h (zero): New variable.
54364         (main): Avoid literal -0.0.
54365         * tests/test-isnanl.h (zero): New variable.
54366         (main): Avoid literal -0.0L.
54367         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
54368         (test_float, test_double, test_long_double): Avoid literals -0.0f,
54369         -0.0, -0.0L.
54370         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
54371         (test_signbitd): Avoid literal -0.0.
54372         (test_signbitl): Avoid literal -0.0L.
54373         * tests/test-ceilf1.c (zero): New variable.
54374         (main): Avoid literal -0.0f.
54375         * tests/test-ceill.c (zero): New variable.
54376         (main): Avoid literal -0.0L.
54377         * tests/test-floorf1.c (zero): New variable.
54378         (main): Avoid literal -0.0f.
54379         * tests/test-floorl.c (zero): New variable.
54380         (main): Avoid literal -0.0L.
54381         * tests/test-roundf1.c (zero): New variable.
54382         (main): Avoid literal -0.0f.
54383         * tests/test-round1.c (zero): New variable.
54384         (main): Avoid literal -0.0.
54385         * tests/test-roundl.c (zero): New variable.
54386         (main): Avoid literal -0.0L.
54387         * tests/test-truncf1.c (zero): New variable.
54388         (main): Avoid literal -0.0f.
54389         * tests/test-trunc1.c (zero): New variable.
54390         (main): Avoid literal -0.0.
54391         * tests/test-truncl.c (zero): New variable.
54392         (main): Avoid literal -0.0L.
54393         * tests/test-frexp.c (zero): New variable.
54394         (main): Avoid literal -0.0.
54395         * tests/test-frexpl.c (zero): New variable.
54396         (main): Avoid literal -0.0L.
54397         * tests/test-ldexpl.c (zero): New variable.
54398         (main): Avoid literal -0.0L.
54399         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
54400         (zerod, zerol): New variables.
54401         (test_function): Avoid literals -0.0, -0.0L.
54402         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
54403         (zerod, zerol): New variables.
54404         (test_function): Avoid literals -0.0, -0.0L.
54405         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
54406         (zerod, zerol): New variables.
54407         (test_function): Avoid literals -0.0, -0.0L.
54408         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
54409         (zerod, zerol): New variables.
54410         (test_function): Avoid literals -0.0, -0.0L.
54411         * tests/test-strtod.c (zero): New variable.
54412         (main): Avoid literal -0.0.
54413         Reported by Jonathan C. Patschke <jp@centtech.com>.
54414
54415 2008-07-31  Jim Meyering  <meyering@redhat.com>
54416
54417         sha256.h: correct definition of SHA224_DIGEST_SIZE
54418         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
54419         Reported by Paulie Pena IV <paulie4@gmail.com>.
54420         Define as 224 / 8, rather than as a literal.
54421         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
54422         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
54423         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
54424
54425 2008-07-31  Bruno Haible  <bruno@clisp.org>
54426
54427         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
54428         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
54429         Reported by Jonathan Patschke <jp@centtech.com>.
54430
54431 2008-07-31  Bruno Haible  <bruno@clisp.org>
54432
54433         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
54434         Reported by Paolo Bonzini <bonzini@gnu.org>.
54435
54436 2008-07-30  Eric Blake  <ebb9@byu.net>
54437
54438         test-strtod: allow compilation without -lm
54439         * tests/test-strtod.c (main): Avoid link dependence on fabs.
54440         Reported by Dennis Clarke <blastwave@gmail.com>.
54441
54442 2008-07-28  Jim Meyering  <meyering@redhat.com>
54443
54444         bootstrap: work also when there are no .po files in po/
54445         * build-aux/bootstrap (update_po_files): Complete the change
54446         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
54447
54448 2008-07-27  Jim Meyering  <meyering@redhat.com>
54449
54450         * users.txt: Add zile.
54451
54452 2008-07-26  Ben Pfaff  <blp@gnu.org>
54453
54454         Add missing dependencies on new m4/exponent[fdl].m4 files.
54455         * modules/isnanf-nolibm: Add m4/exponentf.m4.
54456         * modules/isnand-nolibm: Add m4/exponentd.m4.
54457         * modules/isnanl-nolibm: Add m4/exponentl.m4.
54458         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
54459         m4/isnan[fdl].m4, because the macros actually used moved.
54460         Reported by Jim Meyering.
54461
54462 2008-07-14  Ben Pfaff  <blp@gnu.org>
54463
54464         Add isinf module.
54465         * lib/isinf.c: New file.
54466         * lib/math.in.h: Define isinf macro if we have decided to replace
54467         it.
54468         * m4/isinf.m4: New file.
54469         * m4/math_h.m4: Initialize and substitute variables for isinf
54470         module.
54471         * modules/isinf: New file.
54472         * modules/isinf-tests: New file.
54473         * modules/math: Add substitutions for new module.
54474         * tests/test-isinf.c: New file.
54475         * doc/posix-functions/isinf.texi: Mention new module.
54476         * MODULES.html.sh: Mention new module.
54477
54478 2008-07-14  Ben Pfaff  <blp@gnu.org>
54479
54480         Factor out some macros for use by additional modules.
54481         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
54482         exponentf.m4.
54483         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
54484         exponentd.m4.
54485         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
54486         file exponentl.m4.
54487         * m4/exponentf.m4: New file.
54488         * m4/exponentd.m4: New file.
54489         * m4/exponentl.m4: New file.
54490         * modules/isnanf: Use new file m4/exponentf.m4.
54491         * modules/isnand: Use new file m4/exponentd.m4.
54492         * modules/isnanl: Use new file m4/exponentl.m4.
54493
54494 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
54495
54496         mktime.c: normalize tp->tm_isdst value to -1/0/1.
54497         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
54498         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
54499         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
54500
54501         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
54502         readlink on platforms without PATH_MAX.
54503
54504 2008-07-21  Eric Blake  <ebb9@byu.net>
54505
54506         Warn, not fail, on stale version.
54507         * top/GNUmakefile (_curr-ver): Tone down previous patch.
54508
54509         Don't allow installation with stale devel version number.
54510         * top/GNUmakefile (_is-install-target): New macro.
54511         (_curr-ver): Forbid installation with stale version number.
54512
54513 2008-07-20  Bruno Haible  <bruno@clisp.org>
54514
54515         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
54516         TESTS_ENVIRONMENT.
54517         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
54518
54519 2008-07-20  Bruno Haible  <bruno@clisp.org>
54520
54521         * lib/c-stack.h (c_stack_action): Add documentation.
54522         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
54523
54524 2008-07-20  Bruno Haible  <bruno@clisp.org>
54525
54526         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
54527         * modules/readlink (License): Likewise.
54528
54529 2008-07-17  Eric Blake  <ebb9@byu.net>
54530
54531         * modules/c-stack (Link): Fix typo.
54532
54533         Make c-stack use libsigsegv, when available.
54534         * modules/c-stack (Depends-on): Add libsigsegv.
54535         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
54536         needed.
54537         * lib/c-stack.c (SIGSTKSZ): Define fallback.
54538         (segv_handler, overflow_handler, c_stack_action)
54539         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
54540         implementation when libsigsegv is available, but only when using
54541         the library is necessary.
54542         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
54543         comment, explaining why XSI check fails on Linux.
54544         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
54545         * tests/test-c-stack2.sh: Tweak skip message.
54546         * NEWS: Document new link-time requirements.
54547
54548 2008-07-16  Eric Blake  <ebb9@byu.net>
54549
54550         c-stack: Expose false positives when not using libsigsegv.
54551         * modules/c-stack-tests (Files): Expand test.
54552         * tests/test-c-stack.c (main): Add means to conditionally trigger
54553         non-overflow SIGSEGV.
54554         * tests/test-c-stack2.sh: New file.
54555
54556 2008-07-14  Bruno Haible  <bruno@clisp.org>
54557
54558         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
54559         Reported by Eric Blake.
54560
54561 2008-07-14  Sam Steingold  <sds@gnu.org>
54562             Bruno Haible  <bruno@clisp.org>
54563
54564         New module libsigsegv.
54565         * modules/libsigsegv: New file.
54566         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
54567         modifications.
54568         * MODULES.html.sh (Signal handling): New section.
54569
54570 2008-07-14  Bruno Haible  <bruno@clisp.org>
54571
54572         * modules/unictype/ctype-* (Description): Add the word "function".
54573         Improves the resulting doc in MODULES.html.
54574
54575 2008-07-12  Ben Pfaff  <blp@gnu.org>
54576
54577         Add longlong module.
54578         * modules/longlong: New file.
54579
54580 2008-07-12  Bruno Haible  <bruno@clisp.org>
54581
54582         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
54583         to empty.
54584
54585 2008-07-10  Ben Pfaff  <blp@gnu.org>
54586
54587         Add isnan module.
54588         * doc/posix-functions/isnan.texi: Mention new module.
54589         * lib/math.in.h: Define isnan macro if we have decided to replace
54590         it.
54591         * m4/isnan.m4: New file.
54592         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
54593         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
54594         also.
54595         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
54596         redundancy.
54597         * m4/math_h.m4: Initialize and substitute variables for isnan
54598         module.
54599         * modules/isnan: New file.
54600         * modules/isnan-tests: New file.
54601         * modules/math: Add substitutions for new module.
54602         * tests/test-isnan.c: New file.
54603         * MODULES.html.sh: Mention new module.
54604
54605 2008-07-10  Ben Pfaff  <blp@gnu.org>
54606
54607         Add isnanf module.
54608         * lib/isnanf.m4: New file.
54609         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
54610         (gl_HAVE_ISNANF_IN_LIBM): New macro.
54611         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
54612         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
54613         * modules/isnanf: New file.
54614         * modules/isnanf-tests: New file.
54615         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
54616         files.
54617         * tests/test-isnanf-nolibm.c: factored most of its contents into
54618         new file tests/test-isnanf.h.
54619         * tests/test-isnanf.h: New file.
54620         * tests/test-isnanf.c: New file.
54621         * MODULES.html.sh: Mention new module.
54622         * doc/glibc-functions/isnanf.texi: Mention new module.
54623
54624 2008-07-10  Ben Pfaff  <blp@gnu.org>
54625
54626         Add isnand module.
54627         * lib/isnand.h: New file.
54628         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
54629         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
54630         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
54631         functionality also.
54632         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
54633         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
54634         (gl_HAVE_ISNAND_IN_LIBM): New macro.
54635         * modules/isnand: New file.
54636         * modules/isnand-tests: New file.
54637         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
54638         files.
54639         * tests/test-isnand-nolibm.c: factored most of its contents into
54640         new file tests/test-isnand.h.
54641         * tests/test-isnand.h: New file.
54642         * tests/test-isnand.c: New file.
54643         * MODULES.html.sh: Mention new module.
54644
54645 2008-07-10  Ben Pfaff  <blp@gnu.org>
54646
54647         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
54648         * lib/isnand.h: Rename lib/isnand-nolibm.h.
54649         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
54650         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
54651         * modules/isnanf-nolibm: Update references to renamed files.
54652         * modules/isnand-nolibm: Likewise.
54653         * modules/isnanf-nolibm-tests: Likewise.
54654         * modules/isnand-nolibm-tests: Likewise.
54655         * lib/frexp.c: Likewise.
54656         * lib/isfinite.c: Likewise.
54657         * lib/signbitd.c: Likewise.
54658         * lib/signbitf.c: Likewise.
54659         * lib/vasnprintf.c: Likewise.
54660         * tests/test-ceilf1.c: Likewise.
54661         * tests/test-ceilf2.c: Likewise.
54662         * tests/test-floorf1.c: Likewise.
54663         * tests/test-floorf2.c: Likewise.
54664         * tests/test-frexp.c: Likewise.
54665         * tests/test-round1.c: Likewise.
54666         * tests/test-round2.c: Likewise.
54667         * tests/test-roundf1.c: Likewise.
54668         * tests/test-strtod.c: Likewise.
54669         * tests/test-trunc1.c: Likewise.
54670         * tests/test-trunc2.c: Likewise.
54671         * tests/test-truncf1.c: Likewise.
54672         * tests/test-truncf2.c: Likewise.
54673         * NEWS: Mention the renamed header files.
54674
54675 2008-07-11  Jim Meyering  <meyering@redhat.com>
54676
54677         vc-list-files: make the last-resort awk code more portable
54678         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
54679         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
54680         does not support it.
54681
54682 2008-07-10  Eric Blake  <ebb9@byu.net>
54683
54684         Work with tar's bootstrap.
54685         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
54686         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
54687         an m4 comment.
54688
54689 2008-07-09  Jim Meyering  <meyering@redhat.com>
54690
54691         posix-shell.m4: fix typo that made this test malfunction
54692         * m4/posix-shell.m4: Remove capitalization in variable name.
54693
54694 2008-07-08  Bruno Haible  <bruno@clisp.org>
54695
54696         * m4/onceonly.m4: Update comments.
54697         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54698
54699 2008-07-04  Jim Meyering  <meyering@redhat.com>
54700
54701         * users.txt: Add vc-dwim.
54702         (bison, coreutils): Use the gitweb URL.
54703
54704 2008-07-03  Jim Meyering  <meyering@redhat.com>
54705
54706         * users.txt: Add libffcall.  From Sam Steingold.
54707
54708 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
54709
54710         getdate.y: do not ignore TZ with relative day, month or year offset
54711         * lib/getdate.y (get_date): Move the tz-handling block to follow the
54712         relative-date-handling, since otherwise, the latter would clobber the
54713         sole output (an updated Start value) of the tz-handling block.
54714         * tests/test-getdate.c: Tests for the fix
54715
54716 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54717
54718         Recognize 'foo_LIBRARIES += libgnu.a'.
54719         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
54720         makefile snippet has already specified an installation location,
54721         also using '+='.
54722
54723 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
54724
54725         getdate.y: factor out common actions
54726         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
54727         Use them in place of open-coded actions.
54728
54729 2008-07-01  Simon Josefsson  <simon@josefsson.org>
54730
54731         Add self-test for getdate module.
54732         * modules/getdate-tests: New file.
54733         * tests/test-getdate.c: New file.
54734
54735 2008-06-29  Bruno Haible  <bruno@clisp.org>
54736
54737         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
54738         .gitignore.
54739         Reported by Sylvain Beucler <beuc@beuc.net>.
54740
54741 2008-06-29  Bruno Haible  <bruno@clisp.org>
54742
54743         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
54744         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
54745
54746 2008-06-29  Bruno Haible  <bruno@clisp.org>
54747
54748         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
54749         EXTRA_DIST.
54750         Reported by Sylvain Beucler <beuc@beuc.net>.
54751
54752 2008-06-26  Jim Meyering  <meyering@redhat.com>
54753
54754         make several modules depend on the "open" module
54755         This provides slightly increased consistency when opening-for-write
54756         the name of a non-directory spelled with a trailing slash.
54757         * modules/chdir-safer: Likewise.
54758         * modules/chown: Likewise.
54759         * modules/clean-temp: Likewise.
54760         * modules/copy-file: Likewise.
54761         * modules/fchdir: Likewise.
54762         * modules/fcntl-safer: Likewise.
54763         * modules/pipe: Likewise.
54764         * modules/utime: Likewise.
54765         Prompted by Eric Blake and Bruno Haible.
54766
54767 2008-06-24  Andreas Schwab  <schwab@suse.de>
54768
54769         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
54770         literals can be used as initializers for global variables.
54771
54772 2008-06-23  Eric Blake  <ebb9@byu.net>
54773
54774         Make gnulib-cache.m4 easier to diff.
54775         * gnulib-tool (func_import): Allow newlines when reading cached
54776         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
54777
54778 2008-06-23  Bruno Haible  <bruno@clisp.org>
54779
54780         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
54781         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
54782         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
54783         m4/signalblocking.m4.
54784         (gl_PREREQ_SIGACTION): Don't invoke it.
54785         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
54786         gl_PREREQ_SIG_HANDLER_H.
54787         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
54788         Don't check for sigaction here.
54789
54790 2008-06-23  Bruno Haible  <bruno@clisp.org>
54791
54792         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
54793         (install_handlers): Don't set the SA_RESETHAND flag.
54794
54795 2008-06-23  Bruno Haible  <bruno@clisp.org>
54796
54797         * m4/sigaction.m4: Comment fixes.
54798         * lib/signal.in.h: Likewise.
54799
54800 2008-06-23  Eric Blake  <ebb9@byu.net>
54801
54802         Fix typo.
54803         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
54804
54805         Avoid SA_ namespace.
54806         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
54807         Reported by Ralf Wildenhues.
54808
54809         Avoid test failure due to SA_RESTORER.
54810         * tests/test-sigaction.c (SA_MASK): New macro.
54811         (main): Avoid failing due to extension flags being set.
54812         Reported by Jim Meyering.
54813
54814         Revert use of sig-handler.h in sigprocmask.c.
54815         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
54816         it requires the existence of struct sigaction.
54817         * lib/sigprocmask.c (handler_t): Restore typedef.
54818         (rpl_signal, old_handlers): Use local type.
54819
54820 2008-06-22  Bruno Haible  <bruno@clisp.org>
54821
54822         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
54823         conditionally.
54824         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54825
54826 2008-06-22  Bruno Haible  <bruno@clisp.org>
54827
54828         * doc/posix-functions/siginterrupt.texi: Move note.
54829
54830         * lib/signal.in.h (SA_RESTART): New macro.
54831         * lib/sigaction.c: Update comment.
54832
54833         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
54834
54835         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
54836         (gl_PREREQ_SIGPROCMASK): Invoke it.
54837         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
54838
54839         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
54840
54841         * lib/sigprocmask.c: Update a comment.
54842
54843 2008-06-21  Eric Blake  <ebb9@byu.net>
54844
54845         Use sigaction module rather than signal().
54846         * modules/c-stack (Depends-on): Add sigaction.
54847         * modules/fatal-signal (Depends-on): Likewise.
54848         * modules/nanosleep (Depends-on): Likewise.
54849         * modules/sigprocmask (Files): Add sig-handler.h.
54850         * modules/sigaction (Files): Likewise.
54851         * lib/sig-handler.h (get_handler): New file, suggested by Paul
54852         Eggert.
54853         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
54854         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
54855         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
54856         (init_fatal_signals): Likewise.
54857         * lib/nanosleep.c (rpl_nanosleep): Likewise.
54858         (siginterrupt): Delete fallback.
54859         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
54860         instead.
54861         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
54862         siginterrupt.
54863
54864         New module sigaction, for mingw.
54865         * modules/sigaction: New module...
54866         * modules/sigaction-tests: ...and its test.
54867         * m4/sigaction.m4: New file.
54868         * lib/sigaction.c: Likewise.
54869         * tests/test-sigaction.c: Likewise.
54870         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
54871         * modules/signal (Makefile.am): Likewise.
54872         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
54873         needed.
54874         * doc/posix-headers/signal.texi (signal.h): Mention provided
54875         types.
54876         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
54877         that sigaction is preferable.
54878         * doc/posix-functions/sigaction.texi (sigaction): Mention new
54879         module.
54880         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54881         sigaction.
54882
54883         Improve robustness of sigprocmask by overriding signal.
54884         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
54885         is in use.
54886         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
54887         (SIGKILL, SIGSTOP): Provide fallbacks.
54888         (rpl_signal): Implement.
54889         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
54890         signal can be called inside handlers.
54891
54892         Fix nanosleep module on mingw.
54893         * modules/nanosleep (Depends-on): Add sys_select.
54894         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
54895
54896         Fix licensing of sigprocmask.
54897         * modules/raise (License): Relicense as LGPL.
54898
54899 2008-06-21  Bruno Haible  <bruno@clisp.org>
54900
54901         * lib/propername.c (proper_name_utf8): Don't use the transliterated
54902         result if it contains question marks.
54903         Reported by Michael Geng <linux@michaelgeng.de>.
54904
54905 2008-06-19  Bruno Haible  <bruno@clisp.org>
54906
54907         Fix CVS-ism.
54908         * doc/gnulib.texi: Include updated-stamp.texi.
54909         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
54910         (updated-stamp.texi): New rule.
54911         (gnulib.info): Depend on it.
54912         * doc/.gitignore: Add updated-stamp.texi.
54913         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
54914
54915 2008-06-19  Bruno Haible  <bruno@clisp.org>
54916
54917         * doc/Makefile (gnulib.info): Update and simplify dependencies.
54918         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54919
54920 2008-06-19  Eric Blake  <ebb9@byu.net>
54921
54922         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
54923         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
54924         Reported by Stepan Kasal.
54925
54926 2008-06-18  Bruno Haible  <bruno@clisp.org>
54927
54928         * lib/fatal-signal.c (init_fatal_signals): Add comment.
54929         Reported by Eric Blake.
54930
54931 2008-06-18  Eric Blake  <ebb9@byu.net>
54932
54933         Work around cygwin 1.5.25 strsignal bug.
54934         * tests/test-strsignal.c: Allow for const char *.
54935         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
54936
54937 2008-06-18  Simon Josefsson  <simon@josefsson.org>
54938
54939         * users.txt: Update URL to article and add author/date
54940         information.
54941
54942 2008-06-17  Bruno Haible  <bruno@clisp.org>
54943
54944         New macro gl_DISABLE_THREADS.
54945         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
54946         if the user did not pass --enable-threads or --disable-threads option.
54947         (gl_DISABLE_THREADS): New macro.
54948         Reported by Eric Blake <ebb9@byu.net>.
54949
54950 2008-06-17  Bruno Haible  <bruno@clisp.org>
54951
54952         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
54953         when the macro ignores it.
54954         Based on a patch by Eric Blake <ebb9@byu.net>.
54955
54956 2008-06-17  Bruno Haible  <bruno@clisp.org>
54957
54958         * modules/tls (License): Change to LGPLv2+.
54959         Reported by Eric Blake.
54960
54961 2008-06-17  Eric Blake  <ebb9@byu.net>
54962
54963         Simplify c-stack prerequisites.
54964         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
54965         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
54966         no longer requires <ucontext.h> to exist.  Optimize setrlimit
54967         check.
54968         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
54969         <sys/resource.h>.
54970
54971         Move c-stack test into testsuite.
54972         * modules/c-stack-tests: New file.
54973         * lib/c-stack.c [DEBUG]: Move test program...
54974         * tests/test-c-stack.c: ...into this new file.  Skip rather than
54975         fail test if sigaltstack is lacking.
54976         * tests/test-c-stack.sh: New driver file.
54977
54978 2008-06-16  Eric Blake  <ebb9@byu.net>
54979
54980         Use raise module consistently.
54981         * modules/fatal-signal (Depends-on): Add raise.
54982         * modules/sigprocmask (Depends-on): Likewise.
54983         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
54984         * lib/sigprocmask.c (sigprocmask): Likewise.
54985         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
54986         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
54987
54988         Fix compliance bug in sigpending.
54989         * lib/sigprocmask.c (sigpending): Return pending array via
54990         parameter, not return value.
54991
54992 2008-06-14  Eric Blake  <ebb9@byu.net>
54993
54994         Improve obstack-printf test code.
54995         * tests/test-obstack-printf.c (test_function): Fix comment, and
54996         simplify usage of obstack_* in macros.  Add a test for coverage.
54997         Reported by Bruno Haible.
54998
54999 2008-06-14  Bruno Haible  <bruno@clisp.org>
55000
55001         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
55002         array size as a constant, not as a const variable.
55003         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
55004         AC_USE_SYSTEM_EXTENSIONS.
55005         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
55006         Test whether the obstack_printf function actually exists.
55007         * modules/obstack-printf (Depends-on): Add extensions.
55008         (Include): Remove obstack.h.
55009         * modules/obstack-printf-posix (Depends-on): Add extensions.
55010         (Include): Remove obstack.h.
55011
55012 2008-06-13  Eric Blake  <ebb9@byu.net>
55013
55014         Add obstack-printf and obstack-printf-posix modules.
55015         * modules/obstack-printf: New file.
55016         * modules/obstack-printf-posix: Likewise.
55017         * MODULES.html.sh (Misc): Mention them.
55018         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
55019         Likewise.
55020         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
55021         Likewise.
55022         * modules/stdio (Makefile.am): Accomodate new modules.
55023         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
55024         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
55025         Declare.
55026         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
55027         functions.
55028         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
55029         (gl_REPLACE_OBSTACK_PRINTF): New macros
55030         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
55031         * tests/test-obstack-printf.c: New file.
55032         * modules/obstack-printf-tests: Likewise.
55033         * modules/obstack-printf-posix-tests: Likewise.
55034
55035 2008-06-11  Bruno Haible  <bruno@clisp.org>
55036
55037         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
55038         * lib/open.c: Include errno.h.
55039         (open): Fail when attempting to write to a file that has a trailing
55040         slash.
55041         * tests/test-open.c (main): Test against trailing slash bug.
55042         * doc/posix-functions/open.texi: Mention the trailing slash bug.
55043
55044 2008-06-10  Bruno Haible  <bruno@clisp.org>
55045
55046         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
55047         for $? to work inside the trap command, with various /bin/sh-s.
55048         * tests/test-vc-list-files-cvs.sh: Likewise.
55049
55050 2008-06-10  Bruno Haible  <bruno@clisp.org>
55051
55052         * lib/acl-internal.h: Don't include gettext.h here.
55053         * lib/set-mode-acl.c: Include gettext.h here.
55054         * lib/copy-acl.c: Likewise.
55055
55056 2008-06-10  Bruno Haible  <bruno@clisp.org>
55057
55058         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
55059         * lib/wait-process.c (wait_subprocess): Likewise.
55060         * lib/execute.h (execute): Add termsigp argument.
55061         * lib/execute.c (execute): Likewise.
55062         * lib/csharpcomp.c (compile_csharp_using_pnet,
55063         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
55064         * lib/csharpexec.c (execute_csharp_using_pnet,
55065         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
55066         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
55067         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
55068         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
55069         is_jikes_present): Update.
55070         * lib/javaexec.c (execute_java_class): Update.
55071         * lib/javaversion.c (execute_and_read_line): Update.
55072         * NEWS: Document the changes.
55073         Reported by Eric Blake.
55074
55075 2008-06-10  Eric Blake  <ebb9@byu.net>
55076
55077         Add missing include.
55078         * tests/test-strstr.c (includes): Add <signal.h>.
55079         * tests/test-strcasestr.c (includes): Likewise.
55080         * tests/test-memmem.c (includes): Likewise.
55081
55082 2008-06-10  Bruno Haible  <bruno@clisp.org>
55083
55084         * lib/wait-process.c (wait_subprocess): Add an assertion.
55085
55086 2008-06-10  Bruno Haible  <bruno@clisp.org>
55087
55088         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
55089
55090 2008-06-10  Bruno Haible  <bruno@clisp.org>
55091
55092         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
55093         using alarm().
55094         * tests/test-strcasestr.c (main): Likewise.
55095         * tests/test-strstr.c (main): Likewise.
55096
55097 2008-06-09  Bruno Haible  <bruno@clisp.org>
55098
55099         Work around the Solaris 10 ACE ACLs ABI change.
55100         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
55101         declare if ACL_NO_TRIVIAL is present.
55102         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
55103         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
55104         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
55105         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
55106         define if ACL_NO_TRIVIAL is present.
55107         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
55108         and use the current ABI.
55109         (file_has_acl): Use same #if condition as elsewhere.
55110         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
55111         in use, and use the current ABI.
55112         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
55113         Reported by Jim Meyering.
55114
55115 2008-06-09  Eric Blake  <ebb9@byu.net>
55116
55117         Work around environments that (stupidly) ignore SIGALRM.
55118         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
55119         before using alarm().
55120         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55121         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
55122         Reported by Ian Beckwith <ianb@erislabs.net>.
55123
55124         Produce autobuild blurb earlier in log.
55125         * modules/autobuild (configure.ac-early): Move AB_INIT here.
55126
55127 2008-06-09  Jim Meyering  <meyering@redhat.com>
55128         and OndÅ™ej Vašík  <ovasik@redhat.com>
55129
55130         utimens.c: correct kernel bug work-around
55131         OndÅ™ej Vašík found that the invalid return value of 280 indicates
55132         failure, not success, and the kernel bug we're trying to work
55133         around affects not just the utimensat call, but also the fallback
55134         futimens call.
55135         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
55136         not success.
55137         [HAVE_FUTIMENS]: Use the same work-around, here.
55138
55139 2008-06-09  Jim Meyering  <meyering@redhat.com>
55140
55141         add more guards around definition of ACE_-related code
55142         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
55143         ALLOW and ACE_OWNER are also defined.
55144
55145 2008-06-08  Bruno Haible  <bruno@clisp.org>
55146
55147         * lib/acl-internal.h: Add me as co-author.
55148         * lib/file-has-acl.c: Likewise.
55149         * lib/set-mode-acl.c: Likewise.
55150         * lib/copy-acl.c: Likewise.
55151
55152 2008-06-08  Bruno Haible  <bruno@clisp.org>
55153
55154         Add support for AIX ACLs.
55155         * lib/acl-internal.h (acl_nontrivial): New declaration.
55156         * lib/file-has-acl.c (acl_nontrivial): New function.
55157         (file_has_acl): Add implementation using AIX 4 ACL API.
55158         * lib/set-mode-acl.c (qset_acl): Likewise.
55159         * lib/copy-acl.c (qcopy_acl): Likewise.
55160
55161 2008-06-08  Bruno Haible  <bruno@clisp.org>
55162
55163         Add support for HP-UX ACLs.
55164         * lib/acl-internal.h (acl_nontrivial): New declaration.
55165         * lib/file-has-acl.c (acl_nontrivial): New function.
55166         (file_has_acl): Add implementation using HP-UX 11 ACL API.
55167         * lib/set-mode-acl.c (qset_acl): Likewise.
55168         * lib/copy-acl.c (qcopy_acl): Likewise.
55169
55170 2008-06-08  Bruno Haible  <bruno@clisp.org>
55171
55172         Add support for Cygwin ACLs.
55173         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
55174         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
55175         the chmod_or_fchmod call.
55176         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
55177
55178 2008-06-08  Bruno Haible  <bruno@clisp.org>
55179
55180         Fix bug with setuid modes in Solaris 10+ code.
55181         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
55182         succeeded, when the mode contains some special bits.
55183
55184 2008-06-08  Bruno Haible  <bruno@clisp.org>
55185
55186         Add support for Solaris 7..10 ACLs.
55187         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
55188         declarations.
55189         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
55190         functions.
55191         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
55192         * lib/set-mode-acl.c (qset_acl): Likewise.
55193         * lib/copy-acl.c (qcopy_acl): Likewise.
55194
55195 2008-06-08  Bruno Haible  <bruno@clisp.org>
55196
55197         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
55198         declaration.
55199         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
55200         (acl_access_nontrivial): Remove MacOS X case.
55201         (file_has_acl): Use acl_extended_nontrivial.
55202         * lib/copy-acl.c (qcopy_acl): Likewise.
55203
55204 2008-06-08  Bruno Haible  <bruno@clisp.org>
55205
55206         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
55207
55208 2008-06-08  Jim Meyering  <meyering@redhat.com>
55209
55210         * modules/acl (Maintainer): Add Bruno Haible.
55211
55212 2008-06-07  Bruno Haible  <bruno@clisp.org>
55213
55214         Improve support for Tru64 ACLs.
55215         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
55216         ACL on OSF/1.
55217
55218 2008-06-07  Bruno Haible  <bruno@clisp.org>
55219
55220         Add support for MacOS X ACLs.
55221         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
55222         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
55223         * lib/set-mode-acl.c (qset_acl): Likewise.
55224         * lib/copy-acl.c (qcopy_acl): Likewise.
55225
55226 2008-06-07  Bruno Haible  <bruno@clisp.org>
55227
55228         Fix memory leak introduced on 2008-05-22.
55229         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
55230         use.
55231
55232 2008-06-07  Bruno Haible  <bruno@clisp.org>
55233
55234         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
55235         to construct an empty ACL.
55236
55237 2008-06-07  Bruno Haible  <bruno@clisp.org>
55238
55239         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
55240         precisely.
55241         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
55242
55243 2008-06-07  Bruno Haible  <bruno@clisp.org>
55244
55245         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
55246         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
55247
55248 2008-06-07  Bruno Haible  <bruno@clisp.org>
55249
55250         * doc/posix-functions/_setjmp.texi: Explain the use of this function
55251         regardless of POSIX.
55252         * doc/posix-functions/_longjmp.texi: Likewise.
55253         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
55254         SystemV platform in this case.
55255
55256 2008-06-06  Eric Blake  <ebb9@byu.net>
55257
55258         Document abort() bugs.
55259         * doc/posix-functions/abort.texi (abort): Mention anomalies.
55260
55261         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
55262         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
55263         sigsetjmp.
55264         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
55265         siglongjmp, but only as a macro.
55266         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
55267         is obsolete.
55268         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
55269
55270         Tweak documentation to cover cygwin argz bugs.
55271         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
55272         argz bug fix; no code change needed since no cygwin releases
55273         occurred between the last fix and the bug being tested.
55274         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
55275         module and recently fixed cygwin bugs.
55276         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
55277         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
55278         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
55279         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
55280         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
55281         Likewise.
55282         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
55283         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
55284         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
55285         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
55286         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
55287         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
55288         Likewise.
55289
55290         Avoid gcc warning on cygwin.
55291         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
55292         !ACL_NO_TRIVIAL]: Avoid unused variable.
55293
55294 2008-06-05  Eric Blake  <ebb9@byu.net>
55295
55296         Be tolerant of UNKNOWN version in gnulib-tool test dir.
55297         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
55298         git-version-gen fails to come up with a version.
55299         Reported by Simon Josefsson.
55300
55301 2008-06-05  Jim Meyering  <meyering@redhat.com>
55302             Paul Eggert  <eggert@cs.ucla.edu>
55303
55304         utimens.c: work around a probable Linux kernel bug
55305         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
55306         appears to be a kernel bug that causes utimensat to return 280
55307         instead of 0, indicating success.
55308
55309 2008-06-04  Bruno Haible  <bruno@clisp.org>
55310
55311         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
55312         2008-06-01 commit.
55313
55314 2008-06-04  Bruno Haible  <bruno@clisp.org>
55315
55316         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
55317         * lib/file-has-acl.c (acl_access_nontrivial): New function.
55318         (file_has_acl): Use it. Save errno afterwards.
55319         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
55320
55321 2008-06-03  Bruno Haible  <bruno@clisp.org>
55322
55323         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
55324         draft code. Simplify #ifs.
55325         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
55326         Put Solaris code after POSIX-draft code. Fix comments regarding
55327         Solaris 10, HP-UX. Mention Cygwin.
55328         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
55329
55330 2008-06-03  Eric Blake  <ebb9@byu.net>
55331
55332         Provide fallback for older kernels.
55333         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
55334         Provide runtime fallback if kernel lacks support.
55335         Reported by Mike Frysinger.
55336
55337 2008-06-02  Bruno Haible  <bruno@clisp.org>
55338
55339         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
55340         it exists.
55341
55342 2008-06-02  Bruno Haible  <bruno@clisp.org>
55343
55344         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
55345         * lib/copy-acl.c (qcopy_acl): Update comment.
55346
55347 2008-06-02  Bruno Haible  <bruno@clisp.org>
55348
55349         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
55350         like ACL APIs.
55351
55352 2008-06-02  Bruno Haible  <bruno@clisp.org>
55353
55354         * tests/test-file-has-acl.sh: Use different code for Cygwin.
55355         * tests/test-set-mode-acl.sh: Likewise.
55356         * tests/test-copy-acl.sh: Likewise.
55357         * tests/test-copy-file.sh: Likewise.
55358
55359 2008-06-02  Bruno Haible  <bruno@clisp.org>
55360
55361         * tests/test-file-has-acl.sh: Remove unused code.
55362
55363 2008-06-01  Bruno Haible  <bruno@clisp.org>
55364
55365         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
55366         (copy_acl): Just a wrapper around qcopy_acl that emits the error
55367         messages.
55368         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
55369
55370 2008-06-01  Bruno Haible  <bruno@clisp.org>
55371
55372         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
55373         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
55374         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
55375         APIs.
55376         * modules/acl-tests (configure.ac): Remove tests now contained in
55377         m4/acl.m4.
55378
55379 2008-06-02  Jim Meyering  <meyering@redhat.com>
55380
55381         announce-gen: use a better key-server host name
55382         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
55383         it may be more consistently reliable.  Suggested by Werner Koch
55384         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
55385
55386 2008-06-01  Bruno Haible  <bruno@clisp.org>
55387
55388         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
55389         Reported by Voroskoi Andras <voroskoi@gmail.com>.
55390
55391 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
55392
55393         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
55394
55395 2008-06-01  Bruno Haible  <bruno@clisp.org>
55396
55397         New ACL tests.
55398         * tests/test-file-has-acl.sh: New file.
55399         * tests/test-file-has-acl.c: New file.
55400         * tests/test-set-mode-acl.sh: New file.
55401         * tests/test-set-mode-acl.c: New file.
55402         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
55403         * tests/test-copy-acl.c: New file.
55404         * modules/acl-tests: New file, based on modules/copy-file-tests.
55405         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
55406         (Depends-on): Add acl-tests.
55407         (configure.ac): Remove checks.
55408         (Makefile.am): Don't create test-sameacls program here any more.
55409
55410 2008-06-01  Bruno Haible  <bruno@clisp.org>
55411
55412         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
55413         * tests/test-sameacls.c: Include progname.h.
55414         (main): Invoke set_program_name. Portability fixes for MacOS X,
55415         Solaris, HP-UX.
55416
55417 2008-06-01  Bruno Haible  <bruno@clisp.org>
55418
55419         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
55420         function.
55421         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
55422
55423 2008-06-01  Bruno Haible  <bruno@clisp.org>
55424
55425         * modules/rpmatch (Depends-on): Add strdup.
55426
55427 2008-06-01  Bruno Haible  <bruno@clisp.org>
55428
55429         * lib/pipe.c: Include unistd-safer.h.
55430         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
55431         * modules/pipe (Depends-on): Add unistd-safer.
55432
55433 2008-05-30  Simon Josefsson  <simon@josefsson.org>
55434
55435         * modules/autobuild (configure.ac): Call AB_INIT.
55436
55437 2008-05-30  Simon Josefsson  <simon@josefsson.org>
55438
55439         * tests/test-getaddrinfo.c: Don't print debug messages by default.
55440         Suggested by Bruno Haible <bruno@clisp.org>.
55441
55442 2008-05-30  Simon Josefsson  <simon@josefsson.org>
55443
55444         * tests/test-base64.c: Cast size_t to unsigned long when invoking
55445         printf.  Use %lu instead of %d.  Reported by Bruno Haible
55446         <bruno@clisp.org>.
55447
55448 2008-05-29  Eric Blake  <ebb9@byu.net>
55449
55450         Prefer new POSIX 200x interfaces over futimesat.
55451         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
55452         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
55453         when available.
55454         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
55455
55456 2008-05-28  Bruno Haible  <bruno@clisp.org>
55457
55458         * modules/stpcpy (License): Change to LGPLv2+.
55459         Requested by David Lutterkort <dlutter@redhat.com>.
55460
55461 2008-05-27  Bruno Haible  <bruno@clisp.org>
55462
55463         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
55464         current mingw.
55465         Reported by Jose E. Marchesi <jemarch@gnu.org>.
55466
55467 2008-05-27  Bruno Haible  <bruno@clisp.org>
55468
55469         * modules/iconv_open (Link): New section, from module 'iconv'.
55470         * modules/striconv (Link): Likewise.
55471         * modules/striconveh (Link): Likewise.
55472         * modules/xstriconv (Link): Likewise.
55473         * modules/unicodeio (Link): Likewise.
55474         * modules/propername (Link): Likewise.
55475         Reported by Jim Meyering.
55476
55477 2008-05-26  Jim Meyering  <meyering@redhat.com>
55478
55479         sha256: do not artificially restrict buffer length to be < 2^32
55480         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
55481         uint32_t to size_t.
55482         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
55483         to match.
55484
55485         avoid unaligned access errors, e.g., on sparc
55486         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
55487         direct access through a possibly-unaligned uint64* pointer.
55488         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
55489         direct access through a possibly-unaligned uint32* pointer.
55490         Prompted by this patch from Tom "spot" Callaway:
55491         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
55492
55493         sha512.c: fix typo in comment
55494         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
55495
55496 2008-05-25  Bruno Haible  <bruno@clisp.org>
55497
55498         * lib/set-mode-acl.c: Renamed from lib/acl.c.
55499         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
55500         (Makefile.am): Update lib_SOURCES.
55501
55502 2008-05-25  Bruno Haible  <bruno@clisp.org>
55503
55504         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
55505
55506 2008-05-25  Jim Meyering  <meyering@redhat.com>
55507
55508         useless-if-before-free: freed expr may have white-space differences
55509         * build-aux/useless-if-before-free: Recognize cases in which the
55510         freed expression differs from the tested one in embedded white
55511         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
55512         $1 was used, so we can't make any regexp shy.  Improved tests now
55513         detect this.
55514
55515         useless-if-before-free: accept white space in the expression.
55516         * build-aux/useless-if-before-free: For now, any white space
55517         in the expression must be identical in the free argument.
55518
55519         useless-if-before-free: efficiency tweak
55520         * build-aux/useless-if-before-free: Make the expression-matching
55521         regexp "shy".
55522         Make the *outer* regexp shy, not the expr-matching one.
55523
55524         update code-in-comment to accept cast of free arg
55525         * build-aux/useless-if-before-free: Update regexp.
55526
55527 2008-05-25  Bruno Haible  <bruno@clisp.org>
55528
55529         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
55530         * modules/copy-file-tests (Files, Makefile.am): Update.
55531         * tests/test-copy-file.c (func_test_copy): Update.
55532
55533 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
55534
55535         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
55536
55537 2008-05-23  Bruno Haible  <bruno@clisp.org>
55538
55539         Improve support for ACLs on OSF/1.
55540         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
55541         Remove fallback for unknown flavors of ACLs.
55542
55543 2008-05-22  Bruno Haible  <bruno@clisp.org>
55544
55545         Add support for ACLs on OSF/1.
55546         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
55547         replacements.
55548         (acl_free_text): New macro fallback.
55549         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
55550         acl_free.
55551         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
55552         acl_free_text function. Require AC_C_INLINE.
55553
55554 2008-05-22  Bruno Haible  <bruno@clisp.org>
55555
55556         Make copy_acl work on MacOS X 10.5.
55557         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
55558         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
55559         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
55560         If MODE_INSIDE_ACL, don't assume that every system has the same text
55561         representation for ACLs as FreeBSD.
55562         * lib/copy-acl.c (copy_acl): Add support for platforms with
55563         !MODE_INSIDE_ACL.
55564         * lib/file-has-acl.c (file_has_acl): Likewise.
55565         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
55566         FreeBSD, MacOS X, or IRIX, respectively.
55567
55568 2008-05-22  Bruno Haible  <bruno@clisp.org>
55569
55570         * lib/acl.h: Don't include <sys/acl.h>.
55571         (GETACLCNT): Move fallback to lib/acl-internal.h.
55572         * lib/acl-internal.h: Include <sys/acl.h> here.
55573         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
55574
55575 2008-05-22  Bruno Haible  <bruno@clisp.org>
55576
55577         Split off copy_acl function to separate file.
55578         * lib/copy-acl.c: New file, extracted from lib/acl.c.
55579         * lib/acl.c (copy_acl): Moved function to separate file.
55580         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
55581         * modules/acl (Files): Add lib/copy-acl.c.
55582         (Makefiles.am): Augment lib_SOURCES.
55583
55584 2008-05-22  Bruno Haible  <bruno@clisp.org>
55585
55586         * modules/copy-file-tests: New file.
55587         * tests/test-copy-file.sh: New file.
55588         * tests/test-copy-file.c: New file.
55589         * tests/test-copy-file-sameacls.c: New file.
55590
55591 2008-05-22  Eric Blake  <ebb9@byu.net>
55592
55593         Avoid gcc warning.
55594         * tests/test-memcmp.c (main): Pass NULL indirectly.
55595
55596 2008-05-21  Bruno Haible  <bruno@clisp.org>
55597
55598         Add reference doc about ACLs.
55599         * doc/acl-resources.txt: New file.
55600         * doc/acl-cygwin.txt: New file.
55601
55602 2008-05-21  Bruno Haible  <bruno@clisp.org>
55603
55604         Avoid one more warning from gcc.
55605         * lib/vasnprintf.c (IF_LINT): Update comments.
55606         (VASNPRINTF): Use it also for the 'prefix' array initializer.
55607
55608 2008-05-21  Jim Meyering  <meyering@redhat.com>
55609
55610         avoid a warning from gcc
55611         * lib/vasnprintf.c (IF_LINT): Define.
55612         (scale10_round_decimal_long_double):
55613         Use it to avoid a "may be used uninitialized" warning.
55614         (scale10_round_decimal_double): Likewise.
55615
55616 2008-05-21  Simon Josefsson  <simon@josefsson.org>
55617
55618         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
55619         declared.
55620
55621 2008-05-20  Bruno Haible  <bruno@clisp.org>
55622
55623         * tests/test-memcmp.c (main): Test also the sign of the result. Test
55624         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
55625
55626 2008-05-20  Simon Josefsson  <simon@josefsson.org>
55627
55628         * modules/memcmp-tests: New file.
55629         * tests/test-memcmp.c: New file.
55630
55631 2008-05-19  Bruno Haible  <bruno@clisp.org>
55632
55633         * modules/propername (Notice, configure.ac): Put quoted "..." into
55634         --keyword option.
55635         * lib/propername.h: Update comments accordingly.
55636         Reported by Eric Blake.
55637
55638 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
55639
55640         * modules/getpass-gnu (Depends-on): Add fseeko.
55641
55642 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55643
55644         * modules/base64-tests: New file.
55645
55646 2008-05-19  Bo Borgerson <gigabo@gmail.com>
55647
55648         * lib/base64.c (base64_decode_ctx): If a decode context structure
55649         was passed in use it to ignore newlines.  If a context structure
55650         was _not_ passed in, continue to treat newlines as garbage (this
55651         is the historical behavior).  Formerly base64_decode.
55652         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55653         takes a decode context structure.
55654         * lib/base64.h (base64_decode): Macro for four-argument calls.
55655         (base64_decode_alloc): Likewise.
55656         * lib/base64.c (base64_decode_ctx): If a decode context structure
55657         was passed in use it to ignore newlines.  If a context structure
55658         was _not_ passed in, continue to treat newlines as garbage (this
55659         is the historical behavior).  Formerly base64_decode.
55660         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55661         takes a decode context structure.
55662         * lib/base64.h (base64_decode): Macro for four-argument calls.
55663         (base64_decode_alloc): Likewise.
55664
55665 2008-05-19  Jim Meyering  <meyering@redhat.com>
55666
55667         avoid a warning from gcc
55668         * lib/trim.c (IF_LINT): Define.
55669         (trim2): Use it to avoid a "may be used uninitialized" warning.
55670
55671         Fix doc typo.
55672         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
55673
55674 2008-05-19  Bruno Haible  <bruno@clisp.org>
55675
55676         * doc/glibc-functions/getpass.texi: Document limits of other
55677         implementations.
55678
55679 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55680             Bruno Haible <bruno@clisp.org>
55681
55682         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
55683
55684 2008-05-18  Bruno Haible  <bruno@clisp.org>
55685
55686         * modules/propername: New file, from GNU gettext.
55687         * lib/propername.h: New file, from GNU gettext.
55688         * lib/propername.c: New file, from GNU gettext.
55689         * MODULES.html.sh (Internationalization functions): Add propername.
55690
55691 2008-05-16  Jim Meyering  <meyering@redhat.com>
55692             Bruno Haible  <bruno@clisp.org>
55693
55694         Avoid some warnings from "gcc -Wshadow".
55695         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
55696
55697 2008-05-15  Eric Blake  <ebb9@byu.net>
55698
55699         Extend previous patch to cygwin 1.7.0.
55700         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
55701         fast implementation in cygwin >= 1.7.0.
55702         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55703         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55704
55705 2008-05-15  Bruno Haible  <bruno@clisp.org>
55706
55707         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
55708         implementation in glibc >= 2.9.
55709         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55710         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55711
55712 2008-05-15  Bruno Haible  <bruno@clisp.org>
55713
55714         * MODULES.html.sh (Internationalization functions): Remove linebreak.
55715         (Unicode string functions): Add unilbrk/*.
55716         Reported by Karl Berry.
55717
55718 2008-05-15  Eric Blake  <ebb9@byu.net>
55719
55720         Fix violation of <stdbool.h> replacement in regex.
55721         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
55722         * lib/regexec.c (re_search_internal): Likewise.
55723         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
55724
55725 2008-05-15  Jim Meyering  <meyering@redhat.com>
55726
55727         avoid distracting test output when git or cvs is not found
55728         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
55729         * tests/test-vc-list-files-git.sh: Likewise.
55730
55731 2008-05-15  Eric Blake  <ebb9@byu.net>
55732
55733         Glibc finally accepted the memmem speedup code, bugzilla #5514.
55734         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
55735         glibc version.
55736         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
55737         * doc/posix-functions/strstr.texi (strstr): Likewise.
55738         * lib/str-two-way.h (MAX): Sychronize with glibc.
55739
55740 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
55741
55742         * lib/regcomp.c (optimize_utf8): Add a note on why we test
55743         opr.ctx_type.
55744         (calc_first): Initialize constraint field.
55745         (duplicate_node_closure): Use it instead of special casing ANCHORS.
55746         Fix grammar.
55747         (duplicate_node): Merge constraint field for all node types.
55748         (calc_eclosure_iter): Look at constraint field for all node types.
55749         * lib/regex_internal.c (create_cd_newstate): Don't look at
55750         opr.ctx_type.
55751
55752 2008-05-14  Bruno Haible  <bruno@clisp.org>
55753
55754         Help GCC to do better code generation.
55755         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
55756         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
55757         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
55758         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
55759         Declare with attribute 'malloc' if supported.
55760
55761 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
55762
55763         use "echo STR|wc -c" rather than unportable "expr length STR"
55764         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
55765         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
55766
55767 2008-05-14  Jim Meyering  <meyering@redhat.com>
55768
55769         use dd ibs=$n count=1 ... rather than less-portable head -c$n
55770         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
55771         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
55772         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
55773         via Collin Lasse.
55774
55775 2008-05-14  Eric Blake  <ebb9@byu.net>
55776
55777         Avoid quadratic growth in gl_LIBSOURCES.
55778         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
55779         Suggested by Bruno Haible.
55780
55781         Test xmemdup0.
55782         * modules/xmemdup0-tests: New file.
55783         * tests/test-xmemdup0.c: Likewise.
55784
55785 2008-05-13  Eric Blake  <ebb9@byu.net>
55786
55787         Split xmemdup0 into its own module.
55788         * modules/xmemdup0: New file.
55789         * lib/xmemdup0.h: Likewise.
55790         * lib/xmemdup0.c: Likewise.
55791         * MODULES.html.sh (Memory management functions): Add xmemdup0.
55792         * lib/xalloc.h (xmemdup0): Remove.
55793         * lib/xmalloc.c (xmemdup0): Likewise.
55794
55795 2008-05-13  Eric Blake  <ebb9@byu.net>
55796             Bruno Haible  <bruno@clisp.org>
55797
55798         Reduce number of forks required during autoconf.
55799         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
55800         and gl_LIBSOURCES_DIR.
55801         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
55802         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
55803         m4_syscmd per file.
55804         <m4_foreach_w>: Move...
55805         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
55806
55807 2008-05-13  Eric Blake  <ebb9@byu.net>
55808
55809         * gnulib-tool: Fix various comment typos.
55810
55811 2008-05-12  Bruno Haible  <bruno@clisp.org>
55812
55813         Tailor the linebreaking algorithm.
55814         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
55815
55816 2008-05-12  Bruno Haible  <bruno@clisp.org>
55817
55818         Update to Unicode 5.0.0.
55819         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
55820         LBP_JV, LBP_JT. Redistribute values.
55821         (unilbrk_table): Change size.
55822         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
55823         Unicode TR#14 rev. 22.
55824         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
55825         LBP_JV, LBP_JT. Redistribute values.
55826         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
55827         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
55828         Update.
55829         * lib/unilbrk/lbrkprop1.h: Regenerated.
55830         * lib/unilbrk/lbrkprop2.h: Regenerated.
55831         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
55832         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
55833         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
55834         Likewise.
55835         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
55836         Likewise.
55837         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
55838         result.
55839         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
55840         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
55841         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
55842         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
55843         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
55844         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
55845
55846 2008-05-11  Bruno Haible  <bruno@clisp.org>
55847
55848         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
55849
55850 2008-05-11  Bruno Haible  <bruno@clisp.org>
55851
55852         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
55853         * modules/unilbrk/gen-lbrk: New file.
55854
55855 2008-05-11  Bruno Haible  <bruno@clisp.org>
55856
55857         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
55858         * m4/sha512.m4 (gl_SHA512): Likewise.
55859
55860 2008-05-11  Jim Meyering  <meyering@redhat.com>
55861
55862         New modules: crypto/sha256, crypto/sha512 (from coreutils)
55863         * modules/crypto/sha256: New file.
55864         * modules/crypto/sha512: Likewise.
55865         * lib/sha256.c: Likewise.
55866         * lib/sha256.h: Likewise.
55867         * lib/sha512.c: Likewise.
55868         * lib/sha512.h: Likewise.
55869         * lib/u64.h: Likewise.
55870         * m4/sha256.m4: Likewise.
55871         * m4/sha512.m4: Likewise.
55872         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
55873
55874 2008-05-10  Bruno Haible  <bruno@clisp.org>
55875
55876         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
55877         (Input/Output <stdio.h>): Add xprintf.
55878         (Signal handling <signal.h>): Add strsignal.
55879         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
55880         (Core language properties): Add func.
55881         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
55882         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
55883         strings.
55884         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
55885         (Input/output): New section.
55886         (File system functions): Add openat-die, stat-macros.
55887         (Networking functions): Add sockets.
55888         (Unicode string functions): Add unictype/*.
55889         (Support for building libraries and executables): Add gperf.
55890         (Support for building documentation): Add agpl-3.0.
55891         (Misc): Add nocrash.
55892
55893 2008-05-10  Bruno Haible  <bruno@clisp.org>
55894
55895         * modules/unictype/gen-ctype: New file.
55896
55897 2008-05-10  Jim Meyering  <meyering@redhat.com>
55898
55899         Make chdir-safer.c more efficient on a system with no symlinks.
55900         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
55901         also if ELOOP is zero.  Suggested by Bruno Haible.
55902
55903         Make chdir-safer.c slightly safer.
55904         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
55905         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
55906
55907         Avoid compile failure on systems without ELOOP (like mingw).
55908         * lib/chdir-safer.c (ELOOP): Define if not already defined.
55909         Reported by Bruno Haible.
55910
55911 2008-05-10  Bruno Haible  <bruno@clisp.org>
55912
55913         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
55914         (is_utf8_encoding): Use a case-insensitive comparison.
55915         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
55916         streq.
55917
55918 2008-05-10  Bruno Haible  <bruno@clisp.org>
55919
55920         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
55921         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
55922         * lib/unilbrk/ulc-common.h (iconv_string_length,
55923         iconv_string_keeping_offsets): Remove declarations.
55924         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
55925         Don't include <iconv.h>, streq.h, xsize.h.
55926         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
55927         conversion.
55928         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
55929         <iconv.h>, streq.h, xsize.h.
55930         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
55931         conversion.
55932         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
55933         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
55934         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
55935         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
55936
55937 2008-05-10  Bruno Haible  <bruno@clisp.org>
55938
55939         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
55940         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
55941
55942         * modules/unilbrk/u32-width-linebreaks-tests: New file.
55943         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
55944
55945         * modules/unilbrk/u16-width-linebreaks-tests: New file.
55946         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
55947
55948         * modules/unilbrk/u8-width-linebreaks-tests: New file.
55949         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
55950
55951         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
55952         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
55953
55954         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
55955         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
55956
55957         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
55958         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
55959
55960         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
55961         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
55962
55963 2008-05-10  Bruno Haible  <bruno@clisp.org>
55964
55965         Split up 'linebreak' module.
55966         * lib/unilbrk.h: New file, based on lib/linebreak.h.
55967         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
55968         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
55969         modifications.
55970         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
55971         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
55972         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
55973         lib/linebreak.c.
55974         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
55975         lib/linebreak.c.
55976         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
55977         lib/linebreak.c.
55978         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
55979         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
55980         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
55981         lib/linebreak.c.
55982         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
55983         lib/linebreak.c.
55984         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
55985         lib/linebreak.c.
55986         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
55987         lib/linebreak.c.
55988         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
55989         lib/linebreak.c.
55990         * modules/unilbrk/base: New file.
55991         * modules/unilbrk/tables: New file.
55992         * modules/unilbrk/u8-possible-linebreaks: New file.
55993         * modules/unilbrk/u16-possible-linebreaks: New file.
55994         * modules/unilbrk/u32-possible-linebreaks: New file.
55995         * modules/unilbrk/ulc-common: New file.
55996         * modules/unilbrk/ulc-possible-linebreaks: New file.
55997         * modules/unilbrk/u8-width-linebreaks: New file.
55998         * modules/unilbrk/u16-width-linebreaks: New file.
55999         * modules/unilbrk/u32-width-linebreaks: New file.
56000         * modules/unilbrk/ulc-width-linebreaks: New file.
56001         * lib/linebreak.h: Remove file.
56002         * lib/linebreak.c: Remove file.
56003         * m4/linebreak.m4: Remove file.
56004         * modules/linebreak: Remove file.
56005         * NEWS: Mention the changes.
56006
56007 2008-05-09  Eric Blake  <ebb9@byu.net>
56008
56009         Add xmemdup0.
56010         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
56011         implementation.
56012         * lib/xmalloc.c (xmemdup0): New C implementation.
56013
56014 2008-05-08  Bruno Haible  <bruno@clisp.org>
56015
56016         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
56017
56018 2008-05-07  Eric Blake  <ebb9@byu.net>
56019
56020         Support cross-compilation of <wctype.h>.
56021         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
56022         AC_CACHE_CHECK.
56023
56024 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
56025
56026         * build-aux/vc-list-files: Add support for bzr.
56027
56028 2008-05-03  Jim Meyering  <meyering@redhat.com>
56029
56030         avoid failed assertion with tight malloc
56031         * tests/test-getndelim2.c: Correct an off-by-one assertion.
56032
56033 2008-05-03  Simon Josefsson  <simon@josefsson.org>
56034
56035         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
56036         are needed from arpa/inet.h.
56037         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
56038         Reported by Bruno Haible.
56039
56040 2008-05-02  Jim Meyering  <meyering@redhat.com>
56041
56042         avoid compilation error on FreeBSD 6
56043         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
56044
56045 2008-05-01  Jim Meyering  <meyering@redhat.com>
56046
56047         useless-if-before-free: correct --help's exit status description
56048         * build-aux/useless-if-before-free (usage): Like grep, exit 0
56049         for one or more matches, etc.  Reported by Bruno Haible.
56050
56051         vc-list-files: make the stand-alone gnulib test work
56052         * modules/vc-list-files-tests (configure.ac):
56053         Define and AC_SUBST abs_aux_dir.
56054         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
56055         $(abs_top_srcdir) to each script and having each of them
56056         duplicate the work of setting PATH, set PATH here, using
56057         the new variable, abs_aux_dir instead.
56058         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
56059         * tests/test-vc-list-files-git.sh: Likewise.
56060         Reported by Bruno Haible.
56061
56062 2008-05-01  Bruno Haible  <bruno@clisp.org>
56063
56064         * lib/getndelim2.c (getndelim2): Fix newsize computation during
56065         reallocation. Rename 'done' to 'found_delimiter'.
56066
56067 2008-05-01  Jim Meyering  <meyering@redhat.com>
56068
56069         vc-list-files: accommodate /bin/sh like the one from Solaris 10
56070         * build-aux/vc-list-files: Use `...`, not $(...).
56071
56072 2008-04-30  Jim Meyering  <meyering@redhat.com>
56073
56074         add tests for vc-list-files
56075         * modules/vc-list-files-tests: New module.
56076         * tests/test-vc-list-files-cvs.sh: New file.
56077         * tests/test-vc-list-files-git.sh: New file.
56078
56079         avoid a warning from gcc
56080         * lib/getndelim2.c (IF_LINT): Define.
56081         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
56082
56083         vc-list-files: work properly with build-aux/cvsu, too
56084         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
56085         to all cvs-based clauses.
56086
56087         vc-list-files: work properly in the CVS+awk case, too
56088         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
56089
56090         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
56091         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
56092         take more than one file argument, so .  Add quotes, just in case $dir
56093         ever contains a shell meta-character.  Prompted by Soren Hansen in
56094         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
56095
56096 2008-04-29  Eric Blake  <ebb9@byu.net>
56097
56098         Optimize getndelim2 to use block operations when possible.
56099         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
56100         freadseek, and memchr2.
56101         * lib/getndelim2.c (getndelim2): Use them for block reads.
56102
56103 2008-04-29  Bruno Haible  <bruno@clisp.org>
56104
56105         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
56106         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56107         * modules/inet_ntop (Depends-on): Add extensions.
56108         * modules/inet_pton (Depends-on): Likewise.
56109         Reported by Simon Josefsson.
56110
56111 2008-04-29  Jim Meyering  <meyering@redhat.com>
56112
56113         When the is more than one match in a block, match all of them.
56114         * build-aux/useless-if-before-free: Iterate through each block
56115         until there are no more matches.
56116
56117         Fix broken useless-if-before-free script.
56118         * build-aux/useless-if-before-free: Fix typo: missing "?" after
56119         the expression to match cast of argument to free-like function.
56120
56121 2008-04-29  Eric Blake  <ebb9@byu.net>
56122
56123         Use new header.
56124         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
56125
56126 2008-04-29  Jim Meyering  <meyering@redhat.com>
56127
56128         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
56129         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
56130         by gnulib to exist and to declare e.g., inet_ntop.
56131         Don't include "inet_ntop.h", now removed.
56132
56133         * m4/arpa_inet_h.m4: Remove trailing blanks.
56134
56135 2008-04-29  Eric Blake  <ebb9@byu.net>
56136
56137         Silence valgrind on safe reads beyond potential array bounds.
56138         * lib/rawmemchr.valgrind: New file.
56139         * lib/strchrnul.valgrind: Likewise.
56140         * modules/rawmemchr (Files): Distribute new file.
56141         * modules/strchrnul (Files): Likewise.
56142         Suggested by Bruno Haible.
56143
56144 2008-04-29  Bruno Haible  <bruno@clisp.org>
56145
56146         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
56147         (inet_ntop, inet_pton): Change portability warning's wording.
56148         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
56149         Invoke gl_CHECK_NEXT_HEADERS.
56150         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
56151         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
56152         set ARPA_INET_H.
56153         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56154         * modules/arpa_inet (Description): No longer only for systems that
56155         lack it.
56156         (Depends-on): Add include_next.
56157         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
56158         HAVE_ARPA_INET_H.
56159
56160 2008-04-29  Jim Meyering  <meyering@redhat.com>
56161
56162         * modules/mkdir (License): Re-license as LGPLv2+.
56163
56164 2008-04-29  Bruno Haible  <bruno@clisp.org>
56165
56166         * modules/rawmemchr (Maintainer): Set to Eric.
56167         * modules/strchrnul (Maintainer): Likewise.
56168
56169 2008-04-29  Simon Josefsson  <simon@josefsson.org>
56170
56171         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
56172         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
56173
56174         * modules/arpa_inet (arpa/inet.h): Use them.
56175
56176 2008-04-28  Eric Blake  <ebb9@byu.net>
56177
56178         Test getndelim2.
56179         * modules/getndelim2-tests: New file.
56180         * tests/test-getndelim2.c: Likewise.
56181         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
56182         stream.
56183         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
56184
56185         * MODULES.html.sh: Document new module.
56186
56187 2008-04-20  Bruno Haible  <bruno@clisp.org>
56188
56189         * lib/c-stack.c (die): Use raise.
56190         * modules/c-stack (Depends-on): Add raise.
56191
56192 2008-04-28  Bruno Haible  <bruno@clisp.org>
56193
56194         Expect rpmatch to be declared.
56195         * lib/yesno.c (rpmatch): Remove declaration.
56196
56197         Declare rpmatch.
56198         * lib/stdlib.in.h (rpmatch): New declaration.
56199         * lib/rpmatch.c: Include <stdlib.h> first.
56200         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
56201         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
56202         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
56203         HAVE_RPMATCH.
56204         * modules/rpmatch (Depends-on): Add stdlib, extensions.
56205         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56206         (Include): Set to <stdlib.h>.
56207         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
56208         HAVE_RPMATCH.
56209         * NEWS: Document the change.
56210
56211 2008-04-28  Bruno Haible  <bruno@clisp.org>
56212
56213         Change rpmatch to use nl_langinfo when appropriate.
56214         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
56215         (N_): New macro.
56216         (localized_pattern): New function/macro.
56217         (try): Remove match, nomatch arguments. Copy the pattern into safe
56218         memory before caching it.
56219         (rpmatch): Use localized_pattern. Add translator comments.
56220         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
56221         Suggested by Eric Blake.
56222         * modules/rpmatch (Depends-on): Add stdbool.
56223
56224 2008-04-28  Eric Blake  <ebb9@byu.net>
56225
56226         Add rawmemchr module, matching glibc.
56227         * modules/string (Makefile.am): New indicator.
56228         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
56229         * lib/string.in.h (rawmemchr): Declare when appropriate.
56230         * modules/rawmemchr: New file.
56231         * m4/rawmemchr.m4: Likewise.
56232         * lib/rawmemchr.c: Likewise.
56233         * modules/rawmemchr-tests: Likewise.
56234         * tests/test-rawmemchr.c: Likewise.
56235         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
56236         module.
56237         * modules/strchrnul (Depends-on): Add rawmemchr.
56238         * lib/strchrnul.c (strchrnul): Optimize a corner case.
56239
56240         Whitespace cleanup.
56241         * tests/test-strchrnul.c: Reindent.
56242         * lib/strchrnul.c: Likewise.
56243
56244         Optimize and test strchrnul.
56245         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
56246         * modules/strchrnul-tests: New file.
56247         * tests/test-strchrnul.c: Likewise.
56248
56249         Remove intprops dependency.
56250         * modules/memchr (Depends-on): Remove intprops.
56251         * modules/memrchr (Depends-on): Likewise.
56252         * modules/memchr2 (Depends-on): Likewise.
56253         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
56254         * lib/memrchr.c (__memrchr): Likewise.
56255         * lib/memrchr2.c (memchr2): Likewise.
56256         Reported by Simon Josefsson.
56257
56258 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56259
56260         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
56261         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56262
56263 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56264
56265         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
56266
56267         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
56268
56269         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
56270
56271         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
56272         declarations.
56273         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
56274
56275         * m4/inet_pton.m4: Don't check for header files.
56276
56277         * m4/inet_ntop.m4: Don't check for header files.
56278
56279 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56280
56281         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
56282         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
56283         trigger for cygwin).
56284         Reported by Bruno Haible  <bruno@clisp.org>.
56285
56286 2008-04-28  Bruno Haible  <bruno@clisp.org>
56287
56288         * doc/posix-functions/strdup.texi: Mention mingw problem.
56289
56290 2008-04-27  Bruno Haible  <bruno@clisp.org>
56291
56292         * modules/stat-time-tests (Depends-on): Add sleep.
56293         * tests/test-stat-time.c (force_unlink): New function.
56294         (cleanup): Use it.
56295         (test_mtime): Remove the ctime related tests.
56296         (test_ctime): New function, containing the ctime related tests.
56297         (main): Call test_ctime, except on native Windows platforms.
56298
56299 2008-04-27  Bruno Haible  <bruno@clisp.org>
56300
56301         * lib/rpmatch.c (rpmatch): Add some comments.
56302         Reported by James Youngman <jay@gnu.org>.
56303
56304 2008-04-27  Bruno Haible  <bruno@clisp.org>
56305
56306         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
56307         quiet NaNs.
56308
56309 2008-04-27  Bruno Haible  <bruno@clisp.org>
56310
56311         Make test-yesno.sh work on mingw.
56312         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
56313         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
56314         (main): Set stdin to binary mode.
56315         * modules/yesno-tests (Depends-on): Add binary-io.
56316
56317 2008-04-27  Bruno Haible  <bruno@clisp.org>
56318
56319         Fix 'isfinite' on x86, x86_64, ia64 platforms.
56320         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
56321         argument that lie outside the IEEE 854 domain.
56322         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
56323         (gl_ISFINITE): Use it.
56324         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
56325
56326 2008-04-27  Bruno Haible  <bruno@clisp.org>
56327
56328         Allow local renaming in config.h.
56329         * lib/memrchr.c (memrchr): Don't undefine outside libc.
56330
56331 2008-04-27  Bruno Haible  <bruno@clisp.org>
56332
56333         * lib/memchr.c (__memchr): Change type of 'i'.
56334         * lib/memchr2.c (memchr2): Likewise.
56335
56336 2008-04-26  Eric Blake  <ebb9@byu.net>
56337         and Bruno Haible  <bruno@clisp.org>
56338
56339         Optimize and test memrchr.
56340         * modules/memrchr (Depends-on): Add intprops.
56341         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
56342         * modules/memrchr-tests: New file.
56343         * tests/test-memrchr.c: New file.
56344
56345 2008-04-26  Bruno Haible  <bruno@clisp.org>
56346
56347         Add tentative support for DragonFly BSD.
56348         * lib/stdio-impl.h: Add macros for DragonFly BSD.
56349         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
56350         fp.
56351         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
56352         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
56353         * lib/fpurge.c (fpurge): Likewise.
56354         * lib/freadable.c (freaadable): Likewise.
56355         * lib/freadahead.c (freadahead): Likewise.
56356         * lib/freading.c (freading): Likewise.
56357         * lib/freadptr.c (freadptr): Likewise.
56358         * lib/freadseek.c (freadptrinc): Likewise.
56359         * lib/fseeko.c (fseeko): Likewise.
56360         * lib/fseterr.c (fseterr): Likewise.
56361         * lib/fwritable.c (fwritable): Likewise.
56362         * lib/fwriting.c (fwriting): Likewise.
56363
56364 2008-04-26  Bruno Haible  <bruno@clisp.org>
56365
56366         * lib/stdio-impl.h: New file.
56367         * lib/fbufmode.c: Include stdio-impl.h.
56368         (fbufmode): Use fp_, remove redundant #defines.
56369         * lib/fflush.c: Include stdio-impl.h.
56370         (clear_ungetc_buffer): Remove redundant #defines.
56371         * lib/fpurge.c: Include stdio-impl.h.
56372         (fpurge): Remove redundant #defines.
56373         * lib/freadable.c: Include stdio-impl.h.
56374         (freadable): Remove redundant #defines.
56375         * lib/freadahead.c: Include stdio-impl.h.
56376         (freadahead): Remove redundant #defines.
56377         * lib/freading.c: Include stdio-impl.h.
56378         (freading): Remove redundant #defines.
56379         * lib/freadptr.c: Include stdio-impl.h.
56380         (freadptr): Remove redundant #defines.
56381         * lib/freadseek.c: Include stdio-impl.h.
56382         (freadptrinc): Remove redundant #defines.
56383         * lib/fseeko.c: Include stdio-impl.h.
56384         (rpl_fseeko): Remove redundant #defines.
56385         * lib/fseterr.c: Include stdio-impl.h.
56386         (fseterr): Remove redundant #defines.
56387         * lib/fwritable.c: Include stdio-impl.h.
56388         (fwritable: Remove redundant #defines.
56389         * lib/fwriting.c: Include stdio-impl.h.
56390         (fwriting): Remove redundant #defines.
56391         * modules/fbufmode (Files): Add lib/stdio-impl.h.
56392         * modules/fflush (Files): Likewise.
56393         * modules/fpurge (Files): Likewise.
56394         * modules/freadable (Files): Likewise.
56395         * modules/freadahead (Files): Likewise.
56396         * modules/freading (Files): Likewise.
56397         * modules/freadptr (Files): Likewise.
56398         * modules/freadseek (Files): Likewise.
56399         * modules/fseeko (Files): Likewise.
56400         * modules/fseterr (Files): Likewise.
56401         * modules/fwritable (Files): Likewise.
56402         * modules/fwriting (Files): Likewise.
56403
56404 2008-04-26  Bruno Haible  <bruno@clisp.org>
56405
56406         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
56407         restore_seek_optimization, update_fpos_cache): New functions, extracted
56408         from rpl_fflush.
56409         (rpl_fflush): Use them.
56410         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
56411         (gl_REPLACE_FFLUSH): Use it.
56412
56413 2008-04-26  Bruno Haible  <bruno@clisp.org>
56414
56415         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
56416         on Solaris.
56417         * tests/test-xstrtoimax.sh: Likewise.
56418         * tests/test-xstrtoumax.sh: Likewise.
56419         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56420
56421 2008-04-26  Bruno Haible  <bruno@clisp.org>
56422
56423         * modules/memchr-tests: New file.
56424         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
56425
56426 2008-04-26  Eric Blake  <ebb9@byu.net>
56427             Bruno Haible  <bruno@clisp.org>
56428
56429         * lib/memchr.c: Include intprops.h.
56430         (__memchr): Optimize parallel detection of matching bytes. Rename local
56431         variables. Add explanatory comments.
56432
56433 2008-04-26  Bruno Haible  <bruno@clisp.org>
56434
56435         Fix module 'memchr', broken since 2000-10-28.
56436         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
56437
56438 2008-04-26  Bruno Haible  <bruno@clisp.org>
56439
56440         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
56441         comments.
56442
56443 2008-04-25  Eric Blake  <ebb9@byu.net>
56444
56445         Use native fstatat on cygwin 1.7.0.
56446         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
56447         first.
56448
56449 2008-04-23  Eric Blake  <ebb9@byu.net>
56450
56451         Improve memchr2 performance.
56452         * lib/memchr2.c (memchr2): Further optimize parallel detection of
56453         NUL bytes.
56454         * modules/memchr2 (Depends-on): Use intprops.h.
56455
56456 2008-04-23  Simon Josefsson  <simon@josefsson.org>
56457
56458         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
56459         an inline function instead of a CPP macro.  Patch by Ben Pfaff
56460         <blp@cs.stanford.edu>.
56461
56462 2008-04-23  Simon Josefsson  <simon@josefsson.org>
56463
56464         * lib/arpa_inet.in.h: New file.
56465
56466         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
56467         (Makefile.am): Sed in substitute header file.
56468
56469         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
56470         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
56471
56472         * modules/inet_ntop (configure.ac): Use
56473         gl_ARPA_INET_MODULE_INDICATOR.
56474
56475         * modules/inet_pton (configure.ac): Use
56476         gl_ARPA_INET_MODULE_INDICATOR.
56477
56478 2008-04-22  Jim Meyering  <meyering@redhat.com>
56479
56480         * modules/verify (License): Re-license as LGPLv2+.
56481
56482 2008-04-22  Simon Josefsson  <simon@josefsson.org>
56483
56484         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
56485         parameter to void* as per POSIX standard (MinGW uses char*).
56486
56487 2008-04-21  Bruno Haible  <bruno@clisp.org>
56488
56489         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
56490         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
56491         Define to replacements if REPLACE_ISWCNTRL is 1.
56492         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
56493         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
56494         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
56495         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
56496         what it fixes.
56497         * doc/posix-functions/iswalpha.texi: Likewise.
56498         * doc/posix-functions/iswblank.texi: Likewise.
56499         * doc/posix-functions/iswcntrl.texi: Likewise.
56500         * doc/posix-functions/iswdigit.texi: Likewise.
56501         * doc/posix-functions/iswgraph.texi: Likewise.
56502         * doc/posix-functions/iswlower.texi: Likewise.
56503         * doc/posix-functions/iswprint.texi: Likewise.
56504         * doc/posix-functions/iswpunct.texi: Likewise.
56505         * doc/posix-functions/iswspace.texi: Likewise.
56506         * doc/posix-functions/iswupper.texi: Likewise.
56507         * doc/posix-functions/iswxdigit.texi: Likewise.
56508         Reported by Alain Guibert.
56509
56510 2008-04-21  Bruno Haible  <bruno@clisp.org>
56511
56512         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
56513         Patch by Alain Guibert.
56514
56515 2008-04-21  Bruno Haible  <bruno@clisp.org>
56516
56517         Fix test failures on mingw.
56518         * tests/test-xstrtol.c (print_no_progname): New function.
56519         (main): Install it in error_print_progname hook.
56520         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
56521         * tests/test-xstrtoimax.sh: Likewise.
56522         * tests/test-xstrtoumax.sh: Likewise.
56523
56524 2008-04-21  Bruno Haible  <bruno@clisp.org>
56525
56526         Fix test failure on mingw.
56527         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
56528
56529 2008-04-21  Bruno Haible  <bruno@clisp.org>
56530
56531         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
56532         Actually assign a value.
56533
56534 2008-04-20  Bruno Haible  <bruno@clisp.org>
56535
56536         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
56537         take 2.
56538         * lib/canonicalize.c (canonicalize_file_name): Elide if the
56539         'canonicalize-lgpl' module is also used.
56540         * lib/canonicalize-lgpl.c: Undo last change.
56541         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
56542
56543 2008-04-20  Bruno Haible  <bruno@clisp.org>
56544
56545         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
56546         config.h. Provide _mkdir based fallback for mingw.
56547         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
56548         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
56549         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
56550         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
56551         rather than defining mkdir in config.h.
56552         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
56553         (gl_SYS_STAT_H_DEFAULTS): New macro.
56554         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
56555         HAVE_IO_H any more.
56556         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
56557         HAVE_DECL_MKDIR and HAVE_IO_H.
56558
56559 2008-04-20  Bruno Haible  <bruno@clisp.org>
56560
56561         * lib/isapipe.c: Port to native Windows platforms.
56562
56563 2008-04-20  Bruno Haible  <bruno@clisp.org>
56564
56565         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
56566
56567 2008-04-21  Eric Blake  <ebb9@byu.net>
56568
56569         Work around preprocessors that don't handle UINTMAX_MAX.
56570         * lib/memchr2.c (memchr2): Avoid embedded #if.
56571         Reported by Alain Guibert, fix suggested by Bruno Haible.
56572
56573 2008-04-21  Simon Josefsson  <simon@josefsson.org>
56574
56575         * doc/posix-functions/strftime.texi (strftime): Explain better
56576         Windows incompatibility.  Suggested by Micah Cowan
56577         <micah@cowan.name>.
56578
56579 2008-04-20  Bruno Haible  <bruno@clisp.org>
56580
56581         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
56582         unistr/u8-mblen.
56583
56584 2008-04-20  Bruno Haible  <bruno@clisp.org>
56585
56586         Fix test failure on platforms with non-GNU iconv.
56587         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
56588         (U_TO_U8): Use it, rather than u16_to_u8.
56589         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
56590         units at the end of the input string.
56591         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
56592
56593 2008-04-20  Bruno Haible  <bruno@clisp.org>
56594
56595         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
56596         when the resulting length is 0.
56597         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
56598
56599 2008-04-20  Bruno Haible  <bruno@clisp.org>
56600
56601         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
56602         works.
56603         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
56604
56605 2008-04-20  Bruno Haible  <bruno@clisp.org>
56606
56607         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
56608         * modules/tsearch-tests (configure.ac): Test for initstate function.
56609
56610 2008-04-20  Bruno Haible  <bruno@clisp.org>
56611
56612         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
56613         for nlink_t if missing.
56614         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
56615
56616 2008-04-19  Bruno Haible  <bruno@clisp.org>
56617
56618         Work around snprintf bug on Linux libc5.
56619         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
56620         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56621         gl_SNPRINTF_SIZE1.
56622         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56623         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
56624         that test failed.
56625         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
56626         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
56627         * modules/snprintf (Files): Add m4/printf.m4.
56628         * modules/vsnprintf (Files): Likewise.
56629         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
56630         * doc/posix-functions/vsnprintf.texi: Likewise.
56631
56632 2008-04-19  Bruno Haible  <bruno@clisp.org>
56633
56634         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
56635         from 0.0058 to less than 10^-7.
56636
56637 2008-04-19  Bruno Haible  <bruno@clisp.org>
56638
56639         Fix rounding when a precision is given.
56640         * lib/vasnprintf.c (is_borderline): New function.
56641         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
56642         9...9x.
56643         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
56644         %e, %g.
56645         * tests/test-vasprintf-posix.c (test_function): Likewise.
56646         * tests/test-snprintf-posix.h (test_function): Likewise.
56647         * tests/test-sprintf-posix.h (test_function): Likewise.
56648         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
56649         * tests/test-printf-posix.h (test_function): Likewise.
56650         * tests/test-printf-posix.output: Update.
56651         Reported by John Darrington <john@darrington.wattle.id.au> via
56652         Ben Pfaff <blp@cs.stanford.edu>.
56653
56654 2008-04-18  Simon Josefsson  <simon@josefsson.org>
56655
56656         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
56657         Suggested by Bruno Haible <bruno@clisp.org>.
56658
56659 2008-04-17  Bruno Haible  <bruno@clisp.org>
56660
56661         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
56662         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
56663         implementation.
56664         Patch by Bruce Merry <bmerry@gmail.com>.
56665
56666 2008-04-17  Simon Josefsson  <simon@josefsson.org>
56667
56668         * doc/posix-functions/strftime.texi (strftime): Mention that %e
56669         doesn't work under Windows.
56670
56671 2008-04-16  Bruno Haible  <bruno@clisp.org>
56672
56673         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
56674         New macros.
56675         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
56676         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
56677         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
56678         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
56679         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
56680         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
56681         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
56682         macros.
56683         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
56684         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
56685         Northern Sotho, Uighur.
56686
56687 2008-04-16  Bruno Haible  <bruno@clisp.org>
56688
56689         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
56690         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
56691         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
56692         Reported by Daniel Bergström <daniel@octocode.com>.
56693
56694 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
56695             Bruno Haible  <bruno@clisp.org>
56696
56697         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
56698         function.
56699         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
56700         New functions, mostly extracted from gl_locale_name_default.
56701         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
56702
56703 2008-04-16  Eric Blake  <ebb9@byu.net>
56704
56705         Adjust strtod detection to catch glibc 2.7 bug.
56706         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
56707         Reported by John Gatewood Ham.
56708
56709 2008-04-16  Bruno Haible  <bruno@clisp.org>
56710
56711         Add tentative support for Linux libc5.
56712         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
56713         * lib/fpurge.c (fpurge): Likewise.
56714         * lib/freadable.c (freadable): Likewise.
56715         * lib/freadahead.c (freadahead): Likewise.
56716         * lib/freading.c (freading): Likewise.
56717         * lib/freadptr.c (freadptr): Likewise.
56718         * lib/freadseek.c (freadptrinc): Likewise.
56719         * lib/fseeko.c (rpl_fseeko): Likewise.
56720         * lib/fseterr.c (fseterr): Likewise.
56721         * lib/fwritable.c (fwritable): Likewise.
56722         * lib/fwriting.c (fwriting): Likewise.
56723         Reported by Alain Guibert <alguibert+bts@free.fr>.
56724
56725 2008-04-15  Bruno Haible  <bruno@clisp.org>
56726
56727         * modules/mathl (configure.ac): Define module indicator.
56728
56729 2008-04-15  Bruno Haible  <bruno@clisp.org>
56730
56731         * lib/logl.c (logl): Remove unused variables.
56732
56733 2008-04-15  Bruno Haible  <bruno@clisp.org>
56734
56735         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
56736         fails.
56737
56738 2008-04-15  Bruno Haible  <bruno@clisp.org>
56739
56740         * lib/trim.c (trim2): Fix argument of isspace() macro.
56741
56742 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
56743
56744         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
56745         to 0.
56746         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
56747
56748 2008-04-14  Bruno Haible  <bruno@clisp.org>
56749
56750         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
56751         AC_LANG_PROGRAM argument.
56752         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
56753         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
56754         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
56755         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56756         * m4/math_h.m4 (gl_MATH_H): Likewise.
56757         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
56758         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56759         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
56760         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
56761         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
56762         * m4/regex.m4 (gl_REGEX): Likewise.
56763         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
56764         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
56765         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56766         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
56767         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56768         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56769         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56770         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
56771
56772 2008-04-14  Jim Meyering  <meyering@redhat.com>
56773
56774         test-strtod: fix typos: s/abs/fabs/
56775         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
56776
56777 2008-04-13  Bruno Haible  <bruno@clisp.org>
56778
56779         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
56780         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
56781         module is also used and while not building the reloc-wrapper.
56782
56783 2008-04-13  Bruno Haible  <bruno@clisp.org>
56784
56785         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
56786
56787 2008-04-13  Bruno Haible  <bruno@clisp.org>
56788
56789         Fix AIX compilation failure introduced on 2008-04-02.
56790         * tests/test-frexp.c (exp): Undefine before redefining.
56791         * tests/test-frexpl.c (exp): Likewise.
56792
56793 2008-04-13  Bruno Haible  <bruno@clisp.org>
56794
56795         Work around a HP-UX stdio bug.
56796         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
56797         * tests/test-ftello.c (main): Likewise.
56798         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
56799         * doc/posix-functions/ftello.texi: Likewise.
56800
56801 2008-04-13  Bruno Haible  <bruno@clisp.org>
56802
56803         Make test-signbit pass on HP-UX/hppa.
56804         * tests/test-signbit.c (minus_zerol): New variable.
56805         (test_signbitl): Use it.
56806
56807 2008-04-13  Bruno Haible  <bruno@clisp.org>
56808
56809         Make truncl work on OSF/1 4.0.
56810         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
56811         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
56812         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
56813         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
56814         HAVE_DECL_TRUNCL.
56815         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
56816         HAVE_DECL_TRUNCL.
56817         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
56818
56819 2008-04-13  Bruno Haible  <bruno@clisp.org>
56820
56821         * lib/unictype.h: Remove trailing comma from enumeration definitions.
56822
56823 2008-04-13  Bruno Haible  <bruno@clisp.org>
56824
56825         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
56826         expression, so as to avoid HP-UX 11 cc compiler bug.
56827
56828 2008-04-13  Bruno Haible  <bruno@clisp.org>
56829
56830         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
56831
56832 2008-04-13  Bruno Haible  <bruno@clisp.org>
56833
56834         * lib/git-merge-changelog.c: Remove empty declaration outside of
56835         functions.
56836
56837 2008-04-13  Bruno Haible  <bruno@clisp.org>
56838
56839         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
56840
56841 2008-04-13  Bruno Haible  <bruno@clisp.org>
56842
56843         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
56844         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
56845         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
56846         also if it exists but lacks definitions of the SHUT_* macros.
56847         * modules/sys_socket (Description): Update.
56848         Reported by Elbert Pol <e.pol@chello.nl>.
56849
56850 2008-04-13  Bruno Haible  <bruno@clisp.org>
56851
56852         * lib/localcharset.c (OS2): Don't redefine if already defined.
56853         Reported by Elbert Pol <e.pol@chello.nl>.
56854
56855 2008-04-13  Bruno Haible  <bruno@clisp.org>
56856
56857         * lib/binary-io.h [__EMX__]: Include <io.h>.
56858         Reported by Elbert Pol <e.pol@chello.nl>.
56859
56860 2008-04-12  Bruno Haible  <bruno@clisp.org>
56861
56862         * lib/fpucw.h: Enable the definitions also for x86_64.
56863         Needed for NetBSD/x86_64.
56864         Reported by Thomas Klausner <tk@giga.or.at>.
56865
56866 2008-04-12  Bruno Haible  <bruno@clisp.org>
56867
56868         * tests/test-strtod.c: Include isnand.h.
56869         (main): Use isnand instead of isnan.
56870         Reported by Jim Meyering.
56871
56872 2008-04-12  Bruno Haible  <bruno@clisp.org>
56873
56874         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
56875         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
56876
56877 2008-04-12  Jim Meyering  <meyering@redhat.com>
56878
56879         * m4/math_h.m4 (gl_MATH_H): Fix typos.
56880
56881 2008-04-12  Bruno Haible  <bruno@clisp.org>
56882
56883         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
56884         Reported by Elbert Pol <e.pol@chello.nl>.
56885
56886 2008-04-12  Eric Blake  <ebb9@byu.net>
56887
56888         Work around Solaris 10 math.h bug.
56889         * m4/math_h.m4 (gl_MATH_H): Check for bug.
56890         (gl_MATH_H_DEFAULTS): Set up default.
56891         * modules/math (Makefile.am): Replace new indicators.
56892         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
56893         * tests/test-math.c (main): Test this.
56894         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
56895         * doc/posix-headers/math.texi (math.h): Mention bug.
56896         Reported by Nelson H. F. Beebe and Jim Meyering.
56897
56898 2008-04-11  Bruno Haible  <bruno@clisp.org>
56899
56900         Adapt to future versions of Apple GCC.
56901         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
56902         Reported by Peter O'Gorman <peter@pogma.com>.
56903
56904 2008-04-11  Bruno Haible  <bruno@clisp.org>
56905
56906         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
56907
56908 2008-04-11  Bruno Haible  <bruno@clisp.org>
56909
56910         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
56911
56912         * modules/getaddrinfo-tests (Makefile.am): Define
56913         test_getaddrinfo_LDADD.
56914
56915 2008-04-11  Bruno Haible  <bruno@clisp.org>
56916
56917         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
56918         (init): Fix syntax error.
56919         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
56920         is declared.
56921
56922 2008-04-11  Bruno Haible  <bruno@clisp.org>
56923
56924         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
56925         * modules/glob (Depends-on): Add stdbool.
56926
56927 2008-04-11  Bruno Haible  <bruno@clisp.org>
56928
56929         * lib/trim.c: Include <string.h>.
56930
56931 2008-04-11  Eric Blake  <ebb9@byu.net>
56932
56933         Avoid compile failure on OS/2.
56934         * lib/regex_internal.h (internal_function): Disable optimization
56935         on OS/2 (__EMX__), where it caused compiler error.
56936         Reported by Elbert Pol.
56937
56938 2008-04-11  Bruno Haible  <bruno@clisp.org>
56939
56940         Flush the standard error stream before aborting. Needed on mingw.
56941         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
56942         * tests/test-array_list.c (ASSERT): Likewise.
56943         * tests/test-array_oset.c (ASSERT): Likewise.
56944         * tests/test-avltree_list.c (ASSERT): Likewise.
56945         * tests/test-avltree_oset.c (ASSERT): Likewise.
56946         * tests/test-avltreehash_list.c (ASSERT): Likewise.
56947         * tests/test-binary-io.c (ASSERT): Likewise.
56948         * tests/test-byteswap.c (ASSERT): Likewise.
56949         * tests/test-c-ctype.c (ASSERT): Likewise.
56950         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
56951         * tests/test-c-strcasestr.c (ASSERT): Likewise.
56952         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
56953         * tests/test-c-strstr.c (ASSERT): Likewise.
56954         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
56955         * tests/test-canonicalize.c (ASSERT): Likewise.
56956         * tests/test-carray_list.c (ASSERT): Likewise.
56957         * tests/test-ceilf1.c (ASSERT): Likewise.
56958         * tests/test-ceilf2.c (ASSERT): Likewise.
56959         * tests/test-ceill.c (ASSERT): Likewise.
56960         * tests/test-count-one-bits.c (ASSERT): Likewise.
56961         * tests/test-fbufmode.c (ASSERT): Likewise.
56962         * tests/test-fflush2.c (ASSERT): Likewise.
56963         * tests/test-floorf1.c (ASSERT): Likewise.
56964         * tests/test-floorf2.c (ASSERT): Likewise.
56965         * tests/test-floorl.c (ASSERT): Likewise.
56966         * tests/test-fopen.c (ASSERT): Likewise.
56967         * tests/test-fpending.c (ASSERT): Likewise.
56968         * tests/test-fprintf-posix.c (ASSERT): Likewise.
56969         * tests/test-fpurge.c (ASSERT): Likewise.
56970         * tests/test-freadable.c (ASSERT): Likewise.
56971         * tests/test-freadahead.c (ASSERT): Likewise.
56972         * tests/test-freading.c (ASSERT): Likewise.
56973         * tests/test-freadptr.c (ASSERT): Likewise.
56974         * tests/test-freadptr2.c (ASSERT): Likewise.
56975         * tests/test-freadseek.c (ASSERT): Likewise.
56976         * tests/test-freopen.c (ASSERT): Likewise.
56977         * tests/test-frexp.c (ASSERT): Likewise.
56978         * tests/test-frexpl.c (ASSERT): Likewise.
56979         * tests/test-fseek.c (ASSERT): Likewise.
56980         * tests/test-fseeko.c (ASSERT): Likewise.
56981         * tests/test-fstrcmp.c (ASSERT): Likewise.
56982         * tests/test-ftell.c (ASSERT): Likewise.
56983         * tests/test-ftello.c (ASSERT): Likewise.
56984         * tests/test-func.c (ASSERT): Likewise.
56985         * tests/test-fwritable.c (ASSERT): Likewise.
56986         * tests/test-fwriting.c (ASSERT): Likewise.
56987         * tests/test-getdelim.c (ASSERT): Likewise.
56988         * tests/test-getline.c (ASSERT): Likewise.
56989         * tests/test-i-ring.c (ASSERT): Likewise.
56990         * tests/test-iconv-utf.c (ASSERT): Likewise.
56991         * tests/test-iconv.c (ASSERT): Likewise.
56992         * tests/test-isfinite.c (ASSERT): Likewise.
56993         * tests/test-isnand.c (ASSERT): Likewise.
56994         * tests/test-isnanf.c (ASSERT): Likewise.
56995         * tests/test-isnanl.h (ASSERT): Likewise.
56996         * tests/test-ldexpl.c (ASSERT): Likewise.
56997         * tests/test-linked_list.c (ASSERT): Likewise.
56998         * tests/test-linkedhash_list.c (ASSERT): Likewise.
56999         * tests/test-localename.c (ASSERT): Likewise.
57000         * tests/test-lseek.c (ASSERT): Likewise.
57001         * tests/test-mbscasecmp.c (ASSERT): Likewise.
57002         * tests/test-mbscasestr1.c (ASSERT): Likewise.
57003         * tests/test-mbscasestr2.c (ASSERT): Likewise.
57004         * tests/test-mbscasestr3.c (ASSERT): Likewise.
57005         * tests/test-mbscasestr4.c (ASSERT): Likewise.
57006         * tests/test-mbschr.c (ASSERT): Likewise.
57007         * tests/test-mbscspn.c (ASSERT): Likewise.
57008         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
57009         * tests/test-mbspbrk.c (ASSERT): Likewise.
57010         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
57011         * tests/test-mbsrchr.c (ASSERT): Likewise.
57012         * tests/test-mbsspn.c (ASSERT): Likewise.
57013         * tests/test-mbsstr1.c (ASSERT): Likewise.
57014         * tests/test-mbsstr2.c (ASSERT): Likewise.
57015         * tests/test-mbsstr3.c (ASSERT): Likewise.
57016         * tests/test-memchr2.c (ASSERT): Likewise.
57017         * tests/test-memmem.c (ASSERT): Likewise.
57018         * tests/test-open.c (ASSERT): Likewise.
57019         * tests/test-printf-frexp.c (ASSERT): Likewise.
57020         * tests/test-printf-frexpl.c (ASSERT): Likewise.
57021         * tests/test-printf-posix.c (ASSERT): Likewise.
57022         * tests/test-quotearg.c (ASSERT): Likewise.
57023         * tests/test-rbtree_list.c (ASSERT): Likewise.
57024         * tests/test-rbtree_oset.c (ASSERT): Likewise.
57025         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
57026         * tests/test-round1.c (ASSERT): Likewise.
57027         * tests/test-roundf1.c (ASSERT): Likewise.
57028         * tests/test-roundl.c (ASSERT): Likewise.
57029         * tests/test-signbit.c (ASSERT): Likewise.
57030         * tests/test-sleep.c (ASSERT): Likewise.
57031         * tests/test-snprintf-posix.c (ASSERT): Likewise.
57032         * tests/test-snprintf.c (ASSERT): Likewise.
57033         * tests/test-sprintf-posix.c (ASSERT): Likewise.
57034         * tests/test-stat-time.c (ASSERT): Likewise.
57035         * tests/test-strcasestr.c (ASSERT): Likewise.
57036         * tests/test-strerror.c (ASSERT): Likewise.
57037         * tests/test-striconv.c (ASSERT): Likewise.
57038         * tests/test-striconveh.c (ASSERT): Likewise.
57039         * tests/test-striconveha.c (ASSERT): Likewise.
57040         * tests/test-strsignal.c (ASSERT): Likewise.
57041         * tests/test-strstr.c (ASSERT): Likewise.
57042         * tests/test-strtod.c (ASSERT): Likewise.
57043         * tests/test-trunc1.c (ASSERT): Likewise.
57044         * tests/test-trunc2.c (ASSERT): Likewise.
57045         * tests/test-truncf1.c (ASSERT): Likewise.
57046         * tests/test-truncf2.c (ASSERT): Likewise.
57047         * tests/test-truncl.c (ASSERT): Likewise.
57048         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
57049         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
57050         * tests/test-vasnprintf.c (ASSERT): Likewise.
57051         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
57052         * tests/test-vasprintf.c (ASSERT): Likewise.
57053         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
57054         * tests/test-vprintf-posix.c (ASSERT): Likewise.
57055         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
57056         * tests/test-vsnprintf.c (ASSERT): Likewise.
57057         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
57058         * tests/test-wcwidth.c (ASSERT): Likewise.
57059         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
57060         * tests/test-xprintf-posix.c (ASSERT): Likewise.
57061         * tests/test-xvasprintf.c (ASSERT): Likewise.
57062         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
57063         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
57064         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
57065         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
57066         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
57067         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
57068         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
57069         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
57070         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
57071         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
57072         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
57073         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
57074         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
57075         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
57076         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
57077         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
57078         * tests/unictype/test-block_list.c (ASSERT): Likewise.
57079         * tests/unictype/test-block_of.c (ASSERT): Likewise.
57080         * tests/unictype/test-block_test.c (ASSERT): Likewise.
57081         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
57082         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
57083         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
57084         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
57085         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
57086         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
57087         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
57088         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
57089         * tests/unictype/test-combining.c (ASSERT): Likewise.
57090         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
57091         * tests/unictype/test-digit.c (ASSERT): Likewise.
57092         * tests/unictype/test-mirror.c (ASSERT): Likewise.
57093         * tests/unictype/test-numeric.c (ASSERT): Likewise.
57094         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
57095         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
57096         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
57097         * tests/unictype/test-scripts.c (ASSERT): Likewise.
57098         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
57099         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
57100         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
57101         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
57102         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
57103         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
57104         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
57105         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
57106         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
57107         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
57108         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
57109         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
57110         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
57111         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
57112         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
57113         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
57114         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
57115         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
57116         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
57117         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
57118         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
57119         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
57120         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
57121         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
57122         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
57123         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
57124         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
57125         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
57126         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
57127         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
57128         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
57129         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
57130         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
57131         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
57132         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
57133         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
57134         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
57135         Reported by Eric Blake.
57136
57137 2008-04-11  Bruno Haible  <bruno@clisp.org>
57138
57139         * lib/wchar.in.h: Tweak comment.
57140
57141 2008-04-11  Bruno Haible  <bruno@clisp.org>
57142
57143         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
57144         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
57145         gl_COMMON.
57146         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
57147
57148 2008-04-11  Bruno Haible  <bruno@clisp.org>
57149
57150         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
57151
57152 2008-04-11  Simon Josefsson  <simon@josefsson.org>
57153
57154         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
57155         of attempting to use non-existing /dev/*random.  Based on patch
57156         from Adam Strzelecki <ono@java.pl> in
57157         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
57158
57159 2008-04-08  Bruno Haible  <bruno@clisp.org>
57160
57161         Add tentative support for emx+gcc.
57162         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
57163         * lib/fpurge.c (fpurge): Likewise.
57164         * lib/freadable.c (freadable): Likewise.
57165         * lib/freadahead.c (freadahead): Likewise.
57166         * lib/freading.c (freading): Likewise.
57167         * lib/freadptr.c (freadptr): Likewise.
57168         * lib/freadseek.c (freadptrinc): Likewise.
57169         * lib/fseeko.c (rpl_fseeko): Likewise.
57170         * lib/fseterr.c (fseterr): Likewise.
57171         * lib/fwritable.c (fwritable): Likewise.
57172         * lib/fwriting.c (fwriting): Likewise.
57173         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
57174
57175 2008-04-09  Eric Blake  <ebb9@byu.net>
57176
57177         Avoid some autoconf warnings.
57178         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
57179         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
57180         * m4/afs.m4 (gl_AFS): Likewise.
57181         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
57182         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
57183         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
57184         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
57185         (gl_INTEGER_TYPE_SUFFIX): Likewise.
57186         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
57187         (AC_CHECK_DECLS_ONCE): Likewise.
57188         Rename file...
57189         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
57190         gnulib-tool requires autoconf 2.59 or better.
57191         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
57192
57193 2008-04-08  Eric Blake  <ebb9@byu.net>
57194
57195         Use 'git describe --match' if present (added in git 1.5.5).
57196         * build-aux/git-version-gen: Limit result to tags that match 'v*'
57197         if possible.
57198
57199 2008-04-08  Bruno Haible  <bruno@clisp.org>
57200
57201         Add tentative support for OpenServer.
57202         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
57203         _ptr, _cnt.
57204         * lib/fpurge.c (fpurge): Likewise.
57205         * lib/freadable.c (freadable): Likewise.
57206         * lib/freadahead.c (freadahead): Likewise.
57207         * lib/freading.c (freading): Likewise.
57208         * lib/freadptr.c (freadptr): Likewise.
57209         * lib/freadseek.c (freadptrinc): Likewise.
57210         * lib/fseeko.c (rpl_fseeko): Likewise.
57211         * lib/fseterr.c (fseterr): Likewise.
57212         * lib/fwritable.c (fwritable): Likewise.
57213         * lib/fwriting.c (fwriting): Likewise.
57214         Reported by Roger Cornelius <rac@tenzing.org> and
57215         Brian K. White <brian@aljex.com>.
57216
57217 2008-04-06  Jim Meyering  <meyering@redhat.com>
57218
57219         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
57220
57221 2008-04-06  Bruno Haible  <bruno@clisp.org>
57222
57223         Avoid possible error with non-ASCII bytes in UTF-8 locales.
57224         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
57225         * tests/test-printf-posix.sh: Likewise.
57226         * tests/test-vfprintf-posix.sh: Likewise.
57227         * tests/test-vprintf-posix.sh: Likewise.
57228         * tests/test-xprintf-posix.sh: Likewise.
57229
57230 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57231
57232         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
57233         hide error from 'ls', needed on OS/2.
57234         Report by Elbert Pol <elbert.pol@gmail.com>.
57235
57236 2008-04-04  Eric Blake  <ebb9@byu.net>
57237
57238         Make test-fseeko.c failures meaningful.
57239         * tests/test-fseeko.c: Print line number on failure.
57240         * tests/test-fseek.c: Likewise.
57241         Reported by Nelson H. F. Beebe.
57242
57243         Improve strtod bug detection check.
57244         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
57245         required for Solaris 10.
57246         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
57247
57248 2008-04-04  Bruno Haible  <bruno@clisp.org>
57249
57250         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
57251         by m4/setenv.m4.
57252
57253 2008-04-03  Eric Blake  <ebb9@byu.net>
57254
57255         Ensure sane .version contents.
57256         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
57257         version string.
57258         * build-aux/git-version-gen: Improve documentation.
57259
57260         Make GNU make output nicer.
57261         * top/GNUmakefile [!_have-Makefile]: Add dependency on
57262         MAKECMDGOALS to enforce message for all command line targets.  Set
57263         srcdir for use in maint.mk.
57264
57265         Another maintainer tweak.
57266         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
57267         a target that regenerates version.
57268
57269 2008-04-03  Jim Meyering  <meyering@redhat.com>
57270
57271         vc-list-files: don't cause coreutils "make po-check" failure
57272         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
57273
57274 2008-04-03  Eric Blake  <ebb9@byu.net>
57275
57276         Allow VPATH usage of vc-list-files.
57277         * build-aux/vc-list-files (scriptversion): Add timestamp.
57278         (options): Add --help, --version, -C.
57279         (CVS): Support installed cvsu.
57280
57281 2008-04-02  Bruno Haible  <bruno@clisp.org>
57282
57283         Avoid some "statement with no effect" warnings from gcc.
57284         * tests/test-wctype.c (main): Explicitly ignore unused values.
57285         Reported by Jim Meyering.
57286
57287 2008-04-02  Jim Meyering  <meyering@redhat.com>
57288
57289         Avoid some warnings from "gcc -Wshadow".
57290         * tests/test-frexp.c (exp): Define to a different identifier.
57291         * tests/test-frexpl.c (exp): Likewise.
57292
57293 2008-04-03  Jim Meyering  <meyering@redhat.com>
57294
57295         bootstrap: remove dangling *.[ch] symlinks from lib
57296         * build-aux/bootstrap [dangling symlink removal]: Move find's
57297         -depth option to precede all others, to avoid a warning.
57298         Remove *.[ch] files too, and from "$source_base" (usually lib/).
57299
57300 2008-04-02  Bruno Haible  <bruno@clisp.org>
57301
57302         Avoid some warnings from "gcc -Wshadow".
57303         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
57304         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
57305         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
57306         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
57307         Reported by Jim Meyering.
57308
57309 2008-04-01  Bruno Haible  <bruno@clisp.org>
57310
57311         Fix test to work on IRIX 6.5 with cc.
57312         * tests/test-math.c (numeric_equal): New function.
57313         (main): Use it.
57314
57315 2008-04-01  Bruno Haible  <bruno@clisp.org>
57316
57317         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
57318
57319 2008-04-01  Bruno Haible  <bruno@clisp.org>
57320
57321         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
57322         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57323         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
57324         (Depends-on): Remove math.
57325
57326         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
57327         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57328         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
57329         (Depends-on): Remove math.
57330
57331         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
57332         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57333         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
57334         (Depends-on): Remove math.
57335         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
57336         (Depends-on): Remove math.
57337
57338         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
57339         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57340         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
57341         (Depends-on): Remove math.
57342         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
57343         (Depends-on): Remove math.
57344
57345         * tests/test-round1.c: Include nan.h.
57346         (main): Use NaNd instead of NAN.
57347         * modules/round-tests (Files): Add tests/nan.h.
57348
57349         * tests/test-trunc1.c: Include nan.h.
57350         (main): Use NaNd instead of NAN.
57351         * modules/trunc-tests (Files): Add tests/nan.h.
57352
57353         * tests/test-roundf1.c: Include nan.h.
57354         (main): Use NaNf instead of NAN.
57355         * modules/roundf-tests (Files): Add tests/nan.h.
57356
57357         * tests/test-truncf1.c: Include nan.h.
57358         (main): Use NaNf instead of NAN.
57359         * modules/truncf-tests (Files): Add tests/nan.h.
57360
57361         * tests/test-ceilf1.c: Include nan.h.
57362         (main): Use NaNf instead of NAN.
57363         * modules/ceilf-tests (Files): Add tests/nan.h.
57364
57365         * tests/test-floorf1.c: Include nan.h.
57366         (main): Use NaNf instead of NAN.
57367         * modules/floorf-tests (Files): Add tests/nan.h.
57368
57369         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
57370         (main): Use NaNf instead of NAN.
57371         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
57372
57373         * tests/test-isnand.c: Include nan.h instead of <math.h>.
57374         (main): Use NaNd instead of NAN.
57375         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
57376
57377         * tests/test-frexp.c: Include nan.h.
57378         (main): Use NaNd instead of NAN.
57379         * modules/frexp-tests (Files): Add tests/nan.h.
57380
57381         * lib/isnan.c: Don't include <math.h>.
57382         (FUNC): Don't use NAN macro.
57383         * modules/isnand-nolibm (Depends-on): Remove math.
57384         * modules/isnanf-nolibm (Depends-on): Remove math.
57385         * modules/isnanl (Depends-on): Remove math.
57386         * modules/isnanl-nolibm (Depends-on): Remove math.
57387
57388         * tests/nan.h: New file.
57389
57390 2008-04-01  Eric Blake  <ebb9@byu.net>
57391
57392         Fix typos.
57393         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
57394         values to be the right type.
57395
57396         For now, cater to gnulib strtod inaccuracies.
57397         * tests/test-strtod.c (main): Allow 1-ulp error on expected
57398         fractional results.  While not as nice from a QoI perspective, it
57399         is a quicker patch than correctly implementing decimal to binary
57400         rounding.
57401
57402 2008-03-31  Eric Blake  <ebb9@byu.net>
57403
57404         Guarantee a definition of NAN.
57405         * lib/math.in.h (NAN): Define if missing.
57406         * tests/test-math.c (main): Test it.
57407         * doc/posix-headers/math.texi (math.h): Document this.
57408         * lib/isnan.c (rpl_isnand): Use it.
57409         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
57410         * tests/test-floorf1.c (NaN): Likewise.
57411         * tests/test-frexp.c (NaN): Likewise.
57412         * tests/test-isnand.c (NaN): Likewise.
57413         * tests/test-isnanf.c (NaN): Likewise.
57414         * tests/test-round1.c (NaN): Likewise.
57415         * tests/test-roundf1.c (NaN): Likewise.
57416         * tests/test-snprintf-posix.h (NaN): Likewise.
57417         * tests/test-sprintf-posix.h (NaN): Likewise.
57418         * tests/test-trunc1.c (NaN): Likewise.
57419         * tests/test-truncf1.c (NaN): Likewise.
57420         * tests/test-vasnprintf-posix.c (NaN): Likewise.
57421         * tests/test-vasprintf-posix.c (NaN): Likewise.
57422         * modules/isnand-nolibm (Depends-on): Add math.
57423         * modules/isnanf-nolibm (Depends-on): Likewise.
57424         * modules/isnanl (Depends-on): Likewise.
57425         * modules/isnanl-nolibm (Depends-on): Likewise.
57426         * modules/snprintf-posix-tests (Depends-on): Likewise.
57427         * modules/sprintf-posix-tests (Depends-on): Likewise.
57428         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
57429         * modules/vsprintf-posix-tests (Depends-on): Likewise.
57430         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
57431         * modules/vasprintf-posix-tests (Depends-on): Likewise.
57432
57433 2008-03-31  Bruno Haible  <bruno@clisp.org>
57434
57435         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
57436         * doc/posix-functions/strtod.texi: Likewise.
57437
57438 2008-03-31  Bruno Haible  <bruno@clisp.org>
57439
57440         * tests/test-strtod.c (main): Don't use C99 syntax.
57441
57442 2008-03-31  Bruno Haible  <bruno@clisp.org>
57443
57444         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
57445         Reported by Eric Blake.
57446
57447 2008-03-31  Jim Meyering  <meyering@redhat.com>
57448
57449         Don't compare actual signbit return values.
57450         * tests/test-strtod.c (main): Rather, compare only their
57451         zero/non-zero nature.
57452
57453 2008-03-31  Eric Blake  <ebb9@byu.net>
57454
57455         More strtod documentation.
57456         * doc/posix-functions/strtod.texi (strtod): Interpret more test
57457         failures as distinct bugs.
57458
57459 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
57460
57461         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
57462         Problem reported by Erik Benada in
57463         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
57464
57465 2008-03-30  Bruno Haible  <bruno@clisp.org>
57466
57467         * tests/test-strtod.c: Add comments about which assertion fails on which
57468         platform.
57469         * doc/posix-functions/strtod.texi: Add info about many more platforms.
57470
57471 2008-03-30  Eric Blake  <ebb9@byu.net>
57472
57473         Test signbit behavior on zeros.
57474         * tests/test-signbit.c (test_signbitf): Add tests for zero.
57475         (test_signbitd, test_signbitl): Likewise.
57476
57477         More strtod touchups.
57478         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
57479         sign of negative underflow, for now.  Use .5, not .1.
57480         * doc/posix-functions/strtod.texi (strtod): Mention these
57481         limitations.
57482         Reported by Jim Meyering.
57483
57484 2008-03-30  Bruno Haible  <bruno@clisp.org>
57485
57486         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
57487         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
57488
57489 2008-03-30  Bruno Haible  <bruno@clisp.org>
57490
57491         Avoid failure when attempting to return empty iconv results on some
57492         platforms.
57493         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
57494         allocation, don't report ENOMEM when the resulting string is empty.
57495
57496 2008-03-30  Bruno Haible  <bruno@clisp.org>
57497
57498         Fix buffer overrun.
57499         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
57500         Don't consider the width for tmp_length. Check count against tmp_length
57501         before doing the padding. Ensure enough allocation during padding.
57502
57503 2008-03-30  Eric Blake  <ebb9@byu.net>
57504
57505         strtod touchups.
57506         * lib/strtod.c (strtod): Avoid compiler warnings.
57507         Reported by Jim Meyering.
57508
57509 2008-03-30  Bruno Haible  <bruno@clisp.org>
57510
57511         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
57512         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
57513         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
57514         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
57515         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
57516         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
57517         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
57518         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
57519
57520         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
57521         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
57522         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
57523         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
57524         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
57525         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
57526         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
57527         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
57528
57529         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
57530         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
57531         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
57532         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
57533         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
57534         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
57535         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
57536         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
57537
57538         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
57539         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
57540
57541         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
57542         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
57543
57544         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
57545         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
57546
57547         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
57548         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
57549         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
57550
57551         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
57552         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
57553         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
57554
57555         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
57556         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
57557         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
57558
57559         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
57560         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
57561         * modules/vasprintf (Depends-on): Add EOVERFLOW.
57562
57563         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
57564         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
57565         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
57566         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
57567         (Depends-on): Add EOVERFLOW.
57568         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
57569         (Depends-on): Add EOVERFLOW.
57570         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
57571         (Depends-on): Add EOVERFLOW.
57572         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
57573         (Depends-on): Add EOVERFLOW.
57574         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
57575         (Depends-on): Add EOVERFLOW.
57576         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
57577         (Depends-on): Add EOVERFLOW.
57578         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
57579         (Depends-on): Add EOVERFLOW.
57580         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
57581         (Depends-on): Add EOVERFLOW.
57582
57583         * lib/sprintf.c (EOVERFLOW): Remove fallback.
57584         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
57585         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
57586
57587         * lib/snprintf.c (EOVERFLOW): Remove fallback.
57588         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
57589         * modules/snprintf (Depends-on): Add EOVERFLOW.
57590
57591         * lib/poll.c (EOVERFLOW): Remove fallback.
57592         * modules/poll (Depends-on): Add EOVERFLOW.
57593
57594         * lib/getugroups.c (EOVERFLOW): Remove fallback.
57595         * modules/getugroups (Depends-on): Add EOVERFLOW.
57596
57597         * lib/getdelim.c (EOVERFLOW): Remove fallback.
57598         * modules/getdelim (Depends-on): Add EOVERFLOW.
57599
57600         * lib/ftell.c (EOVERFLOW): Remove fallback.
57601         * modules/ftell (Depends-on): Add EOVERFLOW.
57602
57603         * lib/fprintf.c (EOVERFLOW): Remove fallback.
57604         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
57605         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
57606
57607         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
57608
57609         * modules/EOVERFLOW-tests: New file.
57610         * tests/test-EOVERFLOW.c: New file.
57611
57612         * modules/EOVERFLOW: New file.
57613         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
57614
57615 2008-03-30  Bruno Haible  <bruno@clisp.org>
57616
57617         Fix bug introduced on 2007-06-10.
57618         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
57619         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
57620
57621 2008-03-30  Bruno Haible  <bruno@clisp.org>
57622
57623         Improve freadseek's efficiency after ungetc.
57624         * lib/freadseek.c: Include freadahead.h.
57625         (freadptrinc): New function, extracted from freadseek.
57626         (freadseek): Use it in a loop. Use freadahead to determine the number
57627         of loop iterations.
57628         * modules/freadseek (Depends-on): Add freadahead.
57629         (configure.ac): Require AC_C_INLINE.
57630
57631 2008-03-30  Bruno Haible  <bruno@clisp.org>
57632
57633         * lib/freadseek.c (freadseek): Don't ignore the return value of
57634         freadptr.
57635
57636 2008-03-29  Eric Blake  <ebb9@byu.net>
57637
57638         Add hex float support.
57639         * modules/strtod (Depends-on): Add c-ctype.
57640         (Link): Mention POW_LIB.
57641         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
57642         whitespace between 'e' and exponent.
57643         * tests/test-strtod.c (main): Enable hex float tests.
57644         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
57645         now provides.
57646
57647         Document various strtod bugs, with some fixes.
57648         * doc/posix-functions/strtod.texi (strtod): Document bugs with
57649         "-0x", "inf", "nan", and hex constants.
57650         * doc/posix-functions/atof.texi (atof): Likewise.
57651         * modules/stdlib (Makefile.am): Support strtod.
57652         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
57653         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
57654         detect additional strtod bugs.
57655         * lib/stdlib.in.h (rpl_strtod): Add declarations.
57656         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
57657         bool where appropriate.  Parse 'inf' and 'nan'.
57658         * tests/test-strtod.c: New file.
57659         * modules/strtod (Depends-on): Add stdbool, stdlib.
57660         (configure.ac): Turn on module indicator.
57661         * modules/strtod-tests: New module.
57662
57663 2008-03-29  Eric Blake  <ebb9@byu.net>
57664
57665         Fix ftell on mingw.
57666         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
57667         * modules/ftell-tests (Depends-on): Add binary-io.
57668         * modules/ftello-tests (Depends-on): Likewise.
57669         * tests/test-ftell.c (main): Enhance test to cover behavior after
57670         ungetc.  Enforce binary mode.
57671         * tests/test-ftello.c (main): Likewise.
57672
57673         Pass test-freadseek on cygwin.
57674         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
57675         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
57676         ungetc buffer.
57677
57678         * tests/test-fflush2.c (main): Fix typo.
57679
57680 2008-03-29  Bruno Haible  <bruno@clisp.org>
57681
57682         * tests/test-fflush2.c (main): Temporarily disable the contents of
57683         this test.
57684         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
57685         Reported by Eric Blake.
57686
57687 2008-03-28  Simon Josefsson  <simon@josefsson.org>
57688
57689         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
57690         (GC_SHA224_DIGEST_SIZE): Add.
57691
57692         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
57693         (gc_hash_digest_length): Likewise.
57694         (gc_hash_buffer): Likewise.
57695
57696 2008-03-25  Bruno Haible  <bruno@clisp.org>
57697
57698         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
57699         detail which gettext release to use.
57700         Reported by Simon Josefsson.
57701
57702 2008-03-26  Jim Meyering  <meyering@redhat.com>
57703
57704         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
57705         * modules/gnumakefile (clean-GNUmakefile): Also, use
57706         test ... && ... || : syntax rather than if-then ... fi.
57707
57708         gnumakefile: Don't double-quote-expand $(VPATH) value.
57709         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
57710
57711 2008-03-24  Eric Blake  <ebb9@byu.net>
57712
57713         Alter GNUmakefile to install into top directory.
57714         * modules/maintainer-makefile: Split, and add dependency...
57715         * modules/gnumakefile: to this new module.
57716         * build-aux/GNUmakefile: Move...
57717         * top/GNUmakefile: ...here.
57718         * build-aux/maint.mk: Move...
57719         * top/maint.mk: ...here.
57720         * MODULES.html.sh (Support for maintaining...): Document new
57721         module.
57722
57723 2008-03-23  Bruno Haible  <bruno@clisp.org>
57724
57725         * gnulib-tool: New options --vc-files, --no-vc-files.
57726         (func_usage): Document them.
57727         (vc_files): New variable.
57728         (func_import): Consider vc_files.
57729         (func_create_testdir): Set vc_files to empty.
57730         Suggested by Jim Meyering and Karl Berry.
57731
57732 2008-03-23  Bruno Haible  <bruno@clisp.org>
57733
57734         Fix regex compilation error on HP-UX 11.
57735         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
57736         * modules/regex (Files): Add m4/mbstate_t.m4.
57737         Reported by Ton Voon <ton.voon@altinity.com>.
57738
57739 2008-03-23  Bruno Haible  <bruno@clisp.org>
57740
57741         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
57742
57743 2008-03-23  Eric Blake  <ebb9@byu.net>
57744             Bruno Haible  <bruno@clisp.org>
57745
57746         Install files from top/ in the destination directory.
57747         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
57748         augmentation also for the files from top/.
57749         (func_import, func_create_testdir): Rewrite file names:
57750         top/filename -> filename.
57751
57752 2008-03-23  Bruno Haible  <bruno@clisp.org>
57753
57754         Tweak "gnulib --version" output.
57755         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
57756
57757 2008-03-23  Bruno Haible  <bruno@clisp.org>
57758
57759         Tweak "gnulib --version" output.
57760         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
57761         rather than contents of ChangeLog, when possible.
57762
57763 2008-03-21  Eric Blake  <ebb9@byu.net>
57764
57765         More --version tweaks.
57766         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
57767         date of last ChangeLog entry.
57768
57769 2008-03-21  Jim Meyering  <meyering@redhat.com>
57770
57771         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
57772
57773 2008-03-20  Eric Blake  <ebb9@byu.net>
57774
57775         VPATH fix.
57776         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
57777
57778 2008-03-20  Simon Josefsson  <simon@josefsson.org>
57779
57780         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
57781         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
57782
57783 2008-03-20  Eric Blake  <ebb9@byu.net>
57784
57785         Sync GNUmakefile with coreutils.
57786         * build-aux/GNUmakefile (have-Makefile): Rename...
57787         (_have-Makefile): ...to this, for namespace consideration.
57788         (GNUmakefile.cfg): Include, if present.
57789         (_autoreconf): Define a default.
57790         (_is-dist-target): New rule for rebuilds to pick up intra-release
57791         version.
57792         (maint-cfg.mk): Rename...
57793         (cfg.mk): ...to this.
57794
57795 2008-03-18  Jim Meyering  <meyering@redhat.com>
57796
57797         New script and module: mktempd
57798         * MODULES.html.sh (maint+release support): Add mktempd.
57799         * build-aux/mktempd: New file.
57800         * modules/mktempd: New file.
57801
57802 2008-03-15  Jim Meyering  <meyering@redhat.com>
57803
57804         Undo last change.
57805         * lib/sha1.c, lib/md5.c: 63 != ~63.
57806         Reported by Andreas Schwab.
57807
57808         sha1.c, md5.c: Hoist a redundant expression.
57809         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
57810         "ctx->buflen" only once, before calling *_process_block.
57811         * lib/md5.c (md5_process_bytes): Likewise.
57812
57813 2008-03-14  Eric Blake  <ebb9@byu.net>
57814
57815         Bump copyright year in files generated by gnulib-tool.
57816         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
57817         gnulib-tool, rather than hard-coding it.
57818
57819         Fix 'gnulib-tool --version' output to work with git.
57820         * gnulib-tool (func_gnulib_dir): New function, extracted from...
57821         (startup): ...here.
57822         (func_version): Use it to invoke git-version-gen, rather than
57823         relying on CVS keyword expansion.  Modernize wording.
57824         (cvsdatestamp, last_checkin_date, version): Kill unused
57825         variables.
57826
57827 2008-03-12  Jim Meyering  <meyering@redhat.com>
57828
57829         Recognize optional cast of the argument to free.
57830         * build-aux/useless-if-before-free: Update regexps.
57831
57832         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
57833
57834 2008-03-11  Bruno Haible  <bruno@clisp.org>
57835
57836         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
57837         by a single package.
57838         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
57839         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
57840         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
57841         Reported by Sam Steingold <sds@gnu.org>.
57842
57843 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
57844
57845         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
57846         repositories.
57847
57848 2008-03-11  Bruno Haible  <bruno@clisp.org>
57849
57850         Avoid conflicts between local macro definitions.
57851         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
57852         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
57853
57854 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
57855             Bruno Haible  <bruno@clisp.org>
57856
57857         Make va_copy work with some version of xlc on AIX 5.1.
57858         * lib/stdarg.in.h: New file.
57859         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
57860         On AIX, use a <stdarg.h> file substitute.
57861         * modules/stdarg (Files): Add lib/stdarg.in.h.
57862         (Depends-on): Add include_next.
57863         (Makefile.am): Build a stdarg.h substitute if requested.
57864         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
57865
57866 2008-03-10  Bruno Haible  <bruno@clisp.org>
57867
57868         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
57869         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
57870         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
57871
57872 2008-03-10  Bruno Haible  <bruno@clisp.org>
57873
57874         * modules/stdlib (Depends-on): Add include_next, remove
57875         absolute-header.
57876
57877 2008-03-09  Bruno Haible  <bruno@clisp.org>
57878
57879         * lib/freadahead.h (freadahead): Document more precisely.
57880         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
57881         the sum of both buffer sizes.
57882         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
57883         * NEWS: Document the change.
57884
57885 2008-03-09  Bruno Haible  <bruno@clisp.org>
57886
57887         Extend freadptr to return also the buffer size.
57888         * lib/freadptr.h (freadptr): Add sizep argument.
57889         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
57890         (freadptr): Add sizep argument. Determine buffer size like freadahead
57891         does.
57892         * tests/test-freadptr.c: Don't include freadahead.h.
57893         (main): Adapt for new calling convention of freadptr.
57894         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
57895         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
57896         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
57897         tests/test-freadptr2.sh.
57898         (Depends): Remove freadahead.
57899         (TESTS): Add test-freadptr2.sh.
57900         (check_PROGRAMS): Add test-freadptr2.
57901
57902 2008-03-09  Bruno Haible  <bruno@clisp.org>
57903
57904         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
57905         Report and solution by Simon Josefsson.
57906
57907 2008-03-06  Bruno Haible  <bruno@clisp.org>
57908
57909         Make fflush after ungetc work on BSD platforms.
57910         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
57911         * tests/test-fflush2.c: New file.
57912         * tests/test-fflush2.sh: New file.
57913         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
57914         tests/test-fflush2.c.
57915         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
57916         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
57917
57918 2008-03-06  Eric Blake  <ebb9@byu.net>
57919
57920         Likewise for ftello.
57921         * modules/ftello (Dependencies): Add extensions.
57922         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
57923
57924 2008-03-06  Bruno Haible  <bruno@clisp.org>
57925
57926         * modules/fseeko (Dependencies): Add extensions.
57927         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
57928         Needed on glibc systems.
57929
57930 2008-03-06  Bruno Haible  <bruno@clisp.org>
57931
57932         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
57933         email address.
57934         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57935
57936 2008-03-06  Bruno Haible  <bruno@clisp.org>
57937
57938         * users.txt: Add libgnupdf.
57939
57940 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
57941
57942         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
57943         (Header File Substitutes, Function Substitutes,
57944         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
57945         (Build robot for gnulib): Fix typo.
57946
57947 2008-03-06  Bruno Haible  <bruno@clisp.org>
57948
57949         * doc/gnulib-tool.texi (VCS Issues): Small updates.
57950         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57951
57952 2008-03-06  Bruno Haible  <bruno@clisp.org>
57953
57954         * doc/func.texi: New file, extracted from doc/gnulib.texi.
57955         * doc/gnulib.texi: Include it.
57956
57957 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57958
57959         * modules/func (License): Change license to unlimited; there was
57960         no LGPL parts in the module anyway.
57961
57962 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57963
57964         * modules/__func__: Renamed to modules/func.
57965         * modules/__func__-tests: Renamed to modules/func-tests.
57966         * tests/test-__func__.c: Renamed to tests/test-func.c.
57967         * m4/__func__.m4: Renamed to m4/func.m4.
57968         * doc/gnulib.texi (__func__): Section renamed to func.
57969         Suggested by Eric Blake <ebb9@byu.net>.
57970
57971 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57972
57973         * doc/gnulib.texi (__func__): Use C99 terminology when talking
57974         about __func__.  Make example self-contained.  Suggested by Eric
57975         Blake <ebb9@byu.net>.
57976
57977         * tests/test-__func__.c (main): Avoid extraneous () around __func.
57978         Suggested by Eric Blake <ebb9@byu.net>.
57979
57980 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57981
57982         * modules/__func__: New file.
57983         * modules/__func__-tests: New file.
57984         * tests/test-__func__.c: New file.
57985         * m4/__func__.m4: New file.
57986         * doc/gnulib.texi (__func__): Document __func__ module.
57987
57988 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57989
57990         * modules/byteswap (License): Re-license as LGPLv2+.
57991
57992 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57993
57994         * doc/Makefile: Add pdf target.
57995
57996 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57997
57998         * modules/inline (License): Use 'unlimited', since there are only
57999         *.m4 files in this module.
58000
58001 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
58002             Bruno Haible  <bruno@clisp.org>
58003
58004         Add support for HP C 7.1 on OpenVMS 8.3.
58005         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
58006
58007 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
58008
58009         Update VMS specifics.
58010         * lib/getopt.c [VMS]: Remove include of unixlib.h.
58011
58012 2008-03-02  Jim Meyering  <meyering@redhat.com>
58013
58014         Remove the last dependency on the "free" module.
58015         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
58016         Reported by Bob Proulx.
58017
58018         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
58019
58020         Remove useless "if" tests before free.  Deprecate "free" module.
58021         * doc/posix-functions/free.texi: Mention that this
58022         module is no longer useful.
58023         * modules/free (Notice): Say this module is obsolete.
58024         * modules/readutmp (Depends-on): Remove free.
58025         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
58026         * lib/putenv.c (putenv): Likewise.
58027         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
58028         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
58029         * tests/test-c-strcasestr.c (main): Likewise.
58030         * tests/test-c-strstr.c (main): Likewise.
58031         * tests/test-mbscasestr1.c (main): Likewise.
58032         * tests/test-mbscasestr2.c (main): Likewise.
58033         * tests/test-mbsstr1.c (main): Likewise.
58034         * tests/test-mbsstr2.c (main): Likewise.
58035         * tests/test-memmem.c (main): Likewise.
58036         * tests/test-strcasestr.c (main): Likewise.
58037         * tests/test-striconv.c (main): Likewise.
58038         * tests/test-striconveh.c (main): Likewise.
58039         * tests/test-striconveha.c (main): Likewise.
58040         * tests/test-strstr.c (main): Likewise.
58041
58042         * build-aux/git-version-gen: Adjust a comment and the Usage string.
58043
58044         bootstrap: sync from coreutils again
58045         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
58046
58047 2008-03-01  Jim Meyering  <meyering@redhat.com>
58048
58049         bootstrap: sync from coreutils
58050         * build-aux/bootstrap (update_po_files): Copy a .po file into place
58051         also when the target doesn't exist.
58052
58053 2008-03-01  Eric Blake  <ebb9@byu.net>
58054
58055         Fix bugs in last patch.
58056         * lib/memchr2.c (memchr2): Fix typo.
58057         * tests/test-memchr2.c: Test previous bug, and don't use GNU
58058         extension.
58059         Reported by Bruce Korb.
58060
58061         New module 'memchr2'.
58062         * modules/memchr2: New file.
58063         * modules/memchr2-tests: Likewise.
58064         * lib/memchr2.h: Likewise.
58065         * lib/memchr2.c: Likewise, based on memchr.c.
58066         * tests/test-memchr2.c: New test.
58067         * MODULES.html.sh (String handling): Add memchr2.
58068
58069 2008-02-29  Bruno Haible  <bruno@clisp.org>
58070
58071         * modules/freadseek-tests: New file.
58072         * tests/test-freadseek.sh: New file.
58073         * tests/test-freadseek.c: New file.
58074
58075         New module 'freadseek'.
58076         * modules/freadseek: New file.
58077         * lib/freadseek.h: New file.
58078         * lib/freadseek.c: New file.
58079         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
58080
58081 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
58082
58083         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
58084         wydawca.
58085
58086         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
58087         program_invocation_name and program_invocation_short_name are
58088         present.
58089
58090 2008-02-28  Bruno Haible  <bruno@clisp.org>
58091
58092         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
58093         * tests/test-freadptr.sh: Also test non-seekable stdin.
58094
58095 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
58096
58097         * build-aux/bootstrap (source_base, m4_base)
58098         (doc_base, tests_base): New variables.
58099         (gnulib_tool_options): Do not hardcode base directories, use
58100         the above variables instead.
58101
58102 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
58103
58104         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
58105
58106 2008-02-28  Bruno Haible  <bruno@clisp.org>
58107
58108         * modules/freadptr-tests: New file.
58109         * tests/test-freadptr.sh: New file.
58110         * tests/test-freadptr.c: New file.
58111
58112         New module 'freadptr'.
58113         * modules/freadptr: New file.
58114         * lib/freadptr.h: New file.
58115         * lib/freadptr.c: New file.
58116         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
58117
58118 2008-02-26  Karl Berry  <karl@freefriends.org>
58119
58120         Sync from Libtool:
58121         * libltdl/argz.c (argz_add, argz_count): New functions.
58122         * libltdl/argz.in.h: Declare them.
58123         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
58124
58125 2008-02-22  Bruno Haible  <bruno@clisp.org>
58126
58127         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
58128         is a pointer type.  Needed for HP-UX 10.
58129         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
58130         * doc/posix-functions/gmtime_r.texi: Likewise.
58131         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
58132
58133 2008-02-24  Bruno Haible  <bruno@clisp.org>
58134
58135         * modules/environ-tests: New file.
58136         * tests/test-environ.c: New file.
58137
58138         New module 'environ'.
58139         * modules/environ: New file.
58140         * lib/unistd.in.h (environ): New declaration.
58141         * m4/environ.m4: New file.
58142         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
58143         after use.
58144         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
58145         HAVE_DECL_ENVIRON.
58146         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
58147         HAVE_DECL_ENVIRON.
58148         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
58149         wrong claim that 'environ' is missing on some systems.
58150         * modules/execute (Depends-on): Add environ.
58151         * lib/execute.c (environ): Remove fallback declaration.
58152         * modules/pipe (Depends-on): Add environ.
58153         * lib/pipe.c (environ): Remove fallback declaration.
58154         * modules/setenv (Depends-on): Add environ.
58155         * lib/setenv.c (environ): Remove fallback declaration.
58156         * modules/unsetenv (Depends-on): Add environ.
58157         * lib/unsetenv.c (environ): Remove fallback declaration.
58158         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
58159         m4/environ.m4.
58160         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
58161         (gl_PREREQ_UNSETENV): Likewise.
58162
58163 2008-02-24  Bruno Haible  <bruno@clisp.org>
58164
58165         * doc/posix-functions/environ.texi: Document the MacOS X problem.
58166
58167 2008-02-20  Bob Proulx  <bob@proulx.com>
58168
58169         Enable use of older two part flavor 'git describe'.
58170         * build-aux/git-version-gen: If using the older two part flavor of
58171         git version then recreate the third part now present in the
58172         newer three part flavor of git describe.
58173
58174 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
58175
58176         * lib/fts.c (fts_build): Typo correction to comment.
58177
58178 2008-02-17  Bruno Haible  <bruno@clisp.org>
58179
58180         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
58181         generating no-op conflicts.
58182
58183 2008-02-17  Bruno Haible  <bruno@clisp.org>
58184
58185         Speed up by 10%.
58186         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
58187         result_entries, rather than an index-based loop.
58188
58189 2008-02-17  Bruno Haible  <bruno@clisp.org>
58190
58191         Speed up by 25%.
58192         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
58193         'hashcode_cached'.
58194         (entry_create): New function.
58195         (entry_hashcode): Use the cached hashcode if possible.
58196         (read_changelog_file, try_split_merged_entry): Use entry_create.
58197
58198 2008-02-17  Bruno Haible  <bruno@clisp.org>
58199
58200         Speed up from O(n^2) to O(n) for long ChangeLog files.
58201         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
58202         (read_changelog_file): Change implementation of entries_reversed list
58203         to rbtreehash.
58204         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
58205
58206 2008-02-17  Bruno Haible  <bruno@clisp.org>
58207
58208         New option --split-merged-entry.
58209         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
58210         (find_paragraph_end, try_split_merged_entry): New functions.
58211         (long_options): Add option --split-merged-entry.
58212         (usage): Document option --split-merged-entry.
58213         (main): Implement option --split-merged-entry.
58214         Reported by Eric Blake.
58215
58216 2008-02-17  Bruno Haible  <bruno@clisp.org>
58217
58218         * lib/git-merge-changelog.c: Include c-strstr.h.
58219         (main): Support the "git pull --rebase" situation.
58220         * modules/git-merge-changelog (Depends-on): Add c-strstr.
58221         Reported by Eric Blake.
58222
58223 2008-02-16  Eric Blake  <ebb9@byu.net>
58224
58225         Avoid doubling \ in common case of "c-maybe" quoting style.
58226         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
58227         eliding outer quotes.
58228         * lib/quotearg.h: Document this.
58229         * tests/test-quotearg.c (result_strings, inputs, results_g)
58230         (flag_results, locale_results): Test it by adding a new string to
58231         each test group.
58232         (compare_strings): Test new string.
58233
58234 2008-02-13  Eric Blake  <ebb9@byu.net>
58235
58236         Avoid trigraph quoting in default output.
58237         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
58238         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
58239         unless explicitly requested.
58240         * tests/test-quotearg.c (flag_results, main): Add additional tests.
58241
58242 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
58243
58244         Don't rely on signed integer overflowing to negative value.
58245         * lib/getugroups.c (getugroups): Include <limits.h>.
58246         Instead, compare against INT_MAX, and increment only if the test passes.
58247
58248 2008-02-13  Jim Meyering  <meyering@redhat.com>
58249         and Eric Blake  <ebb9@byu.net>
58250
58251         Avoid shadowing warning and compile errors on Linux.
58252         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
58253         forwarding macros on Linux.
58254         (dcgettext): Define a stub, for Linux.
58255         (results_g, main): Avoid warnings.
58256
58257 2008-02-12  Eric Blake  <ebb9@byu.net>
58258
58259         Silence warning in last patch.
58260         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
58261
58262         Quotearg part 4: add tests, fix c-maybe colon quoting.
58263         * lib/quotearg.h: Improve documentation.
58264         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
58265         escapes when adding outer quotes.  When quoting trigraphs, use
58266         valid C notation.  When quoting NUL, omit extra characters if next
58267         character is not digit.  Alter prototype.
58268         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
58269         callers.
58270         * modules/quotearg-tests: New module.
58271         * tests/test-quotearg.c: New test.
58272
58273 2008-02-07  Eric Blake  <ebb9@byu.net>
58274
58275         Quotearg part 3: add flag to control outer quote elision.
58276         * lib/quotearg.h (c_maybe_quoting_style): New style.
58277         (enum quoting_flags): Better documentation of flags.
58278         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
58279         c-maybe style.
58280         (quotearg_buffer_restyled): Handle new flag to elide outer
58281         quotes.
58282
58283         Quotearg part 2: add flag that can control NUL elision.
58284         * lib/quotearg.h (set_quoting_flags): New prototype.
58285         * lib/quotearg.c (struct quoting_options): Add flag field.
58286         (set_quoting_flags): New function.
58287         (quotearg_buffer_restyled): Add flags parameter.
58288         (quotearg_alloc_mem): Set the flag if length cannot be returned.
58289         (quotearg_n_options): Set the flag, since length cannot be
58290         returned.
58291         (quoting_options_from_style): Default flags correctly.
58292
58293         Quotearg part 1: more wrappers, restore quotearg_char state.
58294         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
58295         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
58296         (quotearg_colon_mem): New wrappers.
58297         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
58298         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
58299         functions.
58300         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
58301         (quotearg_colon_mem): New functions.
58302
58303 2008-02-11  Bruno Haible  <bruno@clisp.org>
58304
58305         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
58306         library in the current directory: it does not work with parallel make.
58307         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58308
58309 2008-02-11  Bruno Haible  <bruno@clisp.org>
58310
58311         * .gitattributes: New file.
58312
58313 2008-02-11  Jim Meyering  <meyering@redhat.com>
58314
58315         useless-if-before-free: Fix reversed exit values.
58316         * build-aux/useless-if-before-free: Use correct values
58317         for EXIT_MATCH and EXIT_NO_MATCH.
58318
58319         * build-aux/useless-if-before-free: Close stdout carefully.
58320
58321 2008-02-10  Bruno Haible  <bruno@clisp.org>
58322
58323         New module 'git-merge-changelog'.
58324         * modules/git-merge-changelog: New file.
58325         * lib/git-merge-changelog.c: New file.
58326
58327 2008-02-10  Jim Meyering  <meyering@redhat.com>
58328
58329         useless-if-before-free: New option: --list (-l).
58330
58331         useless-if-before-free: Don't exit immediately upon open failure.
58332         * build-aux/useless-if-before-free: Exit 2 for errors.
58333         Upon failure to open a file, don't exit immediately.
58334         Rather, just warn and continue with any remaining files.
58335
58336 2008-02-10  Bruno Haible  <bruno@clisp.org>
58337
58338         New abstract list operation 'node_set_value'.
58339         * lib/gl_list.h (gl_list_node_set_value): New function.
58340         (struct gl_list_implementation): New field node_set_value.
58341         * lib/gl_list.c (gl_list_node_set_value): New function.
58342         * lib/gl_array_list.c (gl_array_node_set_value): New function.
58343         (gl_array_list_implementation): Update.
58344         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
58345         (gl_carray_list_implementation): Update.
58346         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
58347         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
58348         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
58349         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
58350         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
58351         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
58352         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
58353         Update.
58354         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
58355         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
58356         (gl_sublist_list_implementation): Update.
58357
58358 2008-02-10  Bruno Haible  <bruno@clisp.org>
58359
58360         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
58361         Needed when ELEMENT is #defined to 'some_type *'.
58362
58363 2008-02-10  Jim Meyering  <meyering@redhat.com>
58364
58365         New script and module: useless-if-before-free
58366         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
58367         * build-aux/useless-if-before-free: New file.
58368         * modules/useless-if-before-free: New file.
58369
58370         * build-aux/gitlog-to-changelog: Use committer date, not author date.
58371
58372         xstrtol_error: Fix typo.
58373         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
58374         s/exit_failure/exit_status/.
58375
58376 2008-02-09  Jim Meyering  <meyering@redhat.com>
58377
58378         New script and module: gitlog-to-changelog
58379         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
58380         * modules/gitlog-to-changelog: New file.
58381         * build-aux/gitlog-to-changelog: New file.
58382
58383 2008-02-08  Jim Meyering  <meyering@redhat.com>
58384
58385         Avoid two "parameter unused" warnings.
58386         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
58387         Mark "st" as used.
58388
58389         Use "git COMMAND", not "git-COMMAND".
58390         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
58391         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
58392         * build-aux/git-version-gen: Use "git status", not "git-status".
58393
58394 2008-02-07  Bruno Haible  <bruno@clisp.org>
58395
58396         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
58397         Avoids a crash on Windows Vista.
58398         Reported by Adam Strzelecki <ono@java.pl> via
58399         Simon Josefsson <simon@josefsson.org>.
58400
58401 2008-02-06  Bruno Haible  <bruno@clisp.org>
58402
58403         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
58404         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
58405         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
58406         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
58407         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58408         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58409         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
58410         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
58411         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58412         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58413         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58414         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58415         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58416         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58417         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58418         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
58419         left-adjust flag.
58420         * tests/test-snprintf-posix.h (test_function): Likewise.
58421         * tests/test-sprintf-posix.h (test_function): Likewise.
58422         * tests/test-vasprintf-posix.c (test_function): Likewise.
58423         * doc/posix-functions/fprintf.texi: Update.
58424         * doc/posix-functions/printf.texi: Update.
58425         * doc/posix-functions/snprintf.texi: Update.
58426         * doc/posix-functions/sprintf.texi: Update.
58427         * doc/posix-functions/vfprintf.texi: Update.
58428         * doc/posix-functions/vprintf.texi: Update.
58429         * doc/posix-functions/vsnprintf.texi: Update.
58430         * doc/posix-functions/vsprintf.texi: Update.
58431         Reported by Peter Fales <psfales@alcatel-lucent.com>.
58432
58433 2008-02-06  Bruno Haible  <bruno@clisp.org>
58434
58435         Fix bug introduced on 2008-01-26.
58436         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
58437
58438 2008-02-06  Bruno Haible  <bruno@clisp.org>
58439
58440         Fix bug introduced on 2007-06-10.
58441         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
58442         !NEED_PRINTF_FLAG_ZERO.
58443
58444 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
58445
58446         getloadavg: use libperfstat on AIX5
58447         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
58448
58449 2008-02-03  Bruno Haible  <bruno@clisp.org>
58450
58451         * lib/diffseq.h: Add comments about required #includes.
58452         Reported by Michael Biggs <gnulib@doubleplum.net>.
58453
58454 2008-02-01  Bruno Haible  <bruno@clisp.org>
58455
58456         * users.txt: Add gnuit.
58457
58458 2008-01-31  Bruno Haible  <bruno@clisp.org>
58459
58460         * lib/md4.c (set_uint32): Mark as inline.
58461         * lib/md5.c (set_uint32): Likewise.
58462         * lib/sha1.c (set_uint32): Likewise.
58463         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
58464         * m4/md5.m4 (gl_MD5): Likewise.
58465         * m4/sha1.m4 (gl_SHA1): Likewise.
58466
58467 2008-01-31  Jim Meyering  <meyering@redhat.com>
58468
58469         Use "sizeof VAR", rather than a literal "4".
58470         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
58471         * lib/md4.c (md4_read_ctx): Likewise.
58472         * lib/sha1.c (sha1_read_ctx): Likewise.
58473
58474 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58475
58476         * tests/test-sha1.c: New file, based on test-md5.c.
58477
58478         * modules/crypto/sha1-tests: New file.
58479
58480 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58481
58482         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
58483
58484 2008-01-31  Jim Meyering  <meyering@redhat.com>
58485
58486         Prefer "sizeof v" over the equivalent "4".
58487         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
58488         * lib/md5.c (set_uint32): Likewise.
58489         * lib/sha1.c (set_uint32): Likewise.
58490
58491 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58492
58493         * lib/sha1.c (set_uint32): Mark function as static.
58494
58495 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58496
58497         md2: clarify comments to say that alignment is not required.
58498         * lib/md2.h: Remove warning about alignment in comment.
58499         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
58500         never been required.
58501
58502 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58503
58504         md4: adapt alignment constraint fix from sha1.
58505         * lib/md4.c (set_uint32): New function, from sha1.c
58506         (md4_read_ctx): Use it.
58507         (md4_finish_ctx): Doc fix.
58508         * lib/md4.h: Doc fix.
58509
58510 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58511
58512         md5: adapt alignment constraint fix from sha1.
58513         * lib/md5.c (set_uint32): New function, from sha1.c
58514         (md5_read_ctx): Use it.
58515         (md5_finish_ctx): Doc fix.
58516         * lib/md5.h: Doc fix.
58517
58518 2008-01-30  Peter Palfrader  <weasel@debian.org>
58519
58520         sha1: remove the result buffer alignment constraint
58521         * lib/sha1.c (set_uint32): New function.
58522         (sha1_read_ctx): Rewrite to remove the result buffer alignment
58523         constraint.
58524         (sha1_finish_ctx): Remove comment warning about alignment constraint.
58525         * lib/sha1.h: Likewise.
58526
58527 2008-01-30  Andreas Schwab  <schwab@suse.de>
58528             Bruno Haible  <bruno@clisp.org>
58529
58530         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
58531         correct definition of LDBL_MIN_EXP.
58532
58533 2008-01-30  Karl Berry  <karl@gnu.org>
58534
58535         * config/srclist-update: try to preserve x bit on updates.
58536         * config/srclistvars.sh: update for karl.
58537
58538 2008-01-29  Jim Meyering  <meyering@redhat.com>
58539
58540         vasnprintf.c: Avoid warning about unused label
58541         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
58542         "overflow" label definition and associated code with the
58543         same cpp condition that guards the sole use of that label.
58544
58545 2008-01-26  Bruno Haible  <bruno@clisp.org>
58546
58547         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
58548         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
58549         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
58550         * lib/isnanl-nolibm.h (isnanl): Likewise.
58551         Reported by Paul Eggert <eggert@cs.ucla.edu>.
58552
58553 2008-01-26  Bruno Haible  <bruno@clisp.org>
58554
58555         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
58556         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
58557
58558 2008-01-26  Bruno Haible  <bruno@clisp.org>
58559
58560         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
58561         GCC >= 4.0 built-in.
58562         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
58563
58564 2008-01-26  Bruno Haible  <bruno@clisp.org>
58565
58566         Rename isnan, applicable to 'double' only, to isnand.
58567         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
58568         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
58569         (configure.ac): Update.
58570         (Include): Replace "isnan.h" with "isnand.h".
58571         * m4/isnand.m4: Renamed from m4/isnan.m4.
58572         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
58573         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
58574         instead of isnan.c.
58575         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
58576         instead of HAVE_ISNAN_IN_LIBC.
58577         (isnand): Renamed from isnan.
58578         * lib/isnand.c: New file.
58579         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
58580         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
58581         (Makefile.am): Update.
58582         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
58583         Include isnand.h instead of isnan.h.
58584         (main): Test isnand instead of isnan.
58585         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
58586         isnan-nolibm.
58587         * modules/frexp (Depends-on): Likewise.
58588         * modules/frexp-tests (Depends-on): Likewise.
58589         * modules/frexp-nolibm (Depends-on): Likewise.
58590         * modules/frexp-nolibm-tests (Depends-on): Likewise.
58591         * modules/isfinite (Depends-on): Likewise.
58592         * modules/round-tests (Depends-on): Likewise.
58593         * modules/signbit (Depends-on): Likewise.
58594         * modules/signbit-tests (Depends-on): Likewise.
58595         * modules/snprintf-posix (Depends-on): Likewise.
58596         * modules/sprintf-posix (Depends-on): Likewise.
58597         * modules/trunc-tests (Depends-on): Likewise.
58598         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58599         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58600         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58601         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58602         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58603         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58604         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58605         * modules/vasnprintf-posix (Depends-on): Likewise.
58606         * modules/vasprintf-posix (Depends-on): Likewise.
58607         * modules/vfprintf-posix (Depends-on): Likewise.
58608         * modules/vsnprintf-posix (Depends-on): Likewise.
58609         * modules/vsprintf-posix (Depends-on): Likewise.
58610         * lib/frexp.c: Include isnand.h instead of isnan.h.
58611         (ISNAN): Set to isnand instead of isnan.
58612         * lib/isfinite.c: Include isnand.h instead of isnan.h.
58613         (gl_isfinited): Use isnand instead of isnan.
58614         * lib/signbitd.c: Include isnand.h instead of isnan.h.
58615         (gl_signbitd): Use isnand instead of isnan.
58616         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
58617         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
58618         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
58619         (main): Use isnand instead of isnan.
58620         * tests/test-round1.c: Include isnand.h.
58621         (main): Use isnand instead of isnan.
58622         * tests/test-round2.c: Include isnand.h instead of isnan.h.
58623         (ISNAN): Set to isnand instead of isnan.
58624         * tests/test-trunc1.c: Include isnand.h.
58625         (main): Use isnand instead of isnan.
58626         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
58627         (equal): Use isnand instead of isnan.
58628         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
58629         isnand-nolibm.
58630         * NEWS: Mention the change.
58631
58632 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
58633             Bruno Haible  <bruno@clisp.org>
58634
58635         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
58636         the GCC builtins for signbits are present and set
58637         REPLACE_SIGNBIT_USING_GCC if so.
58638         * lib/math.in.h (signbit): Define using GCC builtins if
58639         REPLACE_SIGNBIT_USING_GCC is set.
58640         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
58641         REPLACE_SIGNBIT_USING_GCC.
58642         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
58643
58644 2008-01-25  Jim Meyering  <meyering@redhat.com>
58645
58646         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
58647         * lib/poll.c: Include <config.h>, not "config.h".
58648         * tests/test-getaddrinfo.c: Likewise.
58649
58650 2008-01-25  Simon Josefsson  <simon@josefsson.org>
58651
58652         * modules/sockets-tests: New file.
58653
58654 2008-01-24  Simon Josefsson  <simon@josefsson.org>
58655
58656         * modules/sockets: New module, can be used to call WSA_Startup and
58657         WSA_Cleanup when needed.
58658
58659         * lib/sockets.h, lib/sockets.c: New files.
58660
58661         * m4/sockets.m4: New file.
58662
58663         * tests/test-sockets.c: New file.
58664
58665 2008-01-19  Bruno Haible  <bruno@clisp.org>
58666
58667         * doc/posix-headers: Renamed from doc/headers.
58668         * doc/posix-functions: Renamed from doc/functions.
58669         * doc/gnulib.texi: Update.
58670
58671 2008-01-19  Bruno Haible  <bruno@clisp.org>
58672
58673         * doc/glibc-functions/strcasestr.texi: Include contents of
58674         doc/functions/strcasestr.texi, fixing the list of platforms.
58675         * doc/functions/strcasestr.texi: Remove file.
58676
58677 2008-01-19  Bruno Haible  <bruno@clisp.org>
58678
58679         * doc/glibc-functions/memmem.texi: Include contents of
58680         doc/functions/memmem.texi.
58681         * doc/functions/memmem.texi: Remove file.
58682
58683 2008-01-18  Bruno Haible  <bruno@clisp.org>
58684
58685         * doc/glibc-functions/*.texi: New files.
58686         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
58687         to use the new files.
58688
58689 2008-01-17  Bruno Haible  <bruno@clisp.org>
58690
58691         * tests/test-gethostname.c (main): Fix printf statement.
58692
58693 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58694
58695         * modules/gethostname-tests: New file.
58696
58697         * tests/test-gethostname.c: New file.
58698
58699 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58700
58701         * lib/gethostname.c: Include string.h unconditionally, strncpy is
58702         used by the UNAME case.  Reported by Bruno Haible
58703         <bruno@clisp.org>.
58704
58705 2008-01-17  Eric Blake  <ebb9@byu.net>
58706
58707         Convert c-strcasestr to be more efficient.
58708         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
58709         (Depends-on): Add c-strcase, remove malloca, strnlen.
58710         * tests/test-c-strcasestr.c (main): Enhance test.
58711         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
58712
58713 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
58714
58715         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
58716         Use it in creating po/Makevars.
58717
58718 2008-01-15  Simon Josefsson  <simon@josefsson.org>
58719
58720         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
58721         Applications that requires it should initialize libgcrypt
58722         manually.
58723
58724 2008-01-16  Simon Josefsson  <simon@josefsson.org>
58725
58726         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
58727
58728 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
58729
58730         Fix problem with getdate on mingw32 reported by Simon Josefsson
58731         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
58732         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
58733         tzname", when deciding whether to declare tzname.
58734         * lib/strftime.c (tzname): Likewise.
58735
58736 2008-01-15  Bruno Haible  <bruno@clisp.org>
58737
58738         Work around a MacOS X 10.5 bug in frexpl().
58739         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
58740         * doc/functions/frexpl.texi: Document the bug.
58741         Reported by Elias Pipping <pipping@gentoo.org>.
58742
58743 2008-01-14  Eric Blake  <ebb9@byu.net>
58744
58745         Touch up previous patch.
58746         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
58747         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
58748
58749         Convert strcasestr module to use Two-Way algorithm.
58750         * modules/strcasestr-simple: New module, based on the old
58751         strcasestr, but with Two-Way rather than KMP.
58752         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
58753         * lib/string.in.h (rpl_strcasestr): Declare.
58754         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
58755         performance.
58756         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
58757         * modules/string (Makefile.am): Support strcasestr.
58758         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
58759         * modules/strcasestr-tests (Depends-on): Check for alarm.
58760         * tests/test-strcasestr.c: Augment test.
58761         * lib/str-two-way.h: Clean up stray macro.
58762         * NEWS: Document new module.
58763         * MODULES.html.sh (string handling): Likewise.
58764         * doc/functions/strcasestr.texi: New file.
58765         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
58766         here, since it is not a POSIX function.
58767
58768 2008-01-14  Colin Watson  <cjwatson@debian.org>
58769             Bruno Haible  <bruno@clisp.org>
58770
58771         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
58772         works fine; if not, set REPLACE_STRSIGNAL.
58773         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
58774         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58775         REPLACE_STRSIGNAL.
58776         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
58777         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
58778         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
58779
58780 2008-01-14  Bruno Haible  <bruno@clisp.org>
58781
58782         * modules/strsignal (Include): Change to <string.h>.
58783
58784 2008-01-14  Colin Watson  <cjwatson@debian.org>
58785
58786         * modules/argp (Notice): Add a notice recommending to change
58787         XGETTEXT_OPTIONS.
58788         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
58789
58790 2008-01-13  Colin Watson  <cjwatson@debian.org>
58791
58792         * modules/strsignal-tests: New file.
58793         * tests/test-strsignal.c: New file.
58794
58795         * lib/strsignal.c: New file, from glibc with modifications.
58796         * lib/siglist.h: New file, from glibc with modifications.
58797         * lib/string.in.h (strsignal): New declaration.
58798         * m4/strsignal.m4: New file.
58799         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58800         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
58801         * modules/strsignal: New file.
58802         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
58803         HAVE_DECL_STRSIGNAL.
58804
58805 2008-01-13  Bruno Haible  <bruno@clisp.org>
58806
58807         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
58808         locale encoding is not ASCII. Needed for OpenBSD 4.0.
58809         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58810         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58811
58812 2008-01-13  Bruno Haible  <bruno@clisp.org>
58813
58814         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
58815         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
58816         * lib/argp.h (__attribute__): Likewise.
58817         * lib/c-stack.c (__attribute__): Likewise.
58818         * lib/error.h (__attribute__): Likewise.
58819         * lib/fts.c (__attribute__): Likewise.
58820         * lib/openat.h (__attribute__): Likewise.
58821         * lib/stdio.in.h (__attribute__): Likewise.
58822         * lib/string.in.h (__attribute__): Likewise.
58823         * lib/utimens.c (__attribute__): Likewise.
58824         * lib/vasnprintf.h (__attribute__): Likewise.
58825         * lib/xalloc.h (__attribute__): Likewise.
58826         * lib/xprintf.h (__attribute__): Likewise.
58827         * lib/xstrtol.h (__attribute__): Likewise.
58828         * lib/xvasprintf.h (__attribute__): Likewise.
58829
58830 2008-01-12  Bruno Haible  <bruno@clisp.org>
58831
58832         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
58833         * doc/glibc-headers/a.out.texi: New file.
58834         * doc/glibc-headers/aliases.texi: New file.
58835         * doc/glibc-headers/alloca.texi: New file.
58836         * doc/glibc-headers/ar.texi: New file.
58837         * doc/glibc-headers/argp.texi: New file.
58838         * doc/glibc-headers/argz.texi: New file.
58839         * doc/glibc-headers/byteswap.texi: New file.
58840         * doc/glibc-headers/crypt.texi: New file.
58841         * doc/glibc-headers/endian.texi: New file.
58842         * doc/glibc-headers/envz.texi: New file.
58843         * doc/glibc-headers/err.texi: New file.
58844         * doc/glibc-headers/error.texi: New file.
58845         * doc/glibc-headers/execinfo.texi: New file.
58846         * doc/glibc-headers/fpu_control.texi: New file.
58847         * doc/glibc-headers/fstab.texi: New file.
58848         * doc/glibc-headers/fts.texi: New file.
58849         * doc/glibc-headers/getopt.texi: New file.
58850         * doc/glibc-headers/ieee754.texi: New file.
58851         * doc/glibc-headers/ifaddrs.texi: New file.
58852         * doc/glibc-headers/libintl.texi: New file.
58853         * doc/glibc-headers/mcheck.texi: New file.
58854         * doc/glibc-headers/mntent.texi: New file.
58855         * doc/glibc-headers/obstack.texi: New file.
58856         * doc/glibc-headers/paths.texi: New file.
58857         * doc/glibc-headers/printf.texi: New file.
58858         * doc/glibc-headers/pty.texi: New file.
58859         * doc/glibc-headers/resolv.texi: New file.
58860         * doc/glibc-headers/shadow.texi: New file.
58861         * doc/glibc-headers/sysexits.texi: New file.
58862         * doc/glibc-headers/ttyent.texi: New file.
58863
58864 2008-01-12  Jim Meyering  <meyering@redhat.com>
58865
58866         announce-gen: emit Gnulib's git-based version string.
58867         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
58868         New option --gnulib-version=V, where V is expected to be
58869         the output of running git describe in the gnulib directory.
58870         (get_tool_versions): Request feedback on xdelta.  I suspect it's
58871         not useful, and plan to stop publishing an xdelta file with each
58872         coreutils release.
58873
58874         * build-aux/announce-gen: Also check for lzma-compressed files.
58875
58876 2008-01-11  Bruno Haible  <bruno@clisp.org>
58877
58878         * tests/test-memmem.c (main): Increase maximum allowed time.
58879         * tests/test-strstr.c (main): Likewise.
58880
58881 2008-01-11  Bruno Haible  <bruno@clisp.org>
58882
58883         * doc/functions/memmem.texi: Add more precisions about platforms.
58884         * doc/functions/strstr.texi: Likewise.
58885
58886 2008-01-10  Eric Blake  <ebb9@byu.net>
58887
58888         * m4/strstr.m4: Delete cruft from copy-n-paste.
58889         Reported by Bruno Haible.
58890
58891 2008-01-10  Bruno Haible  <bruno@clisp.org>
58892
58893         Make c-strstr rely on strstr.
58894         * lib/c-strstr.c: Don't include str-kmp.h.
58895         (c_strstr): Define in terms of strstr.
58896         * modules/c-strstr (Files): Remove lib/str-kmp.h.
58897         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
58898
58899 2008-01-10  Bruno Haible  <bruno@clisp.org>
58900
58901         * doc/gnulib.texi (String Functions in C Locale): New section.
58902         * doc/c-ctype.texi: New file.
58903         * doc/c-strcase.texi: New file.
58904         * doc/c-strcaseeq.texi: New file.
58905         * doc/c-strcasestr.texi: New file.
58906         * doc/c-strstr.texi: New file.
58907         * doc/c-strtod.texi: New file.
58908         * doc/c-strtold.texi: New file.
58909
58910 2008-01-10  Eric Blake  <ebb9@byu.net>
58911
58912         * lib/relocatable.h: Fix a comment.
58913
58914 2008-01-10  Eric Blake  <ebb9@byu.net>
58915
58916         Share two-way algorithm.
58917         * lib/str-two-way.h: New file, merged from...
58918         * lib/memmem.c: ...here...
58919         * lib/strstr.c: ...and here.
58920         * modules/memmem (Files): Use it.
58921         * modules/strstr (Files): Likewise.
58922
58923         Avoid quadratic strstr implementations.
58924         * lib/strstr.c: New file.
58925         * m4/strstr.m4: Likewise.
58926         * modules/strstr: Likewise.
58927         * modules/strstr-tests: Likewise.
58928         * tests/test-strstr.c: Likewise.
58929         * lib/string.in.h (rpl_strstr): Declare.
58930         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
58931         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
58932         * modules/string (Makefile.am): Likewise.
58933         * MODULES.html.sh (string handling): Mention new module.
58934         * doc/functions/strstr.texi (strstr): Document the bug.
58935
58936 2008-01-10  Bruno Haible  <bruno@clisp.org>
58937
58938         * lib/relocatable.h (relocate): State whether result is freshly
58939         allocated or not.
58940         * lib/relocatable.c (relocate): Return a freshly allocated string
58941         instead of a pointer to a privately held string.
58942         Reported by Sylvain Beucler <beuc@gnu.org>.
58943
58944 2008-01-10  Colin Watson  <cjwatson@debian.org>
58945
58946         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
58947         s/S_ISNLK/S_ISLNK/.
58948
58949 2008-01-09  Bruno Haible  <bruno@clisp.org>
58950
58951         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
58952         and other files.
58953         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
58954         if it's only a guess.
58955         * modules/memmem: Simplify by depending on memmem-simple.
58956
58957 2008-01-09  Bruno Haible  <bruno@clisp.org>
58958
58959         Work around OpenBSD 4.0 tdelete() bug.
58960         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
58961         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
58962         macros and don't redefine the enum values.
58963         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
58964         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
58965         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
58966
58967 2008-01-09  Bruno Haible  <bruno@clisp.org>
58968
58969         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
58970         (main): Don't perform the tests if setlocale did not install a UTF-8
58971         locale. Needed on OpenBSD 4.0.
58972         * modules/wcwidth-tests (Depends-on): Add localcharset.
58973
58974 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
58975
58976         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
58977         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
58978         * NEWS: announce this.
58979         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
58980
58981 2008-01-09  Simon Josefsson  <simon@josefsson.org>
58982         and Eric Blake  <ebb9@byu.net>
58983
58984         Add memmem-simple module.
58985         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
58986         (gl_FUNC_MEMMEM): Separate performance from presence checks.
58987         * modules/memmem-simple: New file.
58988         * modules/memmem (Description): Tweak.
58989         * MODULES.html.sh (string handling): Mention new module.
58990         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
58991         addressed by memmem-simple.
58992         * NEWS: Document the difference.
58993
58994 2008-01-09  Eric Blake  <ebb9@byu.net>
58995
58996         Give gcc some memmem optimization hints.
58997         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
58998         (strcasestr): Declare as pure.
58999         * modules/memmem (Maintainer): Claim my implementation.
59000
59001 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59002
59003         Support AIX 6.1 and higher.
59004         * build-aux/config.libpath: Likewise.
59005         * build-aux/config.rpath: Likewise.
59006
59007 2008-01-08  Jim Meyering  <meyering@redhat.com>
59008             Bruno Haible  <bruno@clisp.org>
59009
59010         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
59011         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
59012         Reported by Peter Fales in
59013         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
59014
59015 2008-01-08  Bruno Haible  <bruno@clisp.org>
59016
59017         * modules/unictype/category-of (Depends-on): Add
59018         unictype/category-none.
59019         * modules/unictype/category-and-tests (Depends-on): Add
59020         unictype/category-{L,N,Lu,Nd}.
59021         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
59022         * modules/unictype/category-or-tests (Depends-on): Add
59023         unictype/category-{L,N}.
59024         * modules/unictype/category-name-tests (Depends-on): Add
59025         unictype/category-{Z,Nl}.
59026         Reported by Simon Josefsson.
59027
59028 2008-01-08  Bruno Haible  <bruno@clisp.org>
59029
59030         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
59031         convention better.
59032         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
59033         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
59034         Reported by Peter Miller <millerp@canb.auug.org.au>.
59035
59036 2008-01-08  Eric Blake  <ebb9@byu.net>
59037
59038         Rewrite memmem to guarantee linear complexity without malloc.
59039         * lib/memmem.c (memmem): Use Two-Way rather than
59040         Knuth-Morris-Pratt, to allow O(1) space usage.
59041         (critical_factorization, two_way_short_needle)
59042         (two_way_long_needle): New functions.
59043         (knuth_morris_pratt): Delete.
59044         * modules/memmem (Depends-on): No longer need malloca or stdbool.
59045         Add stdint.
59046         * tests/test-memmem.c (main): Add tests for periodic needle and
59047         sublinear performance.
59048         * doc/functions/memmem.texi (memmem): Document other deficiencies
59049         in cygwin and older glibc.
59050
59051 2008-01-08  Bruno Haible  <bruno@clisp.org>
59052
59053         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
59054         augmentation.
59055
59056 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
59057
59058         Add a configure time option: --disable-acl.
59059         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
59060         AC_ARG_ENABLE(acl).
59061
59062 2008-01-06  Simon Josefsson  <simon@josefsson.org>
59063
59064         * tests/test-localename.c: Don't include obsolete "setenv.h".
59065
59066         * modules/localename-tests (Depends-on): Need unsetenv.
59067
59068 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59069
59070         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
59071
59072 2008-01-06  Colin Watson  <cjwatson@debian.org>
59073
59074         * users.txt: Add man-db.
59075
59076 2008-01-07  Bruno Haible  <bruno@clisp.org>
59077
59078         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
59079         previous section name.
59080
59081 2008-01-07  Bruno Haible  <bruno@clisp.org>
59082
59083         * lib/progname.c (set_program_name): Don't strip off a leading
59084         "lt-" prefix outside a .libs directory.
59085         Suggested by Paul Eggert.
59086
59087 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
59088             Bruno Haible  <bruno@clisp.org>
59089
59090         Improve memory cleanup in 'relocatable' module.
59091         * lib/relocatable.h (compute_curr_prefix): Change return type to
59092         'char *'.
59093         * lib/relocatable.c (compute_curr_prefix): Change return type to
59094         'char *'. Free curr_installdir after use.
59095         (relocate): Free curr_prefix_better after use.
59096         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
59097
59098 2008-01-01  Bruno Haible  <bruno@clisp.org>
59099
59100         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
59101         failure on older glibc systems.
59102         Reported by Peter Fales <psfales@alcatel-lucent.com>.
59103
59104 2008-01-05  Eric Blake  <ebb9@byu.net>
59105
59106         Avoid quadratic system memmem.
59107         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
59108         Reported by Ralf Wildenhues.
59109
59110         Fix memmem test for mingw.
59111         * modules/memmem-tests (configure.ac): Check for alarm.
59112         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
59113         it.
59114         * doc/functions/memmem.texi: New file.
59115         * doc/gnulib.texi (Function Substitutes): Add memmem.
59116         Reported by Bruno Haible.
59117
59118 2008-01-04  Bruno Haible  <bruno@clisp.org>
59119
59120         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
59121         Require gl_HEADER_STRINGS_H_DEFAULTS, not
59122         gl_HEADER_STRING_H_DEFAULTS.
59123
59124 2008-01-04  Eric Blake  <ebb9@byu.net>
59125
59126         Shorten duration of memmem test.
59127         * tests/test-memmem.c (main): Use alarm to declare failure if test
59128         is taking too long.
59129         Reported by Ralf Wildenhues.
59130
59131 2007-12-21  Simon Josefsson  <simon@josefsson.org>
59132
59133         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
59134         string, needed by strerror.
59135
59136 2008-01-03  Colin Watson  <cjwatson@debian.org>
59137             Bruno Haible  <bruno@clisp.org>
59138
59139         * doc/gnulib-tool.texi (Localization): New section.
59140
59141 2008-01-02  Bruno Haible  <bruno@clisp.org>
59142
59143         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
59144         variables to 'unsigned char *' type.
59145         Reported by Paul Eggert.
59146
59147 2008-01-02  Jim Meyering  <jim@meyering.net>
59148
59149         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
59150
59151 2007-12-31  Jim Meyering  <jim@meyering.net>
59152
59153         Avoid use of private FTS type name.
59154         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
59155
59156 2007-12-30  Karl Berry  <karl@gnu.org>
59157
59158         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
59159         work around defect in Texinfo and/or the standalone Info browser.
59160
59161 2007-12-30  Bruno Haible  <bruno@clisp.org>
59162
59163         Unify 5 copies of the KMP code.
59164         * lib/str-kmp.h: New file.
59165         * lib/c-strcasestr.c: Include str-kmp.h.
59166         (knuth_morris_pratt): Remove function.
59167         (c_strcasestr): Update.
59168         * lib/c-strstr.c: Include str-kmp.h.
59169         (knuth_morris_pratt): Remove function.
59170         (c_strcasestr): Update.
59171         * lib/mbscasestr.c: Include str-kmp.h.
59172         (knuth_morris_pratt_unibyte): Remove function.
59173         * lib/mbsstr.c: Include str-kmp.h.
59174         (knuth_morris_pratt_unibyte): Remove function.
59175         * lib/strcasestr.c: Include str-kmp.h.
59176         (knuth_morris_pratt): Remove function.
59177         (strcasestr): Update.
59178         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
59179         * modules/c-strstr (Files): Likewise.
59180         * modules/mbscasestr (Files): Likewise.
59181         * modules/mbsstr (Files): Likewise.
59182         * modules/strcasestr (Files): Likewise.
59183         Suggested by Paul Eggert.
59184
59185 2007-12-30  Bruno Haible  <bruno@clisp.org>
59186
59187         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
59188         defined.
59189
59190 2007-12-30  Bruno Haible  <bruno@clisp.org>
59191
59192         * lib/xmalloca.h: Include xalloc.h.
59193         (xnmalloca): New macro.
59194
59195 2007-12-30  Bruno Haible  <bruno@clisp.org>
59196
59197         * lib/malloca.h (nmalloca): New macro.
59198         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
59199         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
59200         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
59201         knuth_morris_pratt_multibyte): Likewise.
59202         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
59203         knuth_morris_pratt_multibyte): Likewise.
59204         * lib/memmem.c (knuth_morris_pratt): Likewise.
59205         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
59206
59207 2007-12-25  Bruno Haible  <bruno@clisp.org>
59208
59209         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
59210         * lib/glob.c: Don't include openat.h.
59211         (link_exists2_p): Add back the code that deals with the
59212         !GLOB_ALTDIRFUNC case.
59213         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
59214         let it do the filename concatenation.
59215         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
59216         * modules/glob (Depends-on): Remove openat.
59217
59218 2007-12-31  Bruno Haible  <bruno@clisp.org>
59219
59220         * modules/dirfd (License): Change to LGPLv2+.
59221         Approved by Jim Meyering.
59222
59223 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
59224
59225         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
59226         when multiplying M by sizeof (size_t).
59227
59228 2007-12-10  Martin Lambers  <marlam@marlam.de>
59229
59230         Override getpagesize on mingw.
59231         * lib/getpagesize.c: New file.
59232         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
59233         * modules/getpagesize (Files): Add lib/getpagesize.c.
59234         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
59235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
59236         REPLACE_GETPAGESIZE.
59237         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
59238
59239 2007-12-25  Bruno Haible  <bruno@clisp.org>
59240
59241         * modules/localcharset (Notice): New field.
59242         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
59243         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
59244
59245 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
59246             Bruno Haible  <bruno@clisp.org>
59247
59248         Avoid using the syntax symbol() in formatted documentation.
59249         * MODULES.html.sh (func_module): When replacing symbol() with a
59250         hyperlink, remove the parentheses. Show an error if some remain.
59251         Recognize and render the '...' syntax.
59252         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
59253         Rework. Add paragraph about GCC's inlining.
59254         * doc/alloca.texi: Likewise.
59255         * doc/error.texi: Remove parentheses from symbol reference.
59256         * doc/gnulib-intro.texi: Likewise.
59257         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
59258         * modules/fnmatch (Description): Reword to say "the ... function".
59259         * modules/full-read (Description): Likewise.
59260         * modules/full-write (Description): Likewise.
59261         * modules/safe-read (Description): Likewise.
59262         * modules/safe-write (Description): Likewise.
59263         * modules/strchrnul (Description): Likewise.
59264         * modules/trim (Description): Likewise.
59265         * modules/error (Description): Remove parentheses from symbol
59266         references.
59267         * modules/verror (Description): Likewise.
59268         Reported by Karl Berry.
59269
59270 2007-12-25  Bruno Haible  <bruno@clisp.org>
59271
59272         Fixup after 2007-10-16 commit.
59273         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
59274
59275 2007-12-24  Bruno Haible  <bruno@clisp.org>
59276
59277         Make --enable-relocatable work with DESTDIR.
59278         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
59279         to compute installdir from destprog.
59280         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
59281         also set the RELOC_DESTDIR variable.
59282         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
59283
59284 2007-12-24  Bruno Haible  <bruno@clisp.org>
59285
59286         Fix link error due to xalloc_die().
59287         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
59288         of xreadlink.
59289         * lib/relocwrapper.c: Update comments.
59290         * build-aux/install-reloc: Remove xreadlink.c from file list.
59291         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
59292         xreadlink.c.
59293         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
59294
59295 2007-12-24  Bruno Haible  <bruno@clisp.org>
59296
59297         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
59298         * lib/setenv.h: Remove file.
59299         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
59300         lib/setenv.h.
59301         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
59302         (Depends-on): Add stdlib.
59303         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
59304         gl_FUNC_UNSETENV.
59305         (Include): Replace setenv.h with <stdlib.h>.
59306         * modules/unsetenv: New file.
59307         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
59308         * lib/unsetenv.c: Include <stdlib.h> first.
59309         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
59310         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
59311         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
59312         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
59313         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
59314         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
59315         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
59316         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
59317         * doc/functions/unsetenv.texi: Update.
59318         * modules/xsetenv (Depends-on): Add unsetenv.
59319         * modules/getdate (Depends-on): Likewise.
59320         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
59321         * lib/xsetenv.c: Don't include setenv.h.
59322         * lib/getdate.y: Likewise.
59323         * lib/relocwrapper.c: Likewise.
59324         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
59325         (Depends-on): Add stdlib.
59326         * NEWS: Mention the changes.
59327         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
59328
59329 2007-12-23  Bruno Haible  <bruno@clisp.org>
59330
59331         * lib/memmem.c (memmem): Use lowercase variable names. Tab
59332         indentation.
59333
59334 2007-12-23  Bruno Haible  <bruno@clisp.org>
59335
59336         * lib/c-strcasestr.c: Add more comments.
59337         * lib/c-strstr.c: Likewise.
59338         * lib/mbscasestr.c: Likewise.
59339         * lib/mbsstr.c: Likewise.
59340         * lib/strcasestr.c: Likewise.
59341         * lib/memmem.c: Likewise.
59342
59343 2007-12-23  Bruno Haible  <bruno@clisp.org>
59344
59345         * tests/test-memmem.c: Include <string.h> first.
59346
59347 2007-12-22  Bruno Haible  <bruno@clisp.org>
59348
59349         * gnulib-tool (func_create_testdir): Change $auxdir while generating
59350         the contents of $testsbase.
59351         Reported by Ralf Wildenhues.
59352
59353 2007-12-22  Bruno Haible  <bruno@clisp.org>
59354
59355         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
59356         two variables local_ldadd_before, local_ldadd_last.
59357
59358 2007-12-20  Eric Blake  <ebb9@byu.net>
59359
59360         Work around circular library issue when cross-compiling.
59361         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
59362         that progname.o does not need to pull in rpl_memcmp.
59363
59364 2007-12-19  Eric Blake  <ebb9@byu.net>
59365
59366         Fix memmem to avoid O(n^2) worst-case complexity.
59367         * lib/memmem.c (knuth_morris_pratt): New function.
59368         (memmem): Use it if first few naive iterations fail.
59369         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
59370         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
59371         * modules/memchr (License): Likewise.
59372         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
59373         malloca.
59374         * tests/test-memmem.c: Rewrite, borrowing ideas from
59375         test-mbsstr1.c; the old version wouldn't even compile!
59376         * modules/memmem-tests: New file.
59377         * lib/string.in.h (rpl_memmem): Add declaration.
59378         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
59379         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
59380         REPLACE_MEMMEM.
59381
59382 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
59383
59384         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
59385         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
59386         before any system include files, and undef after them all.  This
59387         should fix a problem on VMS reported by John E. Malmberg in
59388         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
59389
59390 2007-12-17  Eric Blake  <ebb9@byu.net>
59391
59392         Revert addition of verify, for BSD/OS.
59393         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
59394         can't handle large files, for the sake of obsolete platforms.
59395         * modules/fseeko (Depends-on): Remove verify.
59396         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
59397         * doc/functions/ftello.texi (ftello): Likewise.
59398         * doc/functions/fgetpos.texi (fgetpos): Likewise.
59399         Reported by Larry Jones.
59400
59401 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
59402
59403         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
59404         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
59405
59406 2007-12-17  Jim Meyering  <meyering@redhat.com>
59407
59408         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
59409         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
59410         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
59411         * modules/getcwd (Depends-on): Add openat.
59412         Reported by Petr Salinger.
59413
59414 2007-12-17  Bruno Haible  <bruno@clisp.org>
59415
59416         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
59417         avoid a segmentation fault of the configure test on x86_64 systems.
59418
59419 2007-12-15  Jim Meyering  <meyering@redhat.com>
59420
59421         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
59422
59423 2007-12-13  Eric Blake  <ebb9@byu.net>
59424
59425         Another fseek test.
59426         * tests/test-fseek.c (main): Also test ungetc handling.
59427         * tests/test-fseeko.c (main): Likewise.
59428         * modules/fseeko (Depends-on): Add verify.
59429         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
59430         large.
59431         Reported by Larry Jones.
59432
59433         Fix fseeko on mingw.
59434         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
59435         seek.
59436
59437         Beef up fseek tests.
59438         * tests/test-fseek.c (main): Also test eof handling.
59439         * tests/test-fseeko.c (main): Likewise.
59440         Reported by Larry Jones.
59441
59442 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
59443
59444         Fix fseeko on BSD-based platforms.
59445         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
59446         successful seek.
59447
59448 2007-12-12  Eric Blake  <ebb9@byu.net>
59449
59450         Allow circular dependency of separate libtests.a
59451         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
59452         when use_libtests.
59453
59454 2007-12-11  Eric Blake  <ebb9@byu.net>
59455
59456         Fix bug with -0.0L in previous patch.
59457         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
59458         * tests/test-isnan.c (main): Also test on zeroes.
59459         * tests/test-isnanf.c (main): Likewise.
59460         * tests/test-isnanl.h (main): Likewise.
59461
59462         Detect pseudo-denormals on x86 even when cross-compiling.
59463         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
59464         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
59465         invalid bit patterns that happen to satisfy ==.
59466
59467         Avoid link failures with separate libtests.a.
59468         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
59469         last, to satisfy circular dependencies.
59470
59471 2007-12-11  Eric Blake  <ebb9@byu.net>
59472         and Bruno Haible  <bruno@clisp.org>
59473
59474         Fix OpenBSD 4.0 <float.h> handling of long double.
59475         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
59476         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
59477         * doc/headers/float.texi (float.h): Document OpenBSD bug.
59478
59479 2007-12-11  Jim Meyering  <meyering@redhat.com>
59480
59481         * users.txt: Add libvirt.
59482
59483         Support versions of autoconf prior to 2.59c.
59484         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
59485         if it is not already defined.
59486
59487 2007-12-09  Bruno Haible  <bruno@clisp.org>
59488
59489         Let 'gnulib-tool --import' collect sources needed for the tests in
59490         tests/ rather than in lib/.
59491         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
59492         argument. If true, add rules to generate libtests.a, and put libtests.a
59493         into $(LDADD). Consider source files in subdirectories and set
59494         uses_subdirs.
59495         (func_emit_initmacro_start, func_emit_initmacro_end,
59496         func_emit_initmacro_done): Pass all arguments explicitly.
59497         (func_import): Determine two module lists main_modules,
59498         testsrelated_modules. Determine use_libtests. Determine two variables
59499         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
59500         instead of just sed_transform_lib_file. Determine two variables
59501         main_files and testsrelated_files. Compute 'files' as the union of
59502         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
59503         func_add_or_update. In the generated gnulib-comp.m4, collect the
59504         object files for tests/ in different variables than those for lib/.
59505         Substitute LIBTESTS_LIBDEPS.
59506         (func_create_testdir): Combine the uses_subdirs results from
59507         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
59508
59509 2007-12-09  Bruno Haible  <bruno@clisp.org>
59510
59511         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
59512         the build-aux directory.
59513
59514 2007-12-09  Bruno Haible  <bruno@clisp.org>
59515
59516         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
59517         introduced on 2006-09-09.
59518
59519 2007-12-07  Jim Meyering  <meyering@redhat.com>
59520
59521         Let these macros work also with autoconf-2.59.
59522         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
59523         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
59524         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
59525
59526 2007-12-06  Jim Meyering  <meyering@redhat.com>
59527
59528         Avoid a configure-time syntax error in gl_FUNC_ACL.
59529         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
59530         function in each branch, before testing the cache variable.
59531
59532 2007-12-04  Eric Blake  <ebb9@byu.net>
59533
59534         Make scripts executable.
59535         * build-aux/config.guess: Add execute permissions.
59536         * build-aux/config.sub: Likewise.
59537         * build-aux/gendocs.sh: Likewise.
59538
59539         Fix frexp on mingw.
59540         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
59541         cross-compiling.
59542         * doc/functions/frexp.texi (frexp): Document the bug.
59543
59544         Make cygwin fseeko check more reliable.
59545         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
59546         version numbers, rather than unrelated feature check.
59547         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
59548         * doc/functions/ftello.texi (ftello): Likewise.
59549         Reported by Bruno Haible.
59550
59551         * m4/strerror.m4: Bump version number.
59552
59553 2007-12-03  Bruno Haible  <bruno@clisp.org>
59554
59555         * doc/functions/mprotect.texi: Mention the mingw problem.
59556
59557 2007-12-03  Eric Blake  <ebb9@byu.net>
59558
59559         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
59560         REPLACE_STRERROR is initialized before this macro.
59561
59562 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
59563
59564         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
59565         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
59566         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
59567         put -lsec in even for programs other than 'ls'.  This fixes a problem
59568         for gettext reported by Bruno Haible in
59569         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
59570         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
59571         Add support for Solaris 10.  This isn't efficient, but should get the
59572         job done for now.
59573
59574 2007-12-03  James Youngman  <jay@gnu.org>
59575
59576         * doc/regexprops-generic.texi: change "an close-group" to "a
59577         close-group" and "illegal" to "not allowed".
59578
59579 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59580
59581         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
59582         pr_byname.h. Needed for the rare case when the maintainer has done
59583         "make maintainer-clean" in the source directory and then attempts a
59584         build outside the source directory.
59585         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
59586         scripts_byname.h.
59587
59588 2007-12-02  Martin Lambers <marlam@marlam.de>
59589             Bruno Haible  <bruno@clisp.org>
59590
59591         * lib/getpagesize.h: Remove file.
59592         * lib/unistd.in.h: Include declaration of getpagesize here.
59593         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
59594         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
59595         HAVE_SYS_PARAM_H.
59596         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
59597         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
59598         * modules/getpagesize (Files): Remove lib/getpagesize.h.
59599         (Depends-on): Add unistd.
59600         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59601         (Include): Use <unistd.h> instead of getpagesize.h.
59602         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
59603         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
59604         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
59605         gl_GETPAGESIZE invocation, already handled by module dependency.
59606         * lib/pagealign_alloc.c: Don't include getpagesize.h.
59607
59608 2007-12-02  Bruno Haible  <bruno@clisp.org>
59609
59610         * modules/strings-tests: New file.
59611         * tests/test-strings.c: New file.
59612
59613         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
59614         * lib/strings.in.h: New file.
59615         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
59616         * m4/strings_h.m4: New file.
59617         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
59618         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
59619         * modules/strings: New file.
59620         * modules/string (Makefile.am): Update.
59621         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
59622         Reported by Karl Berry.
59623
59624 2007-12-01  Eric Blake  <ebb9@byu.net>
59625
59626         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
59627         accommodate fix in cygwin 1.5.25.
59628
59629 2007-12-01  Jim Meyering  <meyering@redhat.com>
59630
59631         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
59632         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
59633         that would inhibit utf8-optimization of a regexp containing line-
59634         or buffer-anchors, e.g., `^', `$'.
59635
59636 2007-11-30  Bruno Haible  <bruno@clisp.org>
59637
59638         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
59639         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
59640         glthread_recursive_lock_init.
59641         * lib/lock.c (glthread_recursive_lock_init)
59642         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
59643         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59644
59645 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
59646
59647         New function qset_acl, like set_acl but with syscall semantics.
59648         * lib/acl.h (qset_acl): New decl.
59649         * lib/acl.c (qset_acl): New function.
59650         (set_acl): Use new function.  Use more-consistent diagnostics.
59651
59652 2007-11-28  Jim Meyering  <meyering@redhat.com>
59653
59654         * modules/physmem (License): Change from GPL to LGPLv2+.
59655
59656 2007-11-26  Bruno Haible  <bruno@clisp.org>
59657
59658         * lib/vasnprintf.c (decode_long_double): Don't abort if the
59659         'long double' type has excess precision.
59660         Reported by Jim Meyering in
59661         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
59662
59663 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59664
59665         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
59666         Sync from <http://gnu.org/licenses>.
59667         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
59668         with license text from same location.
59669         * doc/maintain.texi, doc/standards.texi:  Sync from
59670         <http://savannah.gnu.org/projects/gnustandards>.
59671
59672 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
59673         and Jim Meyering  <meyering@redhat.com>
59674
59675         Adjust getdate' grammar to accept a slightly more regular language.
59676         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
59677         Before, the former was rejected.
59678         * lib/getdate.y (digits_to_date_time): New function, factored
59679         out of ...
59680         (number): ...here.  Just call digits_to_date_time.
59681         (hybrid): New non-terminal to handle an <unsigned number,
59682         signed relative offset> sequence consistently.
59683
59684 2007-11-18  Jim Meyering  <meyering@redhat.com>
59685
59686         Pull my changes from coreutils:
59687         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
59688         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
59689         use of $gnulib_tool_option_extras, so that it's separated from the
59690         preceding argument.
59691
59692         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
59693         * build-aux/bootstrap (cp_mark_as_generated): Create any required
59694         parent destination directories before copying a file into place.
59695
59696 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
59697
59698         bootstrap: work also with 4-argument variant of AC_INIT
59699         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
59700
59701 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59702
59703         Port test-getaddrinfo to Solaris.
59704         Problem reported by Bruno Haible in
59705         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
59706         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
59707         explanation of setting 'hints'.
59708         Don't reject an implementation merely because it returns EAI_SERVICE.
59709         (EAI_SERVICE): Define to 0 if not defined.
59710
59711 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
59712
59713         The license of gnu-make and posix-shell is now "GPLed build tool".
59714         * modules/gnu-make (License): Likewise.
59715         * modules/posix-shell (License): Likewise.
59716
59717         New module posix-shell, for determining a POSIX shell
59718         or perhaps something that is close enough to a POSIX shell.
59719         * m4/posix-shell.m4: New file.
59720         * modules/posix-shell: New file.
59721
59722         * MODULES.html.sh: Mention new module.
59723
59724         New module gnu-make, for determining whether we're using GNU Make.
59725         * m4/gnu-make.m4: New file.
59726         * modules/gnu-make: New file.
59727         * MODULES.html.sh: Mention new module.
59728
59729 2007-11-14  Jim Meyering  <meyering@redhat.com>
59730
59731         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
59732         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
59733         use this macro to create a function _definition_.
59734         Remove useless "#undef ARGMATCH_DIE".
59735
59736 2007-11-14  Bruno Haible  <bruno@clisp.org>
59737
59738         * lib/config.charset: Update for OpenBSD 4.1.
59739         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
59740
59741 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
59742
59743         Document 64-bit #if problems in stdint.texi.
59744         * doc/headers/stdint.texi (stdint.h): Mention problems with
59745         64-bit-#if, and how to work around them.
59746
59747         Don't insist on 'long long int' support in the preprocessor.  It
59748         breaks too many things.  For example, PRIdMAX still uses a 'long
59749         long int' format with the latest Sun compiler, even though
59750         HAVE_LONG_LONG_INT isn't defined due to that compiler's
59751         preprocessor problem.  This causes the latest coreutils to dump
59752         core on Solaris 10 sparc with the Sun C compiler.
59753         Instead, fix the 2007-10-16 problem in a different way, by evaluating
59754         the troublesome expressions at configure-time, not at #if-time.
59755         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
59756         preprocessor.
59757         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
59758         compile-time C checks, done at 'configure'-time.
59759         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
59760         * modules/inttypes (Makefile): Substitute the new symbols that
59761         gl_INTTYPES_H now generates.
59762         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
59763
59764 2007-11-12  Bruno Haible  <bruno@clisp.org>
59765
59766         Tests for Unicode character classification functions.
59767
59768         * modules/unictype/bidicategory-byname-tests: New file.
59769         * modules/unictype/bidicategory-name-tests: New file.
59770         * modules/unictype/bidicategory-of-tests: New file.
59771         * modules/unictype/bidicategory-test-tests: New file.
59772         * modules/unictype/block-list-tests: New file.
59773         * modules/unictype/block-of-tests: New file.
59774         * modules/unictype/block-test-tests: New file.
59775         * modules/unictype/category-C-tests: New file.
59776         * modules/unictype/category-Cc-tests: New file.
59777         * modules/unictype/category-Cf-tests: New file.
59778         * modules/unictype/category-Cn-tests: New file.
59779         * modules/unictype/category-Co-tests: New file.
59780         * modules/unictype/category-Cs-tests: New file.
59781         * modules/unictype/category-L-tests: New file.
59782         * modules/unictype/category-Ll-tests: New file.
59783         * modules/unictype/category-Lm-tests: New file.
59784         * modules/unictype/category-Lo-tests: New file.
59785         * modules/unictype/category-Lt-tests: New file.
59786         * modules/unictype/category-Lu-tests: New file.
59787         * modules/unictype/category-M-tests: New file.
59788         * modules/unictype/category-Mc-tests: New file.
59789         * modules/unictype/category-Me-tests: New file.
59790         * modules/unictype/category-Mn-tests: New file.
59791         * modules/unictype/category-N-tests: New file.
59792         * modules/unictype/category-Nd-tests: New file.
59793         * modules/unictype/category-Nl-tests: New file.
59794         * modules/unictype/category-No-tests: New file.
59795         * modules/unictype/category-P-tests: New file.
59796         * modules/unictype/category-Pc-tests: New file.
59797         * modules/unictype/category-Pd-tests: New file.
59798         * modules/unictype/category-Pe-tests: New file.
59799         * modules/unictype/category-Pf-tests: New file.
59800         * modules/unictype/category-Pi-tests: New file.
59801         * modules/unictype/category-Po-tests: New file.
59802         * modules/unictype/category-Ps-tests: New file.
59803         * modules/unictype/category-S-tests: New file.
59804         * modules/unictype/category-Sc-tests: New file.
59805         * modules/unictype/category-Sk-tests: New file.
59806         * modules/unictype/category-Sm-tests: New file.
59807         * modules/unictype/category-So-tests: New file.
59808         * modules/unictype/category-Z-tests: New file.
59809         * modules/unictype/category-Zl-tests: New file.
59810         * modules/unictype/category-Zp-tests: New file.
59811         * modules/unictype/category-Zs-tests: New file.
59812         * modules/unictype/category-and-not-tests: New file.
59813         * modules/unictype/category-and-tests: New file.
59814         * modules/unictype/category-byname-tests: New file.
59815         * modules/unictype/category-name-tests: New file.
59816         * modules/unictype/category-none-tests: New file.
59817         * modules/unictype/category-of-tests: New file.
59818         * modules/unictype/category-or-tests: New file.
59819         * modules/unictype/category-test-withtable-tests: New file.
59820         * modules/unictype/combining-class-tests: New file.
59821         * modules/unictype/ctype-alnum-tests: New file.
59822         * modules/unictype/ctype-alpha-tests: New file.
59823         * modules/unictype/ctype-blank-tests: New file.
59824         * modules/unictype/ctype-cntrl-tests: New file.
59825         * modules/unictype/ctype-digit-tests: New file.
59826         * modules/unictype/ctype-graph-tests: New file.
59827         * modules/unictype/ctype-lower-tests: New file.
59828         * modules/unictype/ctype-print-tests: New file.
59829         * modules/unictype/ctype-punct-tests: New file.
59830         * modules/unictype/ctype-space-tests: New file.
59831         * modules/unictype/ctype-upper-tests: New file.
59832         * modules/unictype/ctype-xdigit-tests: New file.
59833         * modules/unictype/decimal-digit-tests: New file.
59834         * modules/unictype/digit-tests: New file.
59835         * modules/unictype/mirror-tests: New file.
59836         * modules/unictype/numeric-tests: New file.
59837         * modules/unictype/property-alphabetic-tests: New file.
59838         * modules/unictype/property-ascii-hex-digit-tests: New file.
59839         * modules/unictype/property-bidi-arabic-digit-tests: New file.
59840         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
59841         * modules/unictype/property-bidi-block-separator-tests: New file.
59842         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
59843         * modules/unictype/property-bidi-common-separator-tests: New file.
59844         * modules/unictype/property-bidi-control-tests: New file.
59845         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
59846         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
59847         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
59848         * modules/unictype/property-bidi-european-digit-tests: New file.
59849         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
59850         * modules/unictype/property-bidi-left-to-right-tests: New file.
59851         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
59852         * modules/unictype/property-bidi-other-neutral-tests: New file.
59853         * modules/unictype/property-bidi-pdf-tests: New file.
59854         * modules/unictype/property-bidi-segment-separator-tests: New file.
59855         * modules/unictype/property-bidi-whitespace-tests: New file.
59856         * modules/unictype/property-byname-tests: New file.
59857         * modules/unictype/property-combining-tests: New file.
59858         * modules/unictype/property-composite-tests: New file.
59859         * modules/unictype/property-currency-symbol-tests: New file.
59860         * modules/unictype/property-dash-tests: New file.
59861         * modules/unictype/property-decimal-digit-tests: New file.
59862         * modules/unictype/property-default-ignorable-code-point-tests: New file.
59863         * modules/unictype/property-deprecated-tests: New file.
59864         * modules/unictype/property-diacritic-tests: New file.
59865         * modules/unictype/property-extender-tests: New file.
59866         * modules/unictype/property-format-control-tests: New file.
59867         * modules/unictype/property-grapheme-base-tests: New file.
59868         * modules/unictype/property-grapheme-extend-tests: New file.
59869         * modules/unictype/property-grapheme-link-tests: New file.
59870         * modules/unictype/property-hex-digit-tests: New file.
59871         * modules/unictype/property-hyphen-tests: New file.
59872         * modules/unictype/property-id-continue-tests: New file.
59873         * modules/unictype/property-id-start-tests: New file.
59874         * modules/unictype/property-ideographic-tests: New file.
59875         * modules/unictype/property-ids-binary-operator-tests: New file.
59876         * modules/unictype/property-ids-trinary-operator-tests: New file.
59877         * modules/unictype/property-ignorable-control-tests: New file.
59878         * modules/unictype/property-iso-control-tests: New file.
59879         * modules/unictype/property-join-control-tests: New file.
59880         * modules/unictype/property-left-of-pair-tests: New file.
59881         * modules/unictype/property-line-separator-tests: New file.
59882         * modules/unictype/property-logical-order-exception-tests: New file.
59883         * modules/unictype/property-lowercase-tests: New file.
59884         * modules/unictype/property-math-tests: New file.
59885         * modules/unictype/property-non-break-tests: New file.
59886         * modules/unictype/property-not-a-character-tests: New file.
59887         * modules/unictype/property-numeric-tests: New file.
59888         * modules/unictype/property-other-alphabetic-tests: New file.
59889         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
59890         * modules/unictype/property-other-grapheme-extend-tests: New file.
59891         * modules/unictype/property-other-id-continue-tests: New file.
59892         * modules/unictype/property-other-id-start-tests: New file.
59893         * modules/unictype/property-other-lowercase-tests: New file.
59894         * modules/unictype/property-other-math-tests: New file.
59895         * modules/unictype/property-other-uppercase-tests: New file.
59896         * modules/unictype/property-paired-punctuation-tests: New file.
59897         * modules/unictype/property-paragraph-separator-tests: New file.
59898         * modules/unictype/property-pattern-syntax-tests: New file.
59899         * modules/unictype/property-pattern-white-space-tests: New file.
59900         * modules/unictype/property-private-use-tests: New file.
59901         * modules/unictype/property-punctuation-tests: New file.
59902         * modules/unictype/property-quotation-mark-tests: New file.
59903         * modules/unictype/property-radical-tests: New file.
59904         * modules/unictype/property-sentence-terminal-tests: New file.
59905         * modules/unictype/property-soft-dotted-tests: New file.
59906         * modules/unictype/property-space-tests: New file.
59907         * modules/unictype/property-terminal-punctuation-tests: New file.
59908         * modules/unictype/property-test-tests: New file.
59909         * modules/unictype/property-titlecase-tests: New file.
59910         * modules/unictype/property-unassigned-code-value-tests: New file.
59911         * modules/unictype/property-unified-ideograph-tests: New file.
59912         * modules/unictype/property-uppercase-tests: New file.
59913         * modules/unictype/property-variation-selector-tests: New file.
59914         * modules/unictype/property-white-space-tests: New file.
59915         * modules/unictype/property-xid-continue-tests: New file.
59916         * modules/unictype/property-xid-start-tests: New file.
59917         * modules/unictype/property-zero-width-tests: New file.
59918         * modules/unictype/scripts-tests: New file.
59919         * modules/unictype/syntax-c-ident-tests: New file.
59920         * modules/unictype/syntax-c-whitespace-tests: New file.
59921         * modules/unictype/syntax-java-ident-tests: New file.
59922         * modules/unictype/syntax-java-whitespace-tests: New file.
59923         * tests/unictype/test-bidi_byname.c: New file.
59924         * tests/unictype/test-bidi_name.c: New file.
59925         * tests/unictype/test-bidi_of.c: New file.
59926         * tests/unictype/test-bidi_test.c: New file.
59927         * tests/unictype/test-block_list.c: New file.
59928         * tests/unictype/test-block_of.c: New file.
59929         * tests/unictype/test-block_test.c: New file.
59930         * tests/unictype/test-categ_and.c: New file.
59931         * tests/unictype/test-categ_and_not.c: New file.
59932         * tests/unictype/test-categ_byname.c: New file.
59933         * tests/unictype/test-categ_name.c: New file.
59934         * tests/unictype/test-categ_none.c: New file.
59935         * tests/unictype/test-categ_of.c: New file.
59936         * tests/unictype/test-categ_or.c: New file.
59937         * tests/unictype/test-categ_test_withtable.c: New file.
59938         * tests/unictype/test-combining.c: New file.
59939         * tests/unictype/test-decdigit.c: New file.
59940         * tests/unictype/test-digit.c: New file.
59941         * tests/unictype/test-mirror.c: New file.
59942         * tests/unictype/test-numeric.c: New file.
59943         * tests/unictype/test-pr_byname.c: New file.
59944         * tests/unictype/test-pr_test.c: New file.
59945         * tests/unictype/test-predicate-part1.h: New file.
59946         * tests/unictype/test-predicate-part2.h: New file.
59947         * tests/unictype/test-scripts.c: New file.
59948         * tests/unictype/test-sy_c_ident.c: New file.
59949         * tests/unictype/test-sy_java_ident.c: New file.
59950
59951         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
59952         for Unicode 5.0.0.
59953         * tests/unictype/test-categ_Cc.c: Likewise.
59954         * tests/unictype/test-categ_Cf.c: Likewise.
59955         * tests/unictype/test-categ_Cn.c: Likewise.
59956         * tests/unictype/test-categ_Co.c: Likewise.
59957         * tests/unictype/test-categ_Cs.c: Likewise.
59958         * tests/unictype/test-categ_L.c: Likewise.
59959         * tests/unictype/test-categ_Ll.c: Likewise.
59960         * tests/unictype/test-categ_Lm.c: Likewise.
59961         * tests/unictype/test-categ_Lo.c: Likewise.
59962         * tests/unictype/test-categ_Lt.c: Likewise.
59963         * tests/unictype/test-categ_Lu.c: Likewise.
59964         * tests/unictype/test-categ_M.c: Likewise.
59965         * tests/unictype/test-categ_Mc.c: Likewise.
59966         * tests/unictype/test-categ_Me.c: Likewise.
59967         * tests/unictype/test-categ_Mn.c: Likewise.
59968         * tests/unictype/test-categ_N.c: Likewise.
59969         * tests/unictype/test-categ_Nd.c: Likewise.
59970         * tests/unictype/test-categ_Nl.c: Likewise.
59971         * tests/unictype/test-categ_No.c: Likewise.
59972         * tests/unictype/test-categ_P.c: Likewise.
59973         * tests/unictype/test-categ_Pc.c: Likewise.
59974         * tests/unictype/test-categ_Pd.c: Likewise.
59975         * tests/unictype/test-categ_Pe.c: Likewise.
59976         * tests/unictype/test-categ_Pf.c: Likewise.
59977         * tests/unictype/test-categ_Pi.c: Likewise.
59978         * tests/unictype/test-categ_Po.c: Likewise.
59979         * tests/unictype/test-categ_Ps.c: Likewise.
59980         * tests/unictype/test-categ_S.c: Likewise.
59981         * tests/unictype/test-categ_Sc.c: Likewise.
59982         * tests/unictype/test-categ_Sk.c: Likewise.
59983         * tests/unictype/test-categ_Sm.c: Likewise.
59984         * tests/unictype/test-categ_So.c: Likewise.
59985         * tests/unictype/test-categ_Z.c: Likewise.
59986         * tests/unictype/test-categ_Zl.c: Likewise.
59987         * tests/unictype/test-categ_Zp.c: Likewise.
59988         * tests/unictype/test-categ_Zs.c: Likewise.
59989         * tests/unictype/test-ctype_alnum.c: Likewise.
59990         * tests/unictype/test-ctype_alpha.c: Likewise.
59991         * tests/unictype/test-ctype_blank.c: Likewise.
59992         * tests/unictype/test-ctype_cntrl.c: Likewise.
59993         * tests/unictype/test-ctype_digit.c: Likewise.
59994         * tests/unictype/test-ctype_graph.c: Likewise.
59995         * tests/unictype/test-ctype_lower.c: Likewise.
59996         * tests/unictype/test-ctype_print.c: Likewise.
59997         * tests/unictype/test-ctype_punct.c: Likewise.
59998         * tests/unictype/test-ctype_space.c: Likewise.
59999         * tests/unictype/test-ctype_upper.c: Likewise.
60000         * tests/unictype/test-ctype_xdigit.c: Likewise.
60001         * tests/unictype/test-decdigit.h: Likewise.
60002         * tests/unictype/test-digit.h: Likewise.
60003         * tests/unictype/test-numeric.h: Likewise.
60004         * tests/unictype/test-pr_alphabetic.c: Likewise.
60005         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
60006         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60007         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
60008         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
60009         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
60010         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
60011         * tests/unictype/test-pr_bidi_control.c: Likewise.
60012         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
60013         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
60014         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60015         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
60016         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60017         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60018         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60019         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60020         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
60021         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
60022         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
60023         * tests/unictype/test-pr_combining.c: Likewise.
60024         * tests/unictype/test-pr_composite.c: Likewise.
60025         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60026         * tests/unictype/test-pr_dash.c: Likewise.
60027         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60028         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
60029         * tests/unictype/test-pr_deprecated.c: Likewise.
60030         * tests/unictype/test-pr_diacritic.c: Likewise.
60031         * tests/unictype/test-pr_extender.c: Likewise.
60032         * tests/unictype/test-pr_format_control.c: Likewise.
60033         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60034         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60035         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60036         * tests/unictype/test-pr_hex_digit.c: Likewise.
60037         * tests/unictype/test-pr_hyphen.c: Likewise.
60038         * tests/unictype/test-pr_id_continue.c: Likewise.
60039         * tests/unictype/test-pr_id_start.c: Likewise.
60040         * tests/unictype/test-pr_ideographic.c: Likewise.
60041         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
60042         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
60043         * tests/unictype/test-pr_ignorable_control.c: Likewise.
60044         * tests/unictype/test-pr_iso_control.c: Likewise.
60045         * tests/unictype/test-pr_join_control.c: Likewise.
60046         * tests/unictype/test-pr_left_of_pair.c: Likewise.
60047         * tests/unictype/test-pr_line_separator.c: Likewise.
60048         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
60049         * tests/unictype/test-pr_lowercase.c: Likewise.
60050         * tests/unictype/test-pr_math.c: Likewise.
60051         * tests/unictype/test-pr_non_break.c: Likewise.
60052         * tests/unictype/test-pr_not_a_character.c: Likewise.
60053         * tests/unictype/test-pr_numeric.c: Likewise.
60054         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60055         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
60056         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
60057         * tests/unictype/test-pr_other_id_continue.c: Likewise.
60058         * tests/unictype/test-pr_other_id_start.c: Likewise.
60059         * tests/unictype/test-pr_other_lowercase.c: Likewise.
60060         * tests/unictype/test-pr_other_math.c: Likewise.
60061         * tests/unictype/test-pr_other_uppercase.c: Likewise.
60062         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
60063         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
60064         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
60065         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
60066         * tests/unictype/test-pr_private_use.c: Likewise.
60067         * tests/unictype/test-pr_punctuation.c: Likewise.
60068         * tests/unictype/test-pr_quotation_mark.c: Likewise.
60069         * tests/unictype/test-pr_radical.c: Likewise.
60070         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60071         * tests/unictype/test-pr_soft_dotted.c: Likewise.
60072         * tests/unictype/test-pr_space.c: Likewise.
60073         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60074         * tests/unictype/test-pr_titlecase.c: Likewise.
60075         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60076         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60077         * tests/unictype/test-pr_uppercase.c: Likewise.
60078         * tests/unictype/test-pr_variation_selector.c: Likewise.
60079         * tests/unictype/test-pr_white_space.c: Likewise.
60080         * tests/unictype/test-pr_xid_continue.c: Likewise.
60081         * tests/unictype/test-pr_xid_start.c: Likewise.
60082         * tests/unictype/test-pr_zero_width.c: Likewise.
60083         * tests/unictype/test-sy_c_whitespace.c: Likewise.
60084         * tests/unictype/test-sy_java_whitespace.c: Likewise.
60085
60086 2007-11-12  Bruno Haible  <bruno@clisp.org>
60087
60088         Unicode character classification functions.
60089         * lib/unictype.h: New file.
60090         * modules/unictype/base: New file.
60091         * modules/unictype/category-L: New file.
60092         * modules/unictype/category-Lu: New file.
60093         * modules/unictype/category-Ll: New file.
60094         * modules/unictype/category-Lt: New file.
60095         * modules/unictype/category-Lm: New file.
60096         * modules/unictype/category-Lo: New file.
60097         * modules/unictype/category-M: New file.
60098         * modules/unictype/category-Mn: New file.
60099         * modules/unictype/category-Mc: New file.
60100         * modules/unictype/category-Me: New file.
60101         * modules/unictype/category-N: New file.
60102         * modules/unictype/category-Nd: New file.
60103         * modules/unictype/category-Nl: New file.
60104         * modules/unictype/category-No: New file.
60105         * modules/unictype/category-P: New file.
60106         * modules/unictype/category-Pc: New file.
60107         * modules/unictype/category-Pd: New file.
60108         * modules/unictype/category-Ps: New file.
60109         * modules/unictype/category-Pe: New file.
60110         * modules/unictype/category-Pi: New file.
60111         * modules/unictype/category-Pf: New file.
60112         * modules/unictype/category-Po: New file.
60113         * modules/unictype/category-S: New file.
60114         * modules/unictype/category-Sm: New file.
60115         * modules/unictype/category-Sc: New file.
60116         * modules/unictype/category-Sk: New file.
60117         * modules/unictype/category-So: New file.
60118         * modules/unictype/category-Z: New file.
60119         * modules/unictype/category-Zs: New file.
60120         * modules/unictype/category-Zl: New file.
60121         * modules/unictype/category-Zp: New file.
60122         * modules/unictype/category-C: New file.
60123         * modules/unictype/category-Cc: New file.
60124         * modules/unictype/category-Cf: New file.
60125         * modules/unictype/category-Cs: New file.
60126         * modules/unictype/category-Co: New file.
60127         * modules/unictype/category-Cn: New file.
60128         * modules/unictype/category-or: New file.
60129         * modules/unictype/category-of: New file.
60130         * modules/unictype/category-test: New file.
60131         * modules/unictype/category-test-withtable: New file.
60132         * modules/unictype/category-byname: New file.
60133         * modules/unictype/category-none: New file.
60134         * modules/unictype/category-and: New file.
60135         * modules/unictype/category-and-not: New file.
60136         * modules/unictype/category-name: New file.
60137         * modules/unictype/combining-class: New file.
60138         * modules/unictype/category-all: New file.
60139         * modules/unictype/bidicategory-all: New file.
60140         * modules/unictype/bidicategory-byname: New file.
60141         * modules/unictype/bidicategory-name: New file.
60142         * modules/unictype/bidicategory-of: New file.
60143         * modules/unictype/bidicategory-test: New file.
60144         * modules/unictype/decimal-digit: New file.
60145         * modules/unictype/digit: New file.
60146         * modules/unictype/numeric: New file.
60147         * modules/unictype/mirror: New file.
60148         * modules/unictype/property-white-space: New file.
60149         * modules/unictype/property-alphabetic: New file.
60150         * modules/unictype/property-other-alphabetic: New file.
60151         * modules/unictype/property-not-a-character: New file.
60152         * modules/unictype/property-default-ignorable-code-point: New file.
60153         * modules/unictype/property-other-default-ignorable-code-point: New
60154         file.
60155         * modules/unictype/property-deprecated: New file.
60156         * modules/unictype/property-logical-order-exception: New file.
60157         * modules/unictype/property-variation-selector: New file.
60158         * modules/unictype/property-private-use: New file.
60159         * modules/unictype/property-unassigned-code-value: New file.
60160         * modules/unictype/property-uppercase: New file.
60161         * modules/unictype/property-other-uppercase: New file.
60162         * modules/unictype/property-lowercase: New file.
60163         * modules/unictype/property-other-lowercase: New file.
60164         * modules/unictype/property-titlecase: New file.
60165         * modules/unictype/property-soft-dotted: New file.
60166         * modules/unictype/property-id-start: New file.
60167         * modules/unictype/property-other-id-start: New file.
60168         * modules/unictype/property-id-continue: New file.
60169         * modules/unictype/property-other-id-continue: New file.
60170         * modules/unictype/property-xid-start: New file.
60171         * modules/unictype/property-xid-continue: New file.
60172         * modules/unictype/property-pattern-white-space: New file.
60173         * modules/unictype/property-pattern-syntax: New file.
60174         * modules/unictype/property-join-control: New file.
60175         * modules/unictype/property-grapheme-base: New file.
60176         * modules/unictype/property-grapheme-extend: New file.
60177         * modules/unictype/property-other-grapheme-extend: New file.
60178         * modules/unictype/property-grapheme-link: New file.
60179         * modules/unictype/property-bidi-control: New file.
60180         * modules/unictype/property-bidi-left-to-right: New file.
60181         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
60182         * modules/unictype/property-bidi-arabic-right-to-left: New file.
60183         * modules/unictype/property-bidi-european-digit: New file.
60184         * modules/unictype/property-bidi-eur-num-separator: New file.
60185         * modules/unictype/property-bidi-eur-num-terminator: New file.
60186         * modules/unictype/property-bidi-arabic-digit: New file.
60187         * modules/unictype/property-bidi-common-separator: New file.
60188         * modules/unictype/property-bidi-block-separator: New file.
60189         * modules/unictype/property-bidi-segment-separator: New file.
60190         * modules/unictype/property-bidi-whitespace: New file.
60191         * modules/unictype/property-bidi-non-spacing-mark: New file.
60192         * modules/unictype/property-bidi-boundary-neutral: New file.
60193         * modules/unictype/property-bidi-pdf: New file.
60194         * modules/unictype/property-bidi-embedding-or-override: New file.
60195         * modules/unictype/property-bidi-other-neutral: New file.
60196         * modules/unictype/property-hex-digit: New file.
60197         * modules/unictype/property-ascii-hex-digit: New file.
60198         * modules/unictype/property-ideographic: New file.
60199         * modules/unictype/property-unified-ideograph: New file.
60200         * modules/unictype/property-radical: New file.
60201         * modules/unictype/property-ids-binary-operator: New file.
60202         * modules/unictype/property-ids-trinary-operator: New file.
60203         * modules/unictype/property-zero-width: New file.
60204         * modules/unictype/property-space: New file.
60205         * modules/unictype/property-non-break: New file.
60206         * modules/unictype/property-iso-control: New file.
60207         * modules/unictype/property-format-control: New file.
60208         * modules/unictype/property-dash: New file.
60209         * modules/unictype/property-hyphen: New file.
60210         * modules/unictype/property-punctuation: New file.
60211         * modules/unictype/property-line-separator: New file.
60212         * modules/unictype/property-paragraph-separator: New file.
60213         * modules/unictype/property-quotation-mark: New file.
60214         * modules/unictype/property-sentence-terminal: New file.
60215         * modules/unictype/property-terminal-punctuation: New file.
60216         * modules/unictype/property-currency-symbol: New file.
60217         * modules/unictype/property-math: New file.
60218         * modules/unictype/property-other-math: New file.
60219         * modules/unictype/property-paired-punctuation: New file.
60220         * modules/unictype/property-left-of-pair: New file.
60221         * modules/unictype/property-combining: New file.
60222         * modules/unictype/property-composite: New file.
60223         * modules/unictype/property-decimal-digit: New file.
60224         * modules/unictype/property-numeric: New file.
60225         * modules/unictype/property-diacritic: New file.
60226         * modules/unictype/property-extender: New file.
60227         * modules/unictype/property-ignorable-control: New file.
60228         * modules/unictype/property-test: New file.
60229         * modules/unictype/property-byname: New file.
60230         * modules/unictype/property-all: New file.
60231         * modules/unictype/scripts: New file.
60232         * modules/unictype/scripts-all: New file.
60233         * modules/unictype/block-of: New file.
60234         * modules/unictype/block-test: New file.
60235         * modules/unictype/block-list: New file.
60236         * modules/unictype/block-all: New file.
60237         * modules/unictype/syntax-c-whitespace: New file.
60238         * modules/unictype/syntax-java-whitespace: New file.
60239         * modules/unictype/syntax-c-ident: New file.
60240         * modules/unictype/syntax-java-ident: New file.
60241         * modules/unictype/ctype-alnum: New file.
60242         * modules/unictype/ctype-alpha: New file.
60243         * modules/unictype/ctype-cntrl: New file.
60244         * modules/unictype/ctype-digit: New file.
60245         * modules/unictype/ctype-graph: New file.
60246         * modules/unictype/ctype-lower: New file.
60247         * modules/unictype/ctype-print: New file.
60248         * modules/unictype/ctype-punct: New file.
60249         * modules/unictype/ctype-space: New file.
60250         * modules/unictype/ctype-upper: New file.
60251         * modules/unictype/ctype-xdigit: New file.
60252         * modules/unictype/ctype-blank: New file.
60253         * lib/unictype/bidi_byname.c: New file.
60254         * lib/unictype/bidi_name.c: New file.
60255         * lib/unictype/bidi_of.c: New file.
60256         * lib/unictype/bidi_test.c: New file.
60257         * lib/unictype/bitmap.h: New file.
60258         * lib/unictype/block_test.c: New file.
60259         * lib/unictype/blocks.c: New file.
60260         * lib/unictype/categ_C.c: New file.
60261         * lib/unictype/categ_Cc.c: New file.
60262         * lib/unictype/categ_Cf.c: New file.
60263         * lib/unictype/categ_Cn.c: New file.
60264         * lib/unictype/categ_Co.c: New file.
60265         * lib/unictype/categ_Cs.c: New file.
60266         * lib/unictype/categ_L.c: New file.
60267         * lib/unictype/categ_Ll.c: New file.
60268         * lib/unictype/categ_Lm.c: New file.
60269         * lib/unictype/categ_Lo.c: New file.
60270         * lib/unictype/categ_Lt.c: New file.
60271         * lib/unictype/categ_Lu.c: New file.
60272         * lib/unictype/categ_M.c: New file.
60273         * lib/unictype/categ_Mc.c: New file.
60274         * lib/unictype/categ_Me.c: New file.
60275         * lib/unictype/categ_Mn.c: New file.
60276         * lib/unictype/categ_N.c: New file.
60277         * lib/unictype/categ_Nd.c: New file.
60278         * lib/unictype/categ_Nl.c: New file.
60279         * lib/unictype/categ_No.c: New file.
60280         * lib/unictype/categ_P.c: New file.
60281         * lib/unictype/categ_Pc.c: New file.
60282         * lib/unictype/categ_Pd.c: New file.
60283         * lib/unictype/categ_Pe.c: New file.
60284         * lib/unictype/categ_Pf.c: New file.
60285         * lib/unictype/categ_Pi.c: New file.
60286         * lib/unictype/categ_Po.c: New file.
60287         * lib/unictype/categ_Ps.c: New file.
60288         * lib/unictype/categ_S.c: New file.
60289         * lib/unictype/categ_Sc.c: New file.
60290         * lib/unictype/categ_Sk.c: New file.
60291         * lib/unictype/categ_Sm.c: New file.
60292         * lib/unictype/categ_So.c: New file.
60293         * lib/unictype/categ_Z.c: New file.
60294         * lib/unictype/categ_Zl.c: New file.
60295         * lib/unictype/categ_Zp.c: New file.
60296         * lib/unictype/categ_Zs.c: New file.
60297         * lib/unictype/categ_and.c: New file.
60298         * lib/unictype/categ_and_not.c: New file.
60299         * lib/unictype/categ_byname.c: New file.
60300         * lib/unictype/categ_name.c: New file.
60301         * lib/unictype/categ_none.c: New file.
60302         * lib/unictype/categ_of.c: New file.
60303         * lib/unictype/categ_or.c: New file.
60304         * lib/unictype/categ_test.c: New file.
60305         * lib/unictype/combining.c: New file.
60306         * lib/unictype/ctype_alnum.c: New file.
60307         * lib/unictype/ctype_alpha.c: New file.
60308         * lib/unictype/ctype_blank.c: New file.
60309         * lib/unictype/ctype_cntrl.c: New file.
60310         * lib/unictype/ctype_digit.c: New file.
60311         * lib/unictype/ctype_graph.c: New file.
60312         * lib/unictype/ctype_lower.c: New file.
60313         * lib/unictype/ctype_print.c: New file.
60314         * lib/unictype/ctype_punct.c: New file.
60315         * lib/unictype/ctype_space.c: New file.
60316         * lib/unictype/ctype_upper.c: New file.
60317         * lib/unictype/ctype_xdigit.c: New file.
60318         * lib/unictype/decdigit.c: New file.
60319         * lib/unictype/digit.c: New file.
60320         * lib/unictype/identsyntaxmap.h: New file.
60321         * lib/unictype/mirror.c: New file.
60322         * lib/unictype/numeric.c: New file.
60323         * lib/unictype/pr_alphabetic.c: New file.
60324         * lib/unictype/pr_ascii_hex_digit.c: New file.
60325         * lib/unictype/pr_bidi_arabic_digit.c: New file.
60326         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
60327         * lib/unictype/pr_bidi_block_separator.c: New file.
60328         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
60329         * lib/unictype/pr_bidi_common_separator.c: New file.
60330         * lib/unictype/pr_bidi_control.c: New file.
60331         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
60332         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
60333         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
60334         * lib/unictype/pr_bidi_european_digit.c: New file.
60335         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
60336         * lib/unictype/pr_bidi_left_to_right.c: New file.
60337         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
60338         * lib/unictype/pr_bidi_other_neutral.c: New file.
60339         * lib/unictype/pr_bidi_pdf.c: New file.
60340         * lib/unictype/pr_bidi_segment_separator.c: New file.
60341         * lib/unictype/pr_bidi_whitespace.c: New file.
60342         * lib/unictype/pr_byname.c: New file.
60343         * lib/unictype/pr_byname.gperf: New file.
60344         * lib/unictype/pr_combining.c: New file.
60345         * lib/unictype/pr_composite.c: New file.
60346         * lib/unictype/pr_currency_symbol.c: New file.
60347         * lib/unictype/pr_dash.c: New file.
60348         * lib/unictype/pr_decimal_digit.c: New file.
60349         * lib/unictype/pr_default_ignorable_code_point.c: New file.
60350         * lib/unictype/pr_deprecated.c: New file.
60351         * lib/unictype/pr_diacritic.c: New file.
60352         * lib/unictype/pr_extender.c: New file.
60353         * lib/unictype/pr_format_control.c: New file.
60354         * lib/unictype/pr_grapheme_base.c: New file.
60355         * lib/unictype/pr_grapheme_extend.c: New file.
60356         * lib/unictype/pr_grapheme_link.c: New file.
60357         * lib/unictype/pr_hex_digit.c: New file.
60358         * lib/unictype/pr_hyphen.c: New file.
60359         * lib/unictype/pr_id_continue.c: New file.
60360         * lib/unictype/pr_id_start.c: New file.
60361         * lib/unictype/pr_ideographic.c: New file.
60362         * lib/unictype/pr_ids_binary_operator.c: New file.
60363         * lib/unictype/pr_ids_trinary_operator.c: New file.
60364         * lib/unictype/pr_ignorable_control.c: New file.
60365         * lib/unictype/pr_iso_control.c: New file.
60366         * lib/unictype/pr_join_control.c: New file.
60367         * lib/unictype/pr_left_of_pair.c: New file.
60368         * lib/unictype/pr_line_separator.c: New file.
60369         * lib/unictype/pr_logical_order_exception.c: New file.
60370         * lib/unictype/pr_lowercase.c: New file.
60371         * lib/unictype/pr_math.c: New file.
60372         * lib/unictype/pr_non_break.c: New file.
60373         * lib/unictype/pr_not_a_character.c: New file.
60374         * lib/unictype/pr_numeric.c: New file.
60375         * lib/unictype/pr_other_alphabetic.c: New file.
60376         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
60377         * lib/unictype/pr_other_grapheme_extend.c: New file.
60378         * lib/unictype/pr_other_id_continue.c: New file.
60379         * lib/unictype/pr_other_id_start.c: New file.
60380         * lib/unictype/pr_other_lowercase.c: New file.
60381         * lib/unictype/pr_other_math.c: New file.
60382         * lib/unictype/pr_other_uppercase.c: New file.
60383         * lib/unictype/pr_paired_punctuation.c: New file.
60384         * lib/unictype/pr_paragraph_separator.c: New file.
60385         * lib/unictype/pr_pattern_syntax.c: New file.
60386         * lib/unictype/pr_pattern_white_space.c: New file.
60387         * lib/unictype/pr_private_use.c: New file.
60388         * lib/unictype/pr_punctuation.c: New file.
60389         * lib/unictype/pr_quotation_mark.c: New file.
60390         * lib/unictype/pr_radical.c: New file.
60391         * lib/unictype/pr_sentence_terminal.c: New file.
60392         * lib/unictype/pr_soft_dotted.c: New file.
60393         * lib/unictype/pr_space.c: New file.
60394         * lib/unictype/pr_terminal_punctuation.c: New file.
60395         * lib/unictype/pr_test.c: New file.
60396         * lib/unictype/pr_titlecase.c: New file.
60397         * lib/unictype/pr_unassigned_code_value.c: New file.
60398         * lib/unictype/pr_unified_ideograph.c: New file.
60399         * lib/unictype/pr_uppercase.c: New file.
60400         * lib/unictype/pr_variation_selector.c: New file.
60401         * lib/unictype/pr_white_space.c: New file.
60402         * lib/unictype/pr_xid_continue.c: New file.
60403         * lib/unictype/pr_xid_start.c: New file.
60404         * lib/unictype/pr_zero_width.c: New file.
60405         * lib/unictype/scripts.c: New file.
60406         * lib/unictype/sy_c_ident.c: New file.
60407         * lib/unictype/sy_c_whitespace.c: New file.
60408         * lib/unictype/sy_java_ident.c: New file.
60409         * lib/unictype/sy_java_whitespace.c: New file.
60410
60411         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
60412         Unicode 5.0.0.
60413         * lib/unictype/blocks.h: Likewise.
60414         * lib/unictype/categ_C.h: Likewise.
60415         * lib/unictype/categ_Cc.h: Likewise.
60416         * lib/unictype/categ_Cf.h: Likewise.
60417         * lib/unictype/categ_Cn.h: Likewise.
60418         * lib/unictype/categ_Co.h: Likewise.
60419         * lib/unictype/categ_Cs.h: Likewise.
60420         * lib/unictype/categ_L.h: Likewise.
60421         * lib/unictype/categ_Ll.h: Likewise.
60422         * lib/unictype/categ_Lm.h: Likewise.
60423         * lib/unictype/categ_Lo.h: Likewise.
60424         * lib/unictype/categ_Lt.h: Likewise.
60425         * lib/unictype/categ_Lu.h: Likewise.
60426         * lib/unictype/categ_M.h: Likewise.
60427         * lib/unictype/categ_Mc.h: Likewise.
60428         * lib/unictype/categ_Me.h: Likewise.
60429         * lib/unictype/categ_Mn.h: Likewise.
60430         * lib/unictype/categ_N.h: Likewise.
60431         * lib/unictype/categ_Nd.h: Likewise.
60432         * lib/unictype/categ_Nl.h: Likewise.
60433         * lib/unictype/categ_No.h: Likewise.
60434         * lib/unictype/categ_P.h: Likewise.
60435         * lib/unictype/categ_Pc.h: Likewise.
60436         * lib/unictype/categ_Pd.h: Likewise.
60437         * lib/unictype/categ_Pe.h: Likewise.
60438         * lib/unictype/categ_Pf.h: Likewise.
60439         * lib/unictype/categ_Pi.h: Likewise.
60440         * lib/unictype/categ_Po.h: Likewise.
60441         * lib/unictype/categ_Ps.h: Likewise.
60442         * lib/unictype/categ_S.h: Likewise.
60443         * lib/unictype/categ_Sc.h: Likewise.
60444         * lib/unictype/categ_Sk.h: Likewise.
60445         * lib/unictype/categ_Sm.h: Likewise.
60446         * lib/unictype/categ_So.h: Likewise.
60447         * lib/unictype/categ_Z.h: Likewise.
60448         * lib/unictype/categ_Zl.h: Likewise.
60449         * lib/unictype/categ_Zp.h: Likewise.
60450         * lib/unictype/categ_Zs.h: Likewise.
60451         * lib/unictype/categ_of.h: Likewise.
60452         * lib/unictype/combining.h: Likewise.
60453         * lib/unictype/ctype_alnum.h: Likewise.
60454         * lib/unictype/ctype_alpha.h: Likewise.
60455         * lib/unictype/ctype_blank.h: Likewise.
60456         * lib/unictype/ctype_cntrl.h: Likewise.
60457         * lib/unictype/ctype_digit.h: Likewise.
60458         * lib/unictype/ctype_graph.h: Likewise.
60459         * lib/unictype/ctype_lower.h: Likewise.
60460         * lib/unictype/ctype_print.h: Likewise.
60461         * lib/unictype/ctype_punct.h: Likewise.
60462         * lib/unictype/ctype_space.h: Likewise.
60463         * lib/unictype/ctype_upper.h: Likewise.
60464         * lib/unictype/ctype_xdigit.h: Likewise.
60465         * lib/unictype/decdigit.h: Likewise.
60466         * lib/unictype/digit.h: Likewise.
60467         * lib/unictype/mirror.h: Likewise.
60468         * lib/unictype/numeric.h: Likewise.
60469         * lib/unictype/pr_alphabetic.h: Likewise.
60470         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
60471         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
60472         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
60473         * lib/unictype/pr_bidi_block_separator.h: Likewise.
60474         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
60475         * lib/unictype/pr_bidi_common_separator.h: Likewise.
60476         * lib/unictype/pr_bidi_control.h: Likewise.
60477         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
60478         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
60479         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
60480         * lib/unictype/pr_bidi_european_digit.h: Likewise.
60481         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
60482         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
60483         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
60484         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
60485         * lib/unictype/pr_bidi_pdf.h: Likewise.
60486         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
60487         * lib/unictype/pr_bidi_whitespace.h: Likewise.
60488         * lib/unictype/pr_combining.h: Likewise.
60489         * lib/unictype/pr_composite.h: Likewise.
60490         * lib/unictype/pr_currency_symbol.h: Likewise.
60491         * lib/unictype/pr_dash.h: Likewise.
60492         * lib/unictype/pr_decimal_digit.h: Likewise.
60493         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
60494         * lib/unictype/pr_deprecated.h: Likewise.
60495         * lib/unictype/pr_diacritic.h: Likewise.
60496         * lib/unictype/pr_extender.h: Likewise.
60497         * lib/unictype/pr_format_control.h: Likewise.
60498         * lib/unictype/pr_grapheme_base.h: Likewise.
60499         * lib/unictype/pr_grapheme_extend.h: Likewise.
60500         * lib/unictype/pr_grapheme_link.h: Likewise.
60501         * lib/unictype/pr_hex_digit.h: Likewise.
60502         * lib/unictype/pr_hyphen.h: Likewise.
60503         * lib/unictype/pr_id_continue.h: Likewise.
60504         * lib/unictype/pr_id_start.h: Likewise.
60505         * lib/unictype/pr_ideographic.h: Likewise.
60506         * lib/unictype/pr_ids_binary_operator.h: Likewise.
60507         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
60508         * lib/unictype/pr_ignorable_control.h: Likewise.
60509         * lib/unictype/pr_iso_control.h: Likewise.
60510         * lib/unictype/pr_join_control.h: Likewise.
60511         * lib/unictype/pr_left_of_pair.h: Likewise.
60512         * lib/unictype/pr_line_separator.h: Likewise.
60513         * lib/unictype/pr_logical_order_exception.h: Likewise.
60514         * lib/unictype/pr_lowercase.h: Likewise.
60515         * lib/unictype/pr_math.h: Likewise.
60516         * lib/unictype/pr_non_break.h: Likewise.
60517         * lib/unictype/pr_not_a_character.h: Likewise.
60518         * lib/unictype/pr_numeric.h: Likewise.
60519         * lib/unictype/pr_other_alphabetic.h: Likewise.
60520         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
60521         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
60522         * lib/unictype/pr_other_id_continue.h: Likewise.
60523         * lib/unictype/pr_other_id_start.h: Likewise.
60524         * lib/unictype/pr_other_lowercase.h: Likewise.
60525         * lib/unictype/pr_other_math.h: Likewise.
60526         * lib/unictype/pr_other_uppercase.h: Likewise.
60527         * lib/unictype/pr_paired_punctuation.h: Likewise.
60528         * lib/unictype/pr_paragraph_separator.h: Likewise.
60529         * lib/unictype/pr_pattern_syntax.h: Likewise.
60530         * lib/unictype/pr_pattern_white_space.h: Likewise.
60531         * lib/unictype/pr_private_use.h: Likewise.
60532         * lib/unictype/pr_punctuation.h: Likewise.
60533         * lib/unictype/pr_quotation_mark.h: Likewise.
60534         * lib/unictype/pr_radical.h: Likewise.
60535         * lib/unictype/pr_sentence_terminal.h: Likewise.
60536         * lib/unictype/pr_soft_dotted.h: Likewise.
60537         * lib/unictype/pr_space.h: Likewise.
60538         * lib/unictype/pr_terminal_punctuation.h: Likewise.
60539         * lib/unictype/pr_titlecase.h: Likewise.
60540         * lib/unictype/pr_unassigned_code_value.h: Likewise.
60541         * lib/unictype/pr_unified_ideograph.h: Likewise.
60542         * lib/unictype/pr_uppercase.h: Likewise.
60543         * lib/unictype/pr_variation_selector.h: Likewise.
60544         * lib/unictype/pr_white_space.h: Likewise.
60545         * lib/unictype/pr_xid_continue.h: Likewise.
60546         * lib/unictype/pr_xid_start.h: Likewise.
60547         * lib/unictype/pr_zero_width.h: Likewise.
60548         * lib/unictype/scripts.h: Likewise.
60549         * lib/unictype/scripts_byname.gperf: Likewise.
60550         * lib/unictype/sy_c_ident.h: Likewise.
60551         * lib/unictype/sy_c_whitespace.h: Likewise.
60552         * lib/unictype/sy_java_ident.h: Likewise.
60553         * lib/unictype/sy_java_whitespace.h: Likewise.
60554
60555         * lib/unictype/Makefile: New file.
60556         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
60557         glibc.
60558         * lib/unictype/3level.h: New file, copied from glibc.
60559         * lib/unictype/3levelbit.h: New file.
60560
60561 2007-11-11  Bruno Haible  <bruno@clisp.org>
60562
60563         * modules/gperf: New file.
60564         * modules/iconv_open (Depends-on): Add it.
60565         (Makefile.am): Remove the GPERF definition.
60566
60567 2007-11-11  Bruno Haible  <bruno@clisp.org>
60568
60569         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
60570         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
60571
60572 2007-11-11  Bruno Haible  <bruno@clisp.org>
60573
60574         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
60575         (usage): Remove function.
60576
60577 2007-11-11  Bruno Haible  <bruno@clisp.org>
60578
60579         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
60580         gl_FUNC_CEILF_LIBS.
60581         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
60582         gl_FUNC_CEIL_LIBS.
60583         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
60584         gl_FUNC_CEILL_LIBS.
60585         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
60586         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
60587         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
60588
60589 2007-11-11  Bruno Haible  <bruno@clisp.org>
60590
60591         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
60592         roundf were declared but do not exist on functions.
60593         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
60594         roundl were declared but do not exist on functions.
60595         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
60596         HAVE_FLOORL_AND_CEILL, respectively.
60597         Needed for Sun C on Solaris 10.
60598
60599 2007-11-11  Bruno Haible  <bruno@clisp.org>
60600
60601         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
60602         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
60603         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
60604         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
60605         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
60606         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
60607         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
60608         HAVE_DECL_ROUNDF.
60609         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
60610         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
60611         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
60612         of HAVE_DECL_ROUND*.
60613         * modules/math (Makefile.am): Update.
60614
60615 2007-11-10  Bruno Haible  <bruno@clisp.org>
60616
60617         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
60618         ptrdiff_t as m4/intl.m4.
60619
60620 2007-11-10  Jim Meyering  <meyering@redhat.com>
60621
60622         Avoid link failure for the argmatch test.
60623         * tests/test-argmatch.c (usage): Define function to avoid a link
60624         failure: argmatch_die requires a usage function.
60625
60626 2007-11-09  Bruno Haible  <bruno@clisp.org>
60627
60628         * doc/functions/snprintf.texi: Mention BeOS deficiency.
60629         * doc/functions/vsnprintf.texi: Likewise.
60630         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
60631         with a size argument < 2.
60632
60633 2007-11-09  Bruno Haible  <bruno@clisp.org>
60634
60635         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
60636         buffer. Fixes an inefficiency introduced on 2007-11-03.
60637
60638 2007-11-09  Bruno Haible  <bruno@clisp.org>
60639
60640         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
60641         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
60642
60643 2007-11-08  Jim Meyering  <meyering@redhat.com>
60644
60645         Change cache variable name prefix "jm_" to "gl_" everywhere.
60646         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
60647         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
60648         * m4/uptime.m4: s/gl_/jm_/
60649
60650 2007-11-07  Bruno Haible  <bruno@clisp.org>
60651
60652         Update to GNU gettext 0.17.
60653         * m4/intl.m4: Update to GNU gettext 0.17.
60654         * m4/po.m4: Likewise.
60655         * modules/gettext (Files): Remove m4/ulonglong.m4.
60656         (configure.ac): Require gettext infrastructure from version 0.17.
60657
60658 2007-11-06  Bruno Haible  <bruno@clisp.org>
60659
60660         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
60661         symbolic values are not defined in a public header.
60662         * lib/freadable.c (freadable) [QNX]: Likewise.
60663         * lib/freadahead.c (freadahead) [QNX]: Likewise.
60664         * lib/freading.c (freading) [QNX]: Likewise.
60665         * lib/fseterr.c (fseterr) [QNX]: Likewise.
60666         * lib/fwritable.c (fwritable) [QNX]: Likewise.
60667         * lib/fwriting.c (fwriting) [QNX]: Likewise.
60668         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
60669         Reported by Alain Magloire.
60670
60671         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
60672
60673 2007-11-05  Bruno Haible  <bruno@clisp.org>
60674
60675         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
60676         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
60677         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
60678         Reported by Eric Blake.
60679
60680 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60681             Bruno Haible  <bruno@clisp.org>
60682
60683         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
60684         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
60685         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
60686         (malloc): Undefine also before including <stdlib.h>.
60687         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
60688         Needed on OSF/1 4.0.
60689
60690 2007-11-05  Jim Meyering  <meyering@redhat.com>
60691
60692         git-version-gen: sync from coreutils.
60693         * build-aux/git-version-gen: Add comments.
60694         Change the first '-' to '.' in the snapshot version string,
60695         e.g., 6.9-377-08144 -> 6.9.377-08144
60696         Remove first parameter.
60697         Don't declare a version "-dirty" merely because a time
60698         stamp has changed.
60699
60700 2007-11-04  Bruno Haible  <bruno@clisp.org>
60701
60702         * lib/lock.h: Protect all macro definitions containing an 'if'
60703         statement through a "do { ... } while (0)".
60704         * lib/tls.h: Likewise.
60705
60706 2007-11-04  Bruno Haible  <bruno@clisp.org>
60707
60708         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
60709
60710 2007-11-04  Bruno Haible  <bruno@clisp.org>
60711
60712         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
60713         * modules/fprintf-posix (Depends-on): Add nocrash.
60714         * modules/snprintf-posix (Depends-on): Likewise.
60715         * modules/sprintf-posix (Depends-on): Likewise.
60716         * modules/vasnprintf-posix (Depends-on): Likewise.
60717         * modules/vasprintf-posix (Depends-on): Likewise.
60718         * modules/vfprintf-posix (Depends-on): Likewise.
60719         * modules/vsnprintf-posix (Depends-on): Likewise.
60720         * modules/vsprintf-posix (Depends-on): Likewise.
60721         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
60722         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
60723         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
60724         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
60725         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
60726         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
60727         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
60728
60729 2007-11-04  Bruno Haible  <bruno@clisp.org>
60730
60731         * modules/nocrash: New file.
60732         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
60733         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
60734
60735 2007-11-04  Bruno Haible  <bruno@clisp.org>
60736
60737         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
60738         precision handling.
60739         * tests/test-vasprintf-posix.c (test_function): Likewise.
60740         * tests/test-snprintf-posix.h (test_function): Likewise.
60741         * tests/test-sprintf-posix.h (test_function): Likewise.
60742
60743         Fix *printf behaviour for large precisions on mingw and BeOS.
60744         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
60745         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
60746         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
60747         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60748         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60749         gl_PRINTF_PRECISION and test its result. Invoke
60750         gl_PREREQ_VASNPRINTF_PRECISION.
60751         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60752         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60753         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60754         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60755         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60756         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60757         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60758         * doc/functions/fprintf.texi: Update.
60759         * doc/functions/printf.texi: Update.
60760         * doc/functions/snprintf.texi: Update.
60761         * doc/functions/sprintf.texi: Update.
60762         * doc/functions/vfprintf.texi: Update.
60763         * doc/functions/vprintf.texi: Update.
60764         * doc/functions/vsnprintf.texi: Update.
60765         * doc/functions/vsprintf.texi: Update.
60766
60767 2007-11-04  Bruno Haible  <bruno@clisp.org>
60768
60769         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
60770
60771 2007-11-04  Bruno Haible  <bruno@clisp.org>
60772
60773         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
60774         Reported by Sylvain Beucler <beuc@gnu.org>.
60775
60776 2007-11-03  Bruno Haible  <bruno@clisp.org>
60777
60778         * tests/test-fprintf-posix2.sh: New file.
60779         * tests/test-fprintf-posix2.c: New file.
60780         * modules/fprintf-posix-tests (Files): Add them.
60781         (TESTS): Add test-fprintf-posix2.sh.
60782         (configure.ac): Check for getrlimit and setrlimit.
60783         (check_PROGRAMS): Add test-fprintf-posix2.
60784
60785         * tests/test-printf-posix2.sh: New file.
60786         * tests/test-printf-posix2.c: New file.
60787         * modules/printf-posix-tests (Files): Add them.
60788         (TESTS): Add test-printf-posix2.sh.
60789         (configure.ac): Check for getrlimit and setrlimit.
60790         (check_PROGRAMS): Add test-printf-posix2.
60791
60792         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
60793         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
60794         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
60795         (decode_double): New function, copied from decode_long_double.
60796         (scale10_round_decimal_decoded): New function, extracted from
60797         scale10_round_decimal_long_double.
60798         (scale10_round_decimal_long_double): Use it.
60799         (scale10_round_decimal_double): New function.
60800         (floorlog10): New function.
60801         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
60802         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
60803         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60804         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60805         gl_PRINTF_ENOMEM and test its result. Invoke
60806         gl_PREREQ_VASNPRINTF_ENOMEM.
60807         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60808         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60809         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60810         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60811         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60812         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60813         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60814         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
60815         * modules/snprintf-posix (Depends-on): Likewise.
60816         * modules/sprintf-posix (Depends-on): Likewise.
60817         * modules/vasnprintf-posix (Depends-on): Likewise.
60818         * modules/vasprintf-posix (Depends-on): Likewise.
60819         * modules/vfprintf-posix (Depends-on): Likewise.
60820         * modules/vsnprintf-posix (Depends-on): Likewise.
60821         * modules/vsprintf-posix (Depends-on): Likewise.
60822         * doc/functions/fprintf.texi: Update.
60823         * doc/functions/printf.texi: Update.
60824         * doc/functions/snprintf.texi: Update.
60825         * doc/functions/sprintf.texi: Update.
60826         * doc/functions/vfprintf.texi: Update.
60827         * doc/functions/vprintf.texi: Update.
60828         * doc/functions/vsnprintf.texi: Update.
60829         * doc/functions/vsprintf.texi: Update.
60830
60831 2007-11-03  Bruno Haible  <bruno@clisp.org>
60832
60833         * modules/frexp-nolibm-tests: New file.
60834
60835         * modules/frexp-nolibm: New file.
60836         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
60837
60838 2007-11-03  Bruno Haible  <bruno@clisp.org>
60839
60840         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
60841         value is C99 compliant.
60842         Needed for OSF/1 5.1.
60843
60844 2007-11-03  Bruno Haible  <bruno@clisp.org>
60845
60846         Fix out-of-memory handling of vasnprintf.
60847         * lib/printf-parse.c: Include <errno.h>.
60848         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
60849         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
60850         is already set.
60851
60852 2007-11-02  Eric Blake  <ebb9@byu.net>
60853
60854         Fix tests on cygwin.
60855         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
60856
60857 2007-11-01  Bruno Haible  <bruno@clisp.org>
60858
60859         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
60860         warning.
60861         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
60862         needed for POSIX compatibility.
60863
60864 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60865
60866         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
60867         for compatibility with GNU.
60868
60869 2007-11-01  Bruno Haible  <bruno@clisp.org>
60870
60871         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
60872         (putenv): Renamed from rpl_putenv. Change argument type from
60873         'const char *' to 'char *'.
60874         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
60875         of defining putenv in config.h, just set REPLACE_PUTENV.
60876         * modules/putenv (Depends-on): Add stdlib.
60877         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60878         (Include): Use <stdlib.h>.
60879         * lib/stdlib.in.h (putenv): New declaration.
60880         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
60881         REPLACE_PUTENV.
60882         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
60883         REPLACE_PUTENV.
60884         Needed for MacOS X 10.5.0.
60885         Reported by Peter O'Gorman <peter@pogma.com>.
60886
60887 2007-11-01  Jim Meyering  <meyering@redhat.com>
60888
60889         Treat an empty date string exactly like "0".
60890         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
60891         if the remaining date string (to be parsed) is empty, use "0".
60892         Reported by Mischa Molhoek and discussed in this thread:
60893         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
60894
60895 2007-10-31  Bruno Haible  <bruno@clisp.org>
60896
60897         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
60898         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
60899         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
60900         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
60901         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
60902         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
60903
60904 2007-10-31  Bruno Haible  <bruno@clisp.org>
60905
60906         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
60907         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
60908         (AC_TYPE_LONG_LONG_INT): Use it.
60909         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
60910         it as well.
60911         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
60912         to m4/longlong.m4.
60913         * modules/stdint (Files): Remove m4/ulonglong.m4.
60914         * modules/strtoull (Files): Use m4/longlong.m4 instead of
60915         m4/ulonglong.m4.
60916         * modules/strtoumax (Files): Likewise.
60917
60918 2007-10-30  Bruno Haible  <bruno@clisp.org>
60919
60920         * modules/xvasprintf-posix: New file.
60921         Suggested by Eric Blake.
60922
60923 2007-10-30  Bruno Haible  <bruno@clisp.org>
60924
60925         * modules/xprintf-posix-tests: New file.
60926         * tests/test-xprintf-posix.sh: New file.
60927         * tests/test-xprintf-posix.c: New file.
60928         * tests/test-xfprintf-posix.c: New file.
60929
60930         * modules/xprintf-posix: New file.
60931
60932 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60933
60934         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
60935         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
60936         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
60937
60938 2007-10-29  Bruno Haible  <bruno@clisp.org>
60939
60940         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
60941         contain the special marker '_cv_'.
60942         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
60943         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
60944         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
60945         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
60946         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
60947         Reported by Ralf Wildenhues.
60948
60949 2007-10-29  Bruno Haible  <bruno@clisp.org>
60950
60951         * gnulib-tool (func_import): When --lgpl is not specified, set
60952         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
60953         GPLv3.
60954         Reported by Simon Josefsson.
60955
60956 2007-10-28  Bruno Haible  <bruno@clisp.org>
60957
60958         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
60959         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
60960         HAVE_DECL_ISFINITE.
60961         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
60962         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
60963         HAVE_DECL_ISFINITE.
60964
60965 2007-10-28  Bruno Haible  <bruno@clisp.org>
60966
60967         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
60968         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
60969
60970 2007-10-28  Bruno Haible  <bruno@clisp.org>
60971
60972         Fix link errors with Sun C 5.0 on Solaris 10.
60973         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
60974         function is declared but not present in the compiler's libm.
60975         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
60976         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
60977         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
60978         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
60979         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
60980         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
60981         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
60982         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
60983         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
60984         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
60985         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
60986         HAVE_DECL_FLOORL.
60987
60988 2007-10-28  Bruno Haible  <bruno@clisp.org>
60989
60990         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
60991         gl_FUNC_FLOORL. Cache the result.
60992         (gl_FUNC_FLOORL): Use it.
60993         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
60994         gl_FUNC_CEILL. Cache the result.
60995         (gl_FUNC_CEILL): Use it.
60996
60997         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
60998         gl_FUNC_FLOOR. Cache the result.
60999         (gl_FUNC_FLOOR): Use it.
61000         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
61001         gl_FUNC_CEIL. Cache the result.
61002         (gl_FUNC_CEIL): Use it.
61003
61004         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
61005         gl_FUNC_FLOORF. Cache the result.
61006         (gl_FUNC_FLOORF): Use it.
61007         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
61008         gl_FUNC_CEILF. Cache the result.
61009         (gl_FUNC_CEILF): Use it.
61010
61011 2007-10-28  Bruno Haible  <bruno@clisp.org>
61012
61013         * gnulib-tool: Allow specifying the LGPL version number through
61014         --lgpl=2 or --lgpl=3.
61015         (func_usage): Document --lgpl with argument.
61016         Handle --lgpl=... arguments.
61017         (func_import): Recognize also gl_LGPL calls with an argument. When
61018         --lgpl=2 is used and the module's license is just LGPL, report an
61019         error. Set sed_transform_lib_file according to the lgpl variable. In
61020         the generated files, use --lgpl or gl_LGPL invocations with argument,
61021         if necessary.
61022         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
61023         an LGPv2+ license.
61024         * doc/gnulib-tool.texi (Modified imports): Update explanation of
61025         gl_LGPL macro.
61026
61027 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61028             Bruno Haible  <bruno@clisp.org>
61029
61030         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
61031         (u16_uctomb_aux): Likewise.
61032         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
61033         !HAVE_INLINE.
61034         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
61035
61036 2007-10-28  Bruno Haible  <bruno@clisp.org>
61037
61038         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
61039         Invoke AM_GETTEXT_OPTION if it exists.
61040         * modules/vasprintf: Likewise.
61041         * modules/verror: Likewise.
61042         * modules/xprintf: Likewise.
61043         * modules/xvasprintf: Likewise.
61044
61045 2007-10-27  Ben Pfaff  <blp@gnu.org>
61046
61047         * lib/math.in.h: Define isfinite macro and prototypes for
61048         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
61049         implementations.
61050         * m4/math_h.m4: New substitutions for isfinite module.
61051         * lib/isfinite.c: New file.
61052         * m4/isfinite.m4: New file.
61053         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
61054         * modules/isfinite: New file.
61055         * modules/isfinite-tests: New file.
61056         * tests/tests-isfinite.c: New file.
61057         * doc/functions/isfinite.texi: Mention isfinite module.
61058         * MODULES.html.sh: Mention new module.
61059
61060 2007-10-27  Ben Pfaff  <blp@gnu.org>
61061
61062         Ralf Wildenhues reported that Tru64 4.0D declares the round
61063         functions but does not have definitions.
61064         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
61065         cannot be found in any library, set the output variable to
61066         "missing" instead of "".
61067         * m4/round.m4: Also use our substitute if we cannot find round in
61068         any library, even if it is declared.
61069         * m4/roundf.m4: Likewise for roundf.
61070         * m4/roundl.m4: Likewise for roundl.
61071         * lib/math.in.h: Undefine roundf, round, roundl before defining
61072         their replacements, to allow for hypothetical systems where these
61073         may be defined as macros but not available in libraries.
61074
61075 2007-10-27  Bruno Haible  <bruno@clisp.org>
61076
61077         * doc/gnulib.texi: Invoke @firstparagraphindent.
61078         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
61079         changes in gnulib.
61080         (Source changes): New section.
61081
61082 2007-10-26  Bruno Haible  <bruno@clisp.org>
61083
61084         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
61085         borrowed from autoconf.
61086
61087 2007-10-26  Bruno Haible  <bruno@clisp.org>
61088
61089         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
61090         strerror returned the empty string. Needed on HP-UX 11.00.
61091
61092 2007-10-24  Micah Cowan  <micah@cowan.name>
61093
61094         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
61095         * build-aux/bootstrap: Remove support for now-unnecessary option,
61096         --cvs-user, and envvars CVS_USER, CVS_RSH.
61097
61098 2007-10-24  Jim Meyering  <meyering@redhat.com>
61099
61100         Avoid diagnostics from sha1sum when there is no cached checksum.
61101         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
61102         if the po.s1 file hasn't been created yet.
61103
61104         * build-aux/bootstrap: Sync from coreutils:
61105         2007-10-24  Jim Meyering  <meyering@redhat.com>
61106         Get gnulib from the git repository, not from an obsolete cvs one.
61107         * build-aux/bootstrap: Suggestion from Micah Cowan.
61108         2007-10-04  Jim Meyering  <jim@meyering.net>
61109         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
61110         (update_po_files): Work also when there are no .po files in po/.
61111
61112 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61113
61114         * README: Append ".git" to git and cg examples.
61115         Problem reported by Benoit Sigoure.
61116
61117 2007-10-23  Micah Cowan  <micah@cowan.name>
61118
61119         * users.txt: Add wget.
61120
61121 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61122
61123         Fix linking of some unistdio tests on FreeBSD.
61124         * modules/unistdio/u16-vsnprintf-tests
61125         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
61126         * modules/unistdio/u16-vsprintf-tests
61127         (test_u16_vsnprintf1_LDADD): Likewise.
61128         * modules/unistdio/u32-vsnprintf-tests
61129         (test_u32_vsnprintf1_LDADD): Likewise.
61130         * modules/unistdio/u32-vsprintf-tests
61131         (test_u32_vsprintf1_LDADD): Likewise.
61132         * modules/unistdio/u8-vsnprintf-tests
61133         (test_u8_vsnprintf1_LDADD): Likewise.
61134         * modules/unistdio/u8-vsprintf-tests
61135         (test_u8_vsprintf1_LDADD): Likewise.
61136         * modules/unistdio/ulc-vsnprintf-tests
61137         (test_ulc_vsnprintf1_LDADD): Likewise.
61138         * modules/unistdio/ulc-vsprintf-tests
61139         (test_ulc_vsprintf1_LDADD): Likewise.
61140
61141         Fix linking of some uniconv tests on FreeBSD.
61142         * modules/uniconv/u16-conv-from-enc-tests
61143         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
61144         * modules/uniconv/u16-conv-to-enc-tests
61145         (test_u16_conv_to_enc_LDADD): Likewise.
61146         * modules/uniconv/u16-strconv-from-enc-tests
61147         (test_u16_strconv_from_enc_LDADD): Likewise.
61148         * modules/uniconv/u16-strconv-to-enc-tests
61149         (test_u16_strconv_to_enc_LDADD): Likewise.
61150         * modules/uniconv/u32-conv-from-enc-tests
61151         (test_u32_conv_from_enc_LDADD): Likewise.
61152         * modules/uniconv/u32-conv-to-enc-tests
61153         (test_u32_conv_to_enc_LDADD): Likewise.
61154         * modules/uniconv/u32-strconv-from-enc-tests
61155         (test_u32_strconv_from_enc_LDADD): Likewise.
61156         * modules/uniconv/u32-strconv-to-enc-tests
61157         (test_u32_strconv_to_enc_LDADD): Likewise.
61158         * modules/uniconv/u8-conv-from-enc-tests
61159         (test_u8_conv_from_enc_LDADD): Likewise.
61160         * modules/uniconv/u8-conv-to-enc-tests
61161         (test_u8_conv_to_enc_LDADD): Likewise.
61162         * modules/uniconv/u8-strconv-from-enc-tests
61163         (test_u8_strconv_from_enc_LDADD): Likewise.
61164         * modules/uniconv/u8-strconv-to-enc-tests
61165         (test_u8_strconv_to_enc_LDADD): Likewise.
61166
61167 2007-10-22  Bruno Haible  <bruno@clisp.org>
61168
61169         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
61170         size.
61171
61172 2007-10-22  Eric Blake  <ebb9@byu.net>
61173
61174         Tweak x*printf documentation.
61175         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
61176         variable name and comments.
61177         Suggested by Bruno Haible.
61178
61179 2007-10-22  Bruno Haible  <bruno@clisp.org>
61180
61181         * lib/acl.c (copy_acl): Fix file name in comment.
61182
61183 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
61184
61185         Fix Tru64 problem with stdbool.h.
61186         * lib/stdbool.in.h (false, true):
61187         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
61188         Don't declare as an enum in this situation; it runs afoul of Tru64.
61189         Problem reported by Steven M. Schweda in
61190         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
61191
61192 2007-10-22  Eric Blake  <ebb9@byu.net>
61193
61194         Also wrap vf?printf.
61195         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
61196         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
61197         (xvprintf, xvfprintf): New functions.
61198
61199 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61200
61201         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
61202         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
61203
61204         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
61205         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
61206
61207 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
61208
61209         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
61210         by Bruno Haible.
61211
61212 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61213
61214         * lib/getloadavg.c
61215         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
61216         Undef `sys' after including sys/table.h, for Tru64 4.0D.
61217
61218         * tests/test-i-ring.c: Work for C89.
61219
61220 2007-10-22  Bruno Haible  <bruno@clisp.org>
61221
61222         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
61223         -1u, in preprocessor expression, so that we don't test for the bug
61224         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
61225         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
61226
61227 2007-10-22  Eric Blake  <ebb9@byu.net>
61228
61229         * tests/test-yesno.sh: Silence stderr during test.
61230
61231 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61232
61233         * modules/crypto/gc-camellia: New file.
61234
61235         * m4/gc-camellia.m4: New file.
61236
61237         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
61238
61239         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
61240
61241 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61242
61243         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
61244         --help to stdout.  Reported by sms@antinode.org (Steven
61245         M. Schweda).
61246
61247 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61248
61249         * users.txt: Fix link to libksba.
61250
61251 2007-10-21  Ben Pfaff  <blp@gnu.org>
61252
61253         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
61254         round.c roundf implementation that depends on floorf and ceilf to
61255         be tested unconditionally.
61256
61257 2007-10-21  Ben Pfaff  <blp@gnu.org>
61258
61259         * m4/check-libm-func.m4: Removed.
61260         * m4/check-math-lib.m4: New file.
61261         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
61262         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
61263         definition and lack of AC_LIBOBJ([roundf]).
61264         * m4/roundl.m4: Ditto, and similarly for roundl.
61265         * modules/round: Reference new m4 file.
61266         * modules/roundf: Ditto.
61267         * modules/roundl: Ditto.
61268         * tests/test-round2.c (main): Use ROUND instead of round.
61269         Bug report from Bruno Haible.
61270
61271 2007-10-21  Bruno Haible  <bruno@clisp.org>
61272
61273         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
61274         context.
61275
61276 2007-10-21  Bruno Haible  <bruno@clisp.org>
61277
61278         * tests/test-wcwidth.c (main): Allow negative result for some control
61279         characters.
61280
61281         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
61282         Needed on OSF/1 5.1.
61283
61284 2007-10-21  Bruno Haible  <bruno@clisp.org>
61285
61286         * tests/test-floorf1.c: Include isnanf.h.
61287         (main): Use isnanf() instead of isnan().
61288         * tests/test-ceilf1.c: Include isnanf.h.
61289         (main): Use isnanf() instead of isnan().
61290         * tests/test-truncf1.c: Include isnanf.h.
61291         (main): Use isnanf() instead of isnan().
61292         * tests/test-roundf1.c: Include isnanf.h.
61293         (main): Use isnanf() instead of isnan().
61294
61295 2007-10-21  Eric Blake  <ebb9@byu.net>
61296
61297         * users.txt: Update URL for m4.
61298
61299 2007-10-21  Bruno Haible  <bruno@clisp.org>
61300
61301         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
61302
61303 2007-10-21  Bruno Haible  <bruno@clisp.org>
61304
61305         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
61306         Git's management files if the CVS files are not present.
61307
61308 2007-10-20  Bruno Haible  <bruno@clisp.org>
61309
61310         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
61311         gcc-3.4.x.
61312
61313 2007-10-20  Ben Pfaff  <blp@gnu.org>
61314
61315         * lib/math.in.h: Declare round, roundf, roundl if we are providing
61316         implementations.
61317         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
61318         * lib/round.c: New file.
61319         * lib/roundf.c: New file.
61320         * lib/roundl.c: New file.
61321         * m4/round.m4: New file.
61322         * m4/roundf.m4: New file.
61323         * m4/roundl.m4: New file.
61324         * m4/check-libm-func-m4: New file.
61325         * modules/math: Replace round, roundf, roundl related @VARS@ in
61326         math.in.h.
61327         * modules/round: New file.
61328         * modules/round-tests: New file.
61329         * modules/roundf: New file.
61330         * modules/roundf-tests: New file.
61331         * modules/roundl: New file.
61332         * modules/roundl-tests: New file.
61333         * tests/test-round1.c: New file.
61334         * tests/test-round2.c: New file.
61335         * tests/test-roundf1.c: New file.
61336         * tests/test-roundf2.c: New file.
61337         * tests/test-roundl.c: New file.
61338         * doc/functions/round.texi: Mention round module.
61339         * doc/functions/roundf.texi: Mention roundf module.
61340         * doc/functions/roundl.texi: Mention roundl module.
61341         * MODULES.html.sh: Mention new modules.
61342         Thanks to Bruno Haible for suggestions.
61343
61344 2007-10-20  Jim Meyering  <meyering@redhat.com>
61345
61346         * lib/xprintf.c: Include <config.h> unconditionally.
61347
61348         Change xprintf's license to GPL.
61349         * modules/xprintf (License): s/LGPL/GPL/, since this module
61350         depends on modules (exit and exitfail) which are GPL.
61351         Suggestion from Bruno Haible.
61352
61353         xprintf fixes.
61354         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
61355         Use a clearer diagnostic.
61356         Patch from Bruno Haible.
61357
61358 2007-10-20  Bruno Haible  <bruno@clisp.org>
61359
61360         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
61361         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
61362         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61363
61364 2007-10-20  Bruno Haible  <bruno@clisp.org>
61365
61366         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
61367         precision in the comparison result > x - 1 or similar.
61368         * tests/test-ceilf2.c (correct_result_p): Likewise.
61369         * tests/test-truncf2.c (correct_result_p): Likewise.
61370         * tests/test-trunc2.c (correct_result_p): Likewise.
61371         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61372
61373 2007-10-20  Bruno Haible  <bruno@clisp.org>
61374
61375         * modules/ceil: New file.
61376         * m4/ceil.m4: New file.
61377         * doc/functions/ceil.texi: Mention the 'ceil' module.
61378
61379 2007-10-20  Bruno Haible  <bruno@clisp.org>
61380
61381         * modules/floor: New file.
61382         * m4/floor.m4: New file.
61383         * doc/functions/floor.texi: Mention the 'floor' module.
61384
61385 2007-10-20  Bruno Haible  <bruno@clisp.org>
61386
61387         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
61388         of %a.
61389         * modules/floorf-tests (Depends-on): Likewise.
61390         * modules/truncf-tests (Depends-on): Likewise.
61391         * modules/trunc-tests (Depends-on): Likewise.
61392         Reported by Ben Pfaff.
61393
61394 2007-10-19  Jim Meyering  <meyering@redhat.com>
61395
61396         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
61397         Don't bother testing specific errno values.  Just test ferror.
61398
61399         New module: xprintf
61400         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
61401
61402 2007-10-19  Bruno Haible  <bruno@clisp.org>
61403
61404         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
61405         syntax.
61406         * modules/javaexec (Makefile.am): Likewise.
61407         * modules/relocatable-prog (Makefile.am): Likewise.
61408         Suggested by Jim Meyering.
61409
61410 2007-10-18  Bruno Haible  <bruno@clisp.org>
61411
61412         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
61413         Reported by Jim Meyering.
61414
61415 2007-10-18  Eric Blake  <ebb9@byu.net>
61416
61417         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
61418
61419 2007-10-18  Bruno Haible  <bruno@clisp.org>
61420
61421         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
61422         the format string into writable memory. Needed in Fortify conditions.
61423
61424 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
61425             Bruno Haible  <bruno@clisp.org>
61426
61427         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
61428         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
61429         * modules/trim (Depends-on): Add mbchar.
61430         (configure.ac): Add gl_FUNC_MBRTOWC.
61431         (Makefile.am): Augment lib_SOURCES.
61432
61433 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
61434
61435         Modify glob.c to use fstatat and dirfd, to simplify it.
61436         Suggested by Eric Blake.
61437         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
61438         Don't include <stdbool.h>; not used.
61439         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
61440         (link_exists_p): Simplify implementation, since we can now assume
61441         dirfd and fstatat.
61442         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
61443
61444 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61445
61446         * gnulib-tool (func_get_dependencies): Fix sed script to
61447         match only tests.
61448
61449 2007-10-17  Bruno Haible  <bruno@clisp.org>
61450
61451         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
61452         allow locale names without encoding suffix.
61453         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
61454         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
61455
61456 2007-10-16  Bruno Haible  <bruno@clisp.org>
61457
61458         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
61459         * lib/getgroups.c (getgroups): Likewise.
61460         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
61461
61462 2007-10-16  Bruno Haible  <bruno@clisp.org>
61463
61464         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
61465         * modules/malloc-posix (License): Likewise.
61466         * modules/realloc-posix (License): Likewise.
61467         * modules/calloc-posix (License): Likewise.
61468         * modules/intprops (License): Change from GPL to LGPL, with
61469         Paul Eggert's approval.
61470
61471 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
61472
61473         Merge glibc changes into lib/glob.c.
61474
61475         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
61476         2007-10-15 04:59:03 UTC.  Here are the changes:
61477
61478         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
61479
61480         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
61481
61482         * lib/glob.c: Add some branch prediction throughout.
61483
61484         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
61485
61486         [BZ #5103]
61487         * lib/glob.c (glob): Recognize patterns starting \/.
61488
61489         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
61490
61491         [BZ #3996]
61492         * lib/glob.c (attribute_hidden): Define if not defined.
61493         (glob): Unescape dirname, filename or username when needed and not
61494         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
61495         is NULL.  Handle unescaped [ in pattern without closing ].
61496         Don't pass GLOB_CHECK down to recursive glob for directories.
61497         (__glob_pattern_type): New function.
61498         (__glob_pattern_p): Implement using __glob_pattern_type.
61499         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
61500         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
61501         Remove unreachable code.
61502
61503         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
61504
61505         * lib/glob.c (glob_in_dir): Add some comments and asserts to
61506         explain why there are no leaks.
61507
61508         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
61509
61510         [BZ #3253]
61511         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
61512         time, rather allocate increasingly bigger arrays of pointers, if
61513         possible with alloca, if too large with malloc.
61514
61515 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
61516
61517         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
61518         Problem reported by H.Merijn Brand in
61519         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
61520         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
61521         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
61522
61523 2007-10-15  Bruno Haible  <bruno@clisp.org>
61524
61525         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
61526         with explicit rpl_ prefix.
61527         * lib/fopen.c (fopen): Likewise.
61528         * lib/freopen.c (freopen): Likewise.
61529         * lib/iconv.c (iconv): Likewise.
61530         * lib/iconv_close.c (iconv_close): Likewise.
61531
61532 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61533
61534         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
61535
61536 2007-10-15  Bruno Haible  <bruno@clisp.org>
61537
61538         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
61539         <stddef.h> instead of <stdlib.h> since we only need NULL.
61540         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61541
61542 2007-10-15  Bruno Haible  <bruno@clisp.org>
61543
61544         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
61545         Replace paragraph talking about LIBOBJS.
61546         Reported by Colin Watson <cjwatson@debian.org>.
61547
61548 2007-10-15  Bruno Haible  <bruno@clisp.org>
61549
61550         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
61551         <stdlib.h> before using NULL.
61552
61553 2007-10-15  Simon Josefsson  <simon@josefsson.org>
61554
61555         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
61556         Reported by Albert Chin <china@thewrittenword.com>.
61557
61558 2007-10-14  Bruno Haible  <bruno@clisp.org>
61559
61560         * modules/iconv_open-utf-tests: New file.
61561         * tests/test-iconv-utf.c: New file.
61562
61563         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
61564         * modules/iconv_open-utf: New file.
61565         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
61566         (iconv, iconv_close): New declarations.
61567         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
61568         be defined.
61569         (iconv_open): Add special handling of conversion between UTF-8 and
61570         UTF-{16,32}{BE,LE}.
61571         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
61572         * lib/iconv_close.c: New file.
61573         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
61574         gl_FUNC_ICONV_OPEN.
61575         (gl_FUNC_ICONV_OPEN): Use it.
61576         (gl_FUNC_ICONV_OPEN_UTF): New macro.
61577         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
61578         and REPLACE_ICONV_UTF.
61579         * modules/iconv_open (Depends-on): Add c-strcase.
61580         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
61581         ICONV_CONST.
61582         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
61583
61584 2007-10-13  Albert Chin  <china@thewrittenword.com>
61585             Bruno Haible  <bruno@clisp.org>
61586
61587         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
61588         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
61589
61590 2007-10-13  Bruno Haible  <bruno@clisp.org>
61591
61592         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
61593         defined, use the ISO C99 inline semantics.
61594         * lib/argp.h (ARGP_EI): Likewise.
61595
61596 2007-10-13  Bruno Haible  <bruno@clisp.org>
61597
61598         Handle 'inline' change in gcc 4.3.0.
61599         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
61600         argp_fmtstream_write, argp_fmtstream_set_lmargin,
61601         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
61602         argp_fmtstream_point): Disable 'extern' declaration if the function
61603         definition is going to be provided inline.
61604         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
61605         semantics, not the ISO C99 inline semantics.
61606         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
61607         'extern' declaration if the function definition is going to be provided
61608         inline.
61609         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
61610         the GNU C inline semantics, not the ISO C99 inline semantics. With
61611         GCC 4.2, avoid a warning.
61612
61613 2007-10-13  Bruno Haible  <bruno@clisp.org>
61614
61615         * lib/freading.h (freading): Enable the use of __freading for
61616         glibc >= 2.7.
61617         * lib/freading.c (freading): Likewise.
61618
61619 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
61620
61621         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
61622         "warning: C99 inline functions are not supported; using GNU89".
61623
61624 2007-10-12  Bruno Haible  <bruno@clisp.org>
61625
61626         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
61627         of 2.
61628         * tests/test-ceilf2.c: New file.
61629         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
61630
61631         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
61632         * modules/ceilf-tests: Update.
61633
61634 2007-10-12  Bruno Haible  <bruno@clisp.org>
61635
61636         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
61637         of 2.
61638         * tests/test-floorf2.c: New file.
61639         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
61640
61641         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
61642         * modules/floorf-tests: Update.
61643
61644 2007-10-12  Bruno Haible  <bruno@clisp.org>
61645
61646         * tests/test-trunc2.c: New file.
61647         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
61648
61649         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
61650         * modules/trunc-tests: Update.
61651
61652 2007-10-12  Bruno Haible  <bruno@clisp.org>
61653
61654         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
61655         of 2.
61656         * tests/test-truncf2.c: New file.
61657         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
61658
61659         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
61660         * modules/truncf-tests: Update.
61661
61662 2007-10-11  Eric Blake  <ebb9@byu.net>
61663
61664         Don't claim strerror is broken on Interix.
61665         * doc/functions/strerror.texi (strerror): Known broken systems are
61666         now Solaris 8, and not Interix.
61667         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
61668         Interix on cross-compile.
61669         Reported by Martin Koeppe in
61670         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
61671
61672 2007-10-11  Bruno Haible  <bruno@clisp.org>
61673
61674         * modules/i-ring-tests: New file.
61675         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
61676         instead of assert.
61677
61678 2007-10-11  Bruno Haible  <bruno@clisp.org>
61679
61680         * modules/filenamecat-tests: New file.
61681         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
61682         * lib/filenamecat.c: Remove test code.
61683
61684 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
61685
61686         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
61687
61688         * lib/strerror.c: Include <string.h> always, to test interface,
61689         and to remove the need for the dummy.
61690         Include intprops.h to compute width instead of doing it ourselves
61691         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
61692         (strerror): Define it to return NULL if there's no system strerror.
61693         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
61694         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
61695         ancient pre-strerror Unix systems well any more.  Saying "unknown
61696         system error" is enough.
61697         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
61698         simpler strerror.c implementation.
61699         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
61700         Simplify the tests to reflect the simpler strerror implementation.
61701         * modules/strerror (Depends-on): Add intprops.
61702
61703 2007-10-09  Eric Blake  <ebb9@byu.net>
61704
61705         Silence test-fpending.
61706         * modules/fpending-tests (Files): Add wrapper script.
61707         * tests/test-fpending.sh: New file.
61708
61709 2007-10-09  Bruno Haible  <bruno@clisp.org>
61710
61711         * MODULES.html.sh (func_module): Don't create a hyperlink for
61712         function names like 'printf_frexp'.
61713         (Misc): Add crc, memxor.
61714         (Characteristics of floating types): New section.
61715         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
61716         isnanf-nolibm, signbit, trunc, truncf, truncl.
61717         (Enhancements for ISO C 99 functions): New subsection Input/output.
61718         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
61719         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
61720         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
61721         (Compatibility checks for POSIX:2001 functions): Add clock-time.
61722         (Enhancements for POSIX:2001 functions): Add chdir-long.
61723         (File system functions): Add areadlink, chdir-safer, read-file.
61724         Remove cycle-check.
61725         (File system as inode set): New section.
61726         (Date and time): Add gethrxtime.
61727         (Multithreading): Add openmp.
61728         (Internationalization functions): Add localename.
61729         (Unicode string functions): Add unistr/u*-mbsnlen.
61730         (Support for maintaining and releasing projects): Add git-version-gen.
61731         (Lone files): Remove directories.
61732
61733 2007-10-08  Ben Pfaff  <blp@gnu.org>
61734
61735         * lib/xmalloca.h: Fix typo in comment.
61736
61737 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
61738
61739         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
61740         when avoiding problems with integer overflow.  Use a portable test
61741         instead.
61742
61743 2007-10-08  Simon Josefsson  <simon@josefsson.org>
61744
61745         * modules/dummy (License): Change to LGPLv2+.
61746         * modules/float (License): Likewise
61747         * modules/realloc (License): Likewise
61748         * modules/stdlib (License): Likewise
61749
61750 2007-10-07  Bruno Haible  <bruno@clisp.org>
61751
61752         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
61753         * floor.c (TWO_MANT_DIG): Likewise.
61754         * ceil.c (TWO_MANT_DIG): Likewise.
61755         Reported by Ben Pfaff.
61756
61757 2007-10-07  Bruno Haible  <bruno@clisp.org>
61758
61759         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
61760         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
61761         * lib/frexp.c (FUNC): Likewise.
61762         * lib/printf-frexp.h (printf_frexp): Likewise.
61763         * lib/printf-frexpl.h (printf_frexpl): Likewise.
61764         * lib/printf-frexp.c (FUNC): Likewise.
61765         Suggested by Jim Meyering.
61766
61767 2007-10-07  Jim Meyering  <meyering@redhat.com>
61768
61769         Make xnanosleep's integer overflow test more robust.
61770         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
61771         so that gcc-4.3.0 doesn't optimize away this test for overflow.
61772
61773 2007-10-07  Bruno Haible  <bruno@clisp.org>
61774
61775         * NEWS: Mention the license change.
61776
61777         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
61778         abbreviations in the modules files.
61779
61780         Change copyright notice from GPLv2+ to GPLv3+.
61781         * README: Change copyright notice.
61782         * MODULES.html.sh: Likewise.
61783         * build-aux/bootstrap.conf: Likewise.
61784         * build-aux/config.libpath: Likewise.
61785         * build-aux/csharpcomp.sh.in: Likewise.
61786         * build-aux/csharpexec.sh.in: Likewise.
61787         * build-aux/install-reloc: Likewise.
61788         * build-aux/javacomp.sh.in: Likewise.
61789         * build-aux/javaexec.sh.in: Likewise.
61790         * build-aux/ldd.sh.in: Likewise.
61791         * build-aux/reloc-ldflags: Likewise.
61792         * build-aux/relocatable.sh.in: Likewise.
61793         * build-aux/x-to-1.in: Likewise.
61794         * check-module: Likewise.
61795         * config/srclistvars.sh: Likewise.
61796         * gnulib-tool: Likewise.
61797         * lib/acl-internal.h: Likewise.
61798         * lib/acl.c: Likewise.
61799         * lib/acl.h: Likewise.
61800         * lib/acl_entries.c: Likewise.
61801         * lib/areadlink-with-size.c: Likewise.
61802         * lib/areadlink.c: Likewise.
61803         * lib/areadlink.h: Likewise.
61804         * lib/argmatch.c: Likewise.
61805         * lib/argmatch.h: Likewise.
61806         * lib/argp-ba.c: Likewise.
61807         * lib/argp-eexst.c: Likewise.
61808         * lib/argp-fmtstream.c: Likewise.
61809         * lib/argp-fmtstream.h: Likewise.
61810         * lib/argp-fs-xinl.c: Likewise.
61811         * lib/argp-help.c: Likewise.
61812         * lib/argp-namefrob.h: Likewise.
61813         * lib/argp-parse.c: Likewise.
61814         * lib/argp-pin.c: Likewise.
61815         * lib/argp-pv.c: Likewise.
61816         * lib/argp-pvh.c: Likewise.
61817         * lib/argp-xinl.c: Likewise.
61818         * lib/argp.h: Likewise.
61819         * lib/at-func.c: Likewise.
61820         * lib/atanl.c: Likewise.
61821         * lib/backupfile.c: Likewise.
61822         * lib/backupfile.h: Likewise.
61823         * lib/basename.c: Likewise.
61824         * lib/binary-io.h: Likewise.
61825         * lib/byteswap.in.h: Likewise.
61826         * lib/c-stack.c: Likewise.
61827         * lib/c-stack.h: Likewise.
61828         * lib/c-strcasestr.c: Likewise.
61829         * lib/c-strcasestr.h: Likewise.
61830         * lib/c-strstr.c: Likewise.
61831         * lib/c-strstr.h: Likewise.
61832         * lib/c-strtod.c: Likewise.
61833         * lib/calloc.c: Likewise.
61834         * lib/canon-host.c: Likewise.
61835         * lib/canon-host.h: Likewise.
61836         * lib/canonicalize-lgpl.c: Likewise.
61837         * lib/canonicalize.c: Likewise.
61838         * lib/canonicalize.h: Likewise.
61839         * lib/ceil.c: Likewise.
61840         * lib/ceilf.c: Likewise.
61841         * lib/ceill.c: Likewise.
61842         * lib/chdir-long.c: Likewise.
61843         * lib/chdir-long.h: Likewise.
61844         * lib/chdir-safer.c: Likewise.
61845         * lib/chdir-safer.h: Likewise.
61846         * lib/chown.c: Likewise.
61847         * lib/classpath.c: Likewise.
61848         * lib/classpath.h: Likewise.
61849         * lib/clean-temp.c: Likewise.
61850         * lib/clean-temp.h: Likewise.
61851         * lib/cloexec.c: Likewise.
61852         * lib/close-stream.c: Likewise.
61853         * lib/closein.c: Likewise.
61854         * lib/closein.h: Likewise.
61855         * lib/closeout.c: Likewise.
61856         * lib/closeout.h: Likewise.
61857         * lib/concat-filename.c: Likewise.
61858         * lib/copy-file.c: Likewise.
61859         * lib/copy-file.h: Likewise.
61860         * lib/count-one-bits.h: Likewise.
61861         * lib/crc.c: Likewise.
61862         * lib/crc.h: Likewise.
61863         * lib/creat-safer.c: Likewise.
61864         * lib/csharpcomp.c: Likewise.
61865         * lib/csharpcomp.h: Likewise.
61866         * lib/csharpexec.c: Likewise.
61867         * lib/csharpexec.h: Likewise.
61868         * lib/cycle-check.c: Likewise.
61869         * lib/cycle-check.h: Likewise.
61870         * lib/diacrit.c: Likewise.
61871         * lib/diacrit.h: Likewise.
61872         * lib/diffseq.h: Likewise.
61873         * lib/dirchownmod.c: Likewise.
61874         * lib/dirent.in.h: Likewise.
61875         * lib/dirfd.c: Likewise.
61876         * lib/dirfd.h: Likewise.
61877         * lib/dirname.c: Likewise.
61878         * lib/dirname.h: Likewise.
61879         * lib/dummy.c: Likewise.
61880         * lib/dup-safer.c: Likewise.
61881         * lib/dup2.c: Likewise.
61882         * lib/eealloc.h: Likewise.
61883         * lib/error.c: Likewise.
61884         * lib/error.h: Likewise.
61885         * lib/euidaccess.c: Likewise.
61886         * lib/exclude.c: Likewise.
61887         * lib/exclude.h: Likewise.
61888         * lib/execute.c: Likewise.
61889         * lib/execute.h: Likewise.
61890         * lib/exitfail.c: Likewise.
61891         * lib/exitfail.h: Likewise.
61892         * lib/expl.c: Likewise.
61893         * lib/fatal-signal.c: Likewise.
61894         * lib/fatal-signal.h: Likewise.
61895         * lib/fbufmode.c: Likewise.
61896         * lib/fbufmode.h: Likewise.
61897         * lib/fchdir.c: Likewise.
61898         * lib/fchmodat.c: Likewise.
61899         * lib/fchownat.c: Likewise.
61900         * lib/fcntl--.h: Likewise.
61901         * lib/fcntl-safer.h: Likewise.
61902         * lib/fcntl.in.h: Likewise.
61903         * lib/fd-safer.c: Likewise.
61904         * lib/fflush.c: Likewise.
61905         * lib/file-has-acl.c: Likewise.
61906         * lib/file-set.c: Likewise.
61907         * lib/file-type.c: Likewise.
61908         * lib/file-type.h: Likewise.
61909         * lib/fileblocks.c: Likewise.
61910         * lib/filemode.c: Likewise.
61911         * lib/filemode.h: Likewise.
61912         * lib/filename.h: Likewise.
61913         * lib/filenamecat.c: Likewise.
61914         * lib/filenamecat.h: Likewise.
61915         * lib/findprog.c: Likewise.
61916         * lib/findprog.h: Likewise.
61917         * lib/float.in.h: Likewise.
61918         * lib/floor.c: Likewise.
61919         * lib/floorf.c: Likewise.
61920         * lib/floorl.c: Likewise.
61921         * lib/fopen-safer.c: Likewise.
61922         * lib/fopen.c: Likewise.
61923         * lib/fpending.c: Likewise.
61924         * lib/fpending.h: Likewise.
61925         * lib/fprintf.c: Likewise.
61926         * lib/fprintftime.h: Likewise.
61927         * lib/fpucw.h: Likewise.
61928         * lib/fpurge.c: Likewise.
61929         * lib/fpurge.h: Likewise.
61930         * lib/freadable.c: Likewise.
61931         * lib/freadable.h: Likewise.
61932         * lib/freadahead.c: Likewise.
61933         * lib/freadahead.h: Likewise.
61934         * lib/freading.c: Likewise.
61935         * lib/freading.h: Likewise.
61936         * lib/free.c: Likewise.
61937         * lib/freopen.c: Likewise.
61938         * lib/frexp.c: Likewise.
61939         * lib/frexpl.c: Likewise.
61940         * lib/fseek.c: Likewise.
61941         * lib/fseterr.c: Likewise.
61942         * lib/fseterr.h: Likewise.
61943         * lib/fstatat.c: Likewise.
61944         * lib/fstrcmp.c: Likewise.
61945         * lib/fstrcmp.h: Likewise.
61946         * lib/fsusage.c: Likewise.
61947         * lib/fsusage.h: Likewise.
61948         * lib/ftell.c: Likewise.
61949         * lib/ftello.c: Likewise.
61950         * lib/fts-cycle.c: Likewise.
61951         * lib/fts.c: Likewise.
61952         * lib/fts_.h: Likewise.
61953         * lib/full-read.c: Likewise.
61954         * lib/full-read.h: Likewise.
61955         * lib/full-write.c: Likewise.
61956         * lib/full-write.h: Likewise.
61957         * lib/fwritable.c: Likewise.
61958         * lib/fwritable.h: Likewise.
61959         * lib/fwriteerror.c: Likewise.
61960         * lib/fwriteerror.h: Likewise.
61961         * lib/fwriting.c: Likewise.
61962         * lib/fwriting.h: Likewise.
61963         * lib/gcd.c: Likewise.
61964         * lib/gcd.h: Likewise.
61965         * lib/getcwd.c: Likewise.
61966         * lib/getdate.h: Likewise.
61967         * lib/getdate.y: Likewise.
61968         * lib/getdomainname.c: Likewise.
61969         * lib/getdomainname.h: Likewise.
61970         * lib/getgroups.c: Likewise.
61971         * lib/gethostname.c: Likewise.
61972         * lib/gethrxtime.c: Likewise.
61973         * lib/gethrxtime.h: Likewise.
61974         * lib/getloadavg.c: Likewise.
61975         * lib/getndelim2.c: Likewise.
61976         * lib/getndelim2.h: Likewise.
61977         * lib/getnline.c: Likewise.
61978         * lib/getnline.h: Likewise.
61979         * lib/getopt.c: Likewise.
61980         * lib/getopt.in.h: Likewise.
61981         * lib/getopt1.c: Likewise.
61982         * lib/getopt_int.h: Likewise.
61983         * lib/getpagesize.h: Likewise.
61984         * lib/getsubopt.c: Likewise.
61985         * lib/gettime.c: Likewise.
61986         * lib/getugroups.c: Likewise.
61987         * lib/getugroups.h: Likewise.
61988         * lib/getusershell.c: Likewise.
61989         * lib/gl_anyavltree_list1.h: Likewise.
61990         * lib/gl_anyavltree_list2.h: Likewise.
61991         * lib/gl_anyhash_list1.h: Likewise.
61992         * lib/gl_anyhash_list2.h: Likewise.
61993         * lib/gl_anylinked_list1.h: Likewise.
61994         * lib/gl_anylinked_list2.h: Likewise.
61995         * lib/gl_anyrbtree_list1.h: Likewise.
61996         * lib/gl_anyrbtree_list2.h: Likewise.
61997         * lib/gl_anytree_list1.h: Likewise.
61998         * lib/gl_anytree_list2.h: Likewise.
61999         * lib/gl_anytree_oset.h: Likewise.
62000         * lib/gl_anytreehash_list1.h: Likewise.
62001         * lib/gl_anytreehash_list2.h: Likewise.
62002         * lib/gl_array_list.c: Likewise.
62003         * lib/gl_array_list.h: Likewise.
62004         * lib/gl_array_oset.c: Likewise.
62005         * lib/gl_array_oset.h: Likewise.
62006         * lib/gl_avltree_list.c: Likewise.
62007         * lib/gl_avltree_list.h: Likewise.
62008         * lib/gl_avltree_oset.c: Likewise.
62009         * lib/gl_avltree_oset.h: Likewise.
62010         * lib/gl_avltreehash_list.c: Likewise.
62011         * lib/gl_avltreehash_list.h: Likewise.
62012         * lib/gl_carray_list.c: Likewise.
62013         * lib/gl_carray_list.h: Likewise.
62014         * lib/gl_linked_list.c: Likewise.
62015         * lib/gl_linked_list.h: Likewise.
62016         * lib/gl_linkedhash_list.c: Likewise.
62017         * lib/gl_linkedhash_list.h: Likewise.
62018         * lib/gl_list.c: Likewise.
62019         * lib/gl_list.h: Likewise.
62020         * lib/gl_oset.c: Likewise.
62021         * lib/gl_oset.h: Likewise.
62022         * lib/gl_rbtree_list.c: Likewise.
62023         * lib/gl_rbtree_list.h: Likewise.
62024         * lib/gl_rbtree_oset.c: Likewise.
62025         * lib/gl_rbtree_oset.h: Likewise.
62026         * lib/gl_rbtreehash_list.c: Likewise.
62027         * lib/gl_rbtreehash_list.h: Likewise.
62028         * lib/gl_sublist.c: Likewise.
62029         * lib/gl_sublist.h: Likewise.
62030         * lib/group-member.c: Likewise.
62031         * lib/group-member.h: Likewise.
62032         * lib/hard-locale.c: Likewise.
62033         * lib/hard-locale.h: Likewise.
62034         * lib/hash-pjw.c: Likewise.
62035         * lib/hash-pjw.h: Likewise.
62036         * lib/hash-triple.c: Likewise.
62037         * lib/hash.c: Likewise.
62038         * lib/hash.h: Likewise.
62039         * lib/human.c: Likewise.
62040         * lib/human.h: Likewise.
62041         * lib/i-ring.c: Likewise.
62042         * lib/i-ring.h: Likewise.
62043         * lib/idcache.c: Likewise.
62044         * lib/imaxabs.c: Likewise.
62045         * lib/imaxdiv.c: Likewise.
62046         * lib/inet_pton.c: Likewise.
62047         * lib/inet_pton.h: Likewise.
62048         * lib/intprops.h: Likewise.
62049         * lib/inttostr.c: Likewise.
62050         * lib/inttostr.h: Likewise.
62051         * lib/inttypes.in.h: Likewise.
62052         * lib/isapipe.c: Likewise.
62053         * lib/isdir.c: Likewise.
62054         * lib/isnan.c: Likewise.
62055         * lib/isnan.h: Likewise.
62056         * lib/isnanf.c: Likewise.
62057         * lib/isnanf.h: Likewise.
62058         * lib/isnanl-nolibm.h: Likewise.
62059         * lib/isnanl.c: Likewise.
62060         * lib/isnanl.h: Likewise.
62061         * lib/javacomp.c: Likewise.
62062         * lib/javacomp.h: Likewise.
62063         * lib/javaexec.c: Likewise.
62064         * lib/javaexec.h: Likewise.
62065         * lib/javaversion.c: Likewise.
62066         * lib/javaversion.h: Likewise.
62067         * lib/javaversion.java: Likewise.
62068         * lib/lbrkprop.h: Likewise.
62069         * lib/lchmod.h: Likewise.
62070         * lib/lchown.c: Likewise.
62071         * lib/ldexpl.c: Likewise.
62072         * lib/linebreak.c: Likewise.
62073         * lib/linebreak.h: Likewise.
62074         * lib/linebuffer.c: Likewise.
62075         * lib/linebuffer.h: Likewise.
62076         * lib/locale.in.h: Likewise.
62077         * lib/logl.c: Likewise.
62078         * lib/long-options.c: Likewise.
62079         * lib/long-options.h: Likewise.
62080         * lib/lstat.c: Likewise.
62081         * lib/lstat.h: Likewise.
62082         * lib/math.in.h: Likewise.
62083         * lib/mbchar.c: Likewise.
62084         * lib/mbchar.h: Likewise.
62085         * lib/mbfile.h: Likewise.
62086         * lib/mbiter.h: Likewise.
62087         * lib/mbscasecmp.c: Likewise.
62088         * lib/mbscasestr.c: Likewise.
62089         * lib/mbschr.c: Likewise.
62090         * lib/mbscspn.c: Likewise.
62091         * lib/mbslen.c: Likewise.
62092         * lib/mbsncasecmp.c: Likewise.
62093         * lib/mbsnlen.c: Likewise.
62094         * lib/mbspbrk.c: Likewise.
62095         * lib/mbspcasecmp.c: Likewise.
62096         * lib/mbsrchr.c: Likewise.
62097         * lib/mbssep.c: Likewise.
62098         * lib/mbsspn.c: Likewise.
62099         * lib/mbsstr.c: Likewise.
62100         * lib/mbstok_r.c: Likewise.
62101         * lib/mbswidth.c: Likewise.
62102         * lib/mbswidth.h: Likewise.
62103         * lib/mbuiter.h: Likewise.
62104         * lib/memcasecmp.c: Likewise.
62105         * lib/memcasecmp.h: Likewise.
62106         * lib/memchr.c: Likewise.
62107         * lib/memcmp.c: Likewise.
62108         * lib/memcoll.c: Likewise.
62109         * lib/memcoll.h: Likewise.
62110         * lib/memcpy.c: Likewise.
62111         * lib/memrchr.c: Likewise.
62112         * lib/mkancesdirs.c: Likewise.
62113         * lib/mkdir-p.c: Likewise.
62114         * lib/mkdir-p.h: Likewise.
62115         * lib/mkdir.c: Likewise.
62116         * lib/mkdirat.c: Likewise.
62117         * lib/mkdtemp.c: Likewise.
62118         * lib/mkstemp-safer.c: Likewise.
62119         * lib/mkstemp.c: Likewise.
62120         * lib/modechange.c: Likewise.
62121         * lib/modechange.h: Likewise.
62122         * lib/mountlist.c: Likewise.
62123         * lib/mountlist.h: Likewise.
62124         * lib/mpsort.c: Likewise.
62125         * lib/nanosleep.c: Likewise.
62126         * lib/obstack.c: Likewise.
62127         * lib/obstack.h: Likewise.
62128         * lib/open-safer.c: Likewise.
62129         * lib/open.c: Likewise.
62130         * lib/openat-die.c: Likewise.
62131         * lib/openat-priv.h: Likewise.
62132         * lib/openat-proc.c: Likewise.
62133         * lib/openat.c: Likewise.
62134         * lib/openat.h: Likewise.
62135         * lib/pagealign_alloc.c: Likewise.
62136         * lib/pagealign_alloc.h: Likewise.
62137         * lib/physmem.c: Likewise.
62138         * lib/physmem.h: Likewise.
62139         * lib/pipe-safer.c: Likewise.
62140         * lib/pipe.c: Likewise.
62141         * lib/pipe.h: Likewise.
62142         * lib/posixtm.c: Likewise.
62143         * lib/posixtm.h: Likewise.
62144         * lib/posixver.c: Likewise.
62145         * lib/printf-frexp.c: Likewise.
62146         * lib/printf-frexp.h: Likewise.
62147         * lib/printf-frexpl.c: Likewise.
62148         * lib/printf-frexpl.h: Likewise.
62149         * lib/printf.c: Likewise.
62150         * lib/progname.c: Likewise.
62151         * lib/progname.h: Likewise.
62152         * lib/progreloc.c: Likewise.
62153         * lib/putenv.c: Likewise.
62154         * lib/quote.c: Likewise.
62155         * lib/quote.h: Likewise.
62156         * lib/quotearg.c: Likewise.
62157         * lib/quotearg.h: Likewise.
62158         * lib/raise.c: Likewise.
62159         * lib/readline.c: Likewise.
62160         * lib/readline.h: Likewise.
62161         * lib/readlink.c: Likewise.
62162         * lib/readtokens.c: Likewise.
62163         * lib/readtokens.h: Likewise.
62164         * lib/readtokens0.c: Likewise.
62165         * lib/readtokens0.h: Likewise.
62166         * lib/readutmp.c: Likewise.
62167         * lib/readutmp.h: Likewise.
62168         * lib/realloc.c: Likewise.
62169         * lib/relocwrapper.c: Likewise.
62170         * lib/rename-dest-slash.c: Likewise.
62171         * lib/rename.c: Likewise.
62172         * lib/rmdir.c: Likewise.
62173         * lib/rpmatch.c: Likewise.
62174         * lib/safe-read.c: Likewise.
62175         * lib/safe-read.h: Likewise.
62176         * lib/safe-write.c: Likewise.
62177         * lib/safe-write.h: Likewise.
62178         * lib/same-inode.h: Likewise.
62179         * lib/same.c: Likewise.
62180         * lib/same.h: Likewise.
62181         * lib/save-cwd.c: Likewise.
62182         * lib/save-cwd.h: Likewise.
62183         * lib/savedir.c: Likewise.
62184         * lib/savedir.h: Likewise.
62185         * lib/savewd.c: Likewise.
62186         * lib/savewd.h: Likewise.
62187         * lib/search.in.h: Likewise.
62188         * lib/setenv.c: Likewise.
62189         * lib/setenv.h: Likewise.
62190         * lib/settime.c: Likewise.
62191         * lib/sh-quote.c: Likewise.
62192         * lib/sh-quote.h: Likewise.
62193         * lib/sig2str.c: Likewise.
62194         * lib/sig2str.h: Likewise.
62195         * lib/signal.in.h: Likewise.
62196         * lib/signbitd.c: Likewise.
62197         * lib/signbitf.c: Likewise.
62198         * lib/signbitl.c: Likewise.
62199         * lib/sigprocmask.c: Likewise.
62200         * lib/sincosl.c: Likewise.
62201         * lib/sleep.c: Likewise.
62202         * lib/sprintf.c: Likewise.
62203         * lib/sqrtl.c: Likewise.
62204         * lib/stat-time.h: Likewise.
62205         * lib/stdio--.h: Likewise.
62206         * lib/stdio-safer.h: Likewise.
62207         * lib/stdlib--.h: Likewise.
62208         * lib/stdlib-safer.h: Likewise.
62209         * lib/stdlib.in.h: Likewise.
62210         * lib/stpcpy.c: Likewise.
62211         * lib/stpncpy.c: Likewise.
62212         * lib/strchrnul.c: Likewise.
62213         * lib/strcspn.c: Likewise.
62214         * lib/strerror.c: Likewise.
62215         * lib/strftime.c: Likewise.
62216         * lib/strftime.h: Likewise.
62217         * lib/striconveh.c: Likewise.
62218         * lib/striconveh.h: Likewise.
62219         * lib/striconveha.c: Likewise.
62220         * lib/striconveha.h: Likewise.
62221         * lib/stripslash.c: Likewise.
62222         * lib/strnlen1.c: Likewise.
62223         * lib/strnlen1.h: Likewise.
62224         * lib/strtod.c: Likewise.
62225         * lib/strtoimax.c: Likewise.
62226         * lib/strtok_r.c: Likewise.
62227         * lib/strtol.c: Likewise.
62228         * lib/strtoll.c: Likewise.
62229         * lib/strtoul.c: Likewise.
62230         * lib/strtoull.c: Likewise.
62231         * lib/sysexits.in.h: Likewise.
62232         * lib/tempname.c: Likewise.
62233         * lib/tempname.h: Likewise.
62234         * lib/timespec.h: Likewise.
62235         * lib/tls.c: Likewise.
62236         * lib/tls.h: Likewise.
62237         * lib/tmpdir.c: Likewise.
62238         * lib/tmpdir.h: Likewise.
62239         * lib/tmpfile-safer.c: Likewise.
62240         * lib/tmpfile.c: Likewise.
62241         * lib/trigl.c: Likewise.
62242         * lib/trigl.h: Likewise.
62243         * lib/trim.c: Likewise.
62244         * lib/trim.h: Likewise.
62245         * lib/trunc.c: Likewise.
62246         * lib/truncf.c: Likewise.
62247         * lib/truncl.c: Likewise.
62248         * lib/tsearch.c: Likewise.
62249         * lib/unicodeio.c: Likewise.
62250         * lib/unicodeio.h: Likewise.
62251         * lib/unistd--.h: Likewise.
62252         * lib/unistd-safer.h: Likewise.
62253         * lib/unistdio/ulc-fprintf.c: Likewise.
62254         * lib/unistdio/ulc-vfprintf.c: Likewise.
62255         * lib/unlinkdir.c: Likewise.
62256         * lib/unlinkdir.h: Likewise.
62257         * lib/unlocked-io.h: Likewise.
62258         * lib/unsetenv.c: Likewise.
62259         * lib/userspec.c: Likewise.
62260         * lib/utime.c: Likewise.
62261         * lib/utimecmp.c: Likewise.
62262         * lib/utimecmp.h: Likewise.
62263         * lib/utimens.c: Likewise.
62264         * lib/verify.h: Likewise.
62265         * lib/verror.c: Likewise.
62266         * lib/verror.h: Likewise.
62267         * lib/version-etc-fsf.c: Likewise.
62268         * lib/version-etc.c: Likewise.
62269         * lib/version-etc.h: Likewise.
62270         * lib/vfprintf.c: Likewise.
62271         * lib/vprintf.c: Likewise.
62272         * lib/vsprintf.c: Likewise.
62273         * lib/w32spawn.h: Likewise.
62274         * lib/wait-process.c: Likewise.
62275         * lib/wait-process.h: Likewise.
62276         * lib/wcwidth.c: Likewise.
62277         * lib/write-any-file.c: Likewise.
62278         * lib/xalloc-die.c: Likewise.
62279         * lib/xalloc.h: Likewise.
62280         * lib/xasprintf.c: Likewise.
62281         * lib/xgetcwd.c: Likewise.
62282         * lib/xgetcwd.h: Likewise.
62283         * lib/xgetdomainname.c: Likewise.
62284         * lib/xgetdomainname.h: Likewise.
62285         * lib/xgethostname.c: Likewise.
62286         * lib/xmalloc.c: Likewise.
62287         * lib/xmalloca.c: Likewise.
62288         * lib/xmalloca.h: Likewise.
62289         * lib/xmemcoll.c: Likewise.
62290         * lib/xnanosleep.c: Likewise.
62291         * lib/xreadlink.c: Likewise.
62292         * lib/xreadlink.h: Likewise.
62293         * lib/xsetenv.c: Likewise.
62294         * lib/xsetenv.h: Likewise.
62295         * lib/xstriconv.c: Likewise.
62296         * lib/xstriconv.h: Likewise.
62297         * lib/xstrndup.c: Likewise.
62298         * lib/xstrndup.h: Likewise.
62299         * lib/xstrtod.c: Likewise.
62300         * lib/xstrtod.h: Likewise.
62301         * lib/xstrtol-error.c: Likewise.
62302         * lib/xstrtol.c: Likewise.
62303         * lib/xstrtol.h: Likewise.
62304         * lib/xtime.h: Likewise.
62305         * lib/xvasprintf.c: Likewise.
62306         * lib/xvasprintf.h: Likewise.
62307         * lib/yesno.c: Likewise.
62308         * lib/yesno.h: Likewise.
62309         * posix-modules: Likewise.
62310         * tests/test-alloca-opt.c: Likewise.
62311         * tests/test-arcfour.c: Likewise.
62312         * tests/test-arctwo.c: Likewise.
62313         * tests/test-argmatch.c: Likewise.
62314         * tests/test-argp-2.sh: Likewise.
62315         * tests/test-argp.c: Likewise.
62316         * tests/test-arpa_inet.c: Likewise.
62317         * tests/test-array_list.c: Likewise.
62318         * tests/test-array_oset.c: Likewise.
62319         * tests/test-atexit.c: Likewise.
62320         * tests/test-avltree_list.c: Likewise.
62321         * tests/test-avltree_oset.c: Likewise.
62322         * tests/test-avltreehash_list.c: Likewise.
62323         * tests/test-base64.c: Likewise.
62324         * tests/test-binary-io.c: Likewise.
62325         * tests/test-byteswap.c: Likewise.
62326         * tests/test-c-ctype.c: Likewise.
62327         * tests/test-c-strcasecmp.c: Likewise.
62328         * tests/test-c-strcasestr.c: Likewise.
62329         * tests/test-c-strncasecmp.c: Likewise.
62330         * tests/test-c-strstr.c: Likewise.
62331         * tests/test-canonicalize-lgpl.c: Likewise.
62332         * tests/test-canonicalize.c: Likewise.
62333         * tests/test-carray_list.c: Likewise.
62334         * tests/test-ceilf.c: Likewise.
62335         * tests/test-ceill.c: Likewise.
62336         * tests/test-count-one-bits.c: Likewise.
62337         * tests/test-crc.c: Likewise.
62338         * tests/test-dirname.c: Likewise.
62339         * tests/test-fbufmode.c: Likewise.
62340         * tests/test-fcntl.c: Likewise.
62341         * tests/test-fflush.c: Likewise.
62342         * tests/test-floorf.c: Likewise.
62343         * tests/test-floorl.c: Likewise.
62344         * tests/test-fopen.c: Likewise.
62345         * tests/test-fprintf-posix.c: Likewise.
62346         * tests/test-fprintf-posix.h: Likewise.
62347         * tests/test-fpurge.c: Likewise.
62348         * tests/test-freadable.c: Likewise.
62349         * tests/test-freadahead.c: Likewise.
62350         * tests/test-freading.c: Likewise.
62351         * tests/test-freopen.c: Likewise.
62352         * tests/test-frexp.c: Likewise.
62353         * tests/test-frexpl.c: Likewise.
62354         * tests/test-fseek.c: Likewise.
62355         * tests/test-fseeko.c: Likewise.
62356         * tests/test-fseterr.c: Likewise.
62357         * tests/test-fstrcmp.c: Likewise.
62358         * tests/test-ftell.c: Likewise.
62359         * tests/test-ftello.c: Likewise.
62360         * tests/test-fwritable.c: Likewise.
62361         * tests/test-fwriting.c: Likewise.
62362         * tests/test-getaddrinfo.c: Likewise.
62363         * tests/test-getpass.c: Likewise.
62364         * tests/test-gettimeofday.c: Likewise.
62365         * tests/test-hmac-md5.c: Likewise.
62366         * tests/test-hmac-sha1.c: Likewise.
62367         * tests/test-iconv.c: Likewise.
62368         * tests/test-iconvme.c: Likewise.
62369         * tests/test-inttypes.c: Likewise.
62370         * tests/test-isnan.c: Likewise.
62371         * tests/test-isnanf.c: Likewise.
62372         * tests/test-isnanl-nolibm.c: Likewise.
62373         * tests/test-isnanl.c: Likewise.
62374         * tests/test-isnanl.h: Likewise.
62375         * tests/test-ldexpl.c: Likewise.
62376         * tests/test-linked_list.c: Likewise.
62377         * tests/test-linkedhash_list.c: Likewise.
62378         * tests/test-locale.c: Likewise.
62379         * tests/test-localename.c: Likewise.
62380         * tests/test-lock.c: Likewise.
62381         * tests/test-lseek.c: Likewise.
62382         * tests/test-malloca.c: Likewise.
62383         * tests/test-math.c: Likewise.
62384         * tests/test-mbscasecmp.c: Likewise.
62385         * tests/test-mbscasestr1.c: Likewise.
62386         * tests/test-mbscasestr2.c: Likewise.
62387         * tests/test-mbscasestr3.c: Likewise.
62388         * tests/test-mbscasestr4.c: Likewise.
62389         * tests/test-mbschr.c: Likewise.
62390         * tests/test-mbscspn.c: Likewise.
62391         * tests/test-mbsncasecmp.c: Likewise.
62392         * tests/test-mbspbrk.c: Likewise.
62393         * tests/test-mbspcasecmp.c: Likewise.
62394         * tests/test-mbsrchr.c: Likewise.
62395         * tests/test-mbsspn.c: Likewise.
62396         * tests/test-mbsstr1.c: Likewise.
62397         * tests/test-mbsstr2.c: Likewise.
62398         * tests/test-mbsstr3.c: Likewise.
62399         * tests/test-md5.c: Likewise.
62400         * tests/test-memmem.c: Likewise.
62401         * tests/test-netinet_in.c: Likewise.
62402         * tests/test-open.c: Likewise.
62403         * tests/test-printf-frexp.c: Likewise.
62404         * tests/test-printf-frexpl.c: Likewise.
62405         * tests/test-printf-posix.c: Likewise.
62406         * tests/test-printf-posix.h: Likewise.
62407         * tests/test-rbtree_list.c: Likewise.
62408         * tests/test-rbtree_oset.c: Likewise.
62409         * tests/test-rbtreehash_list.c: Likewise.
62410         * tests/test-read-file.c: Likewise.
62411         * tests/test-rijndael.c: Likewise.
62412         * tests/test-search.c: Likewise.
62413         * tests/test-signbit.c: Likewise.
62414         * tests/test-sleep.c: Likewise.
62415         * tests/test-snprintf-posix.c: Likewise.
62416         * tests/test-snprintf-posix.h: Likewise.
62417         * tests/test-snprintf.c: Likewise.
62418         * tests/test-sprintf-posix.c: Likewise.
62419         * tests/test-sprintf-posix.h: Likewise.
62420         * tests/test-stat-time.c: Likewise.
62421         * tests/test-stdbool.c: Likewise.
62422         * tests/test-stdint.c: Likewise.
62423         * tests/test-stdio.c: Likewise.
62424         * tests/test-stdlib.c: Likewise.
62425         * tests/test-stpncpy.c: Likewise.
62426         * tests/test-strcasestr.c: Likewise.
62427         * tests/test-striconv.c: Likewise.
62428         * tests/test-striconveh.c: Likewise.
62429         * tests/test-striconveha.c: Likewise.
62430         * tests/test-string.c: Likewise.
62431         * tests/test-sys_select.c: Likewise.
62432         * tests/test-sys_socket.c: Likewise.
62433         * tests/test-sys_stat.c: Likewise.
62434         * tests/test-sys_time.c: Likewise.
62435         * tests/test-sysexits.c: Likewise.
62436         * tests/test-time.c: Likewise.
62437         * tests/test-tls.c: Likewise.
62438         * tests/test-trunc.c: Likewise.
62439         * tests/test-truncf.c: Likewise.
62440         * tests/test-truncl.c: Likewise.
62441         * tests/test-unistd.c: Likewise.
62442         * tests/test-vasnprintf-posix.c: Likewise.
62443         * tests/test-vasnprintf-posix2.c: Likewise.
62444         * tests/test-vasnprintf.c: Likewise.
62445         * tests/test-vasprintf-posix.c: Likewise.
62446         * tests/test-vasprintf.c: Likewise.
62447         * tests/test-verify.c: Likewise.
62448         * tests/test-vfprintf-posix.c: Likewise.
62449         * tests/test-vprintf-posix.c: Likewise.
62450         * tests/test-vsnprintf-posix.c: Likewise.
62451         * tests/test-vsnprintf.c: Likewise.
62452         * tests/test-vsprintf-posix.c: Likewise.
62453         * tests/test-wchar.c: Likewise.
62454         * tests/test-wctype.c: Likewise.
62455         * tests/test-wcwidth.c: Likewise.
62456         * tests/test-xstrtol.c: Likewise.
62457         * tests/test-xvasprintf.c: Likewise.
62458         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
62459         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
62460         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
62461         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
62462         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
62463         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
62464         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
62465         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
62466         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
62467         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
62468         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
62469         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
62470         * tests/uniname/test-uninames.c: Likewise.
62471         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
62472         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
62473         * tests/unistdio/test-u16-printf1.h: Likewise.
62474         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
62475         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
62476         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
62477         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
62478         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
62479         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
62480         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
62481         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
62482         * tests/unistdio/test-u32-printf1.h: Likewise.
62483         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
62484         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
62485         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
62486         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
62487         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
62488         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
62489         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
62490         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
62491         * tests/unistdio/test-u8-printf1.h: Likewise.
62492         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
62493         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
62494         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
62495         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
62496         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
62497         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
62498         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
62499         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
62500         * tests/unistdio/test-ulc-printf1.h: Likewise.
62501         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
62502         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
62503         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
62504         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
62505         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
62506         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
62507         * tests/uniwidth/test-u16-strwidth.c: Likewise.
62508         * tests/uniwidth/test-u16-width.c: Likewise.
62509         * tests/uniwidth/test-u32-strwidth.c: Likewise.
62510         * tests/uniwidth/test-u32-width.c: Likewise.
62511         * tests/uniwidth/test-u8-strwidth.c: Likewise.
62512         * tests/uniwidth/test-u8-width.c: Likewise.
62513         * tests/uniwidth/test-uc_width.c: Likewise.
62514         * config/srclist-update: Likewise.
62515         (fixlicense): Update to GPLv3+.
62516
62517         Change copyright notice from LGPLv2.1+ to LGPLv3+.
62518         * tests/test-tsearch.c: Change copyright notice.
62519
62520         Change copyright notice from LGPLv2.0+ to LGPLv3+.
62521         * lib/c-strcaseeq.h: Change copyright notice.
62522         * lib/streq.h: Likewise.
62523         * lib/uniconv.h: Likewise.
62524         * lib/uniconv/u-conv-from-enc.h: Likewise.
62525         * lib/uniconv/u-conv-to-enc.h: Likewise.
62526         * lib/uniconv/u-strconv-from-enc.h: Likewise.
62527         * lib/uniconv/u-strconv-to-enc.h: Likewise.
62528         * lib/uniconv/u16-conv-from-enc.c: Likewise.
62529         * lib/uniconv/u16-conv-to-enc.c: Likewise.
62530         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
62531         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
62532         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
62533         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
62534         * lib/uniconv/u32-conv-from-enc.c: Likewise.
62535         * lib/uniconv/u32-conv-to-enc.c: Likewise.
62536         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
62537         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
62538         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
62539         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
62540         * lib/uniconv/u8-conv-from-enc.c: Likewise.
62541         * lib/uniconv/u8-conv-to-enc.c: Likewise.
62542         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
62543         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
62544         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
62545         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
62546         * lib/uniname.h: Likewise.
62547         * lib/uniname/uniname.c: Likewise.
62548         * lib/unistdio.h: Likewise.
62549         * lib/unistdio/u-asnprintf.h: Likewise.
62550         * lib/unistdio/u-asprintf.h: Likewise.
62551         * lib/unistdio/u-printf-args.c: Likewise.
62552         * lib/unistdio/u-printf-args.h: Likewise.
62553         * lib/unistdio/u-printf-parse.h: Likewise.
62554         * lib/unistdio/u-snprintf.h: Likewise.
62555         * lib/unistdio/u-sprintf.h: Likewise.
62556         * lib/unistdio/u-vasprintf.h: Likewise.
62557         * lib/unistdio/u-vsnprintf.h: Likewise.
62558         * lib/unistdio/u-vsprintf.h: Likewise.
62559         * lib/unistdio/u16-asnprintf.c: Likewise.
62560         * lib/unistdio/u16-asprintf.c: Likewise.
62561         * lib/unistdio/u16-printf-parse.c: Likewise.
62562         * lib/unistdio/u16-snprintf.c: Likewise.
62563         * lib/unistdio/u16-sprintf.c: Likewise.
62564         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
62565         * lib/unistdio/u16-u16-asprintf.c: Likewise.
62566         * lib/unistdio/u16-u16-snprintf.c: Likewise.
62567         * lib/unistdio/u16-u16-sprintf.c: Likewise.
62568         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
62569         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
62570         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
62571         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
62572         * lib/unistdio/u16-vasnprintf.c: Likewise.
62573         * lib/unistdio/u16-vasprintf.c: Likewise.
62574         * lib/unistdio/u16-vsnprintf.c: Likewise.
62575         * lib/unistdio/u16-vsprintf.c: Likewise.
62576         * lib/unistdio/u32-asnprintf.c: Likewise.
62577         * lib/unistdio/u32-asprintf.c: Likewise.
62578         * lib/unistdio/u32-printf-parse.c: Likewise.
62579         * lib/unistdio/u32-snprintf.c: Likewise.
62580         * lib/unistdio/u32-sprintf.c: Likewise.
62581         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
62582         * lib/unistdio/u32-u32-asprintf.c: Likewise.
62583         * lib/unistdio/u32-u32-snprintf.c: Likewise.
62584         * lib/unistdio/u32-u32-sprintf.c: Likewise.
62585         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
62586         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
62587         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
62588         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
62589         * lib/unistdio/u32-vasnprintf.c: Likewise.
62590         * lib/unistdio/u32-vasprintf.c: Likewise.
62591         * lib/unistdio/u32-vsnprintf.c: Likewise.
62592         * lib/unistdio/u32-vsprintf.c: Likewise.
62593         * lib/unistdio/u8-asnprintf.c: Likewise.
62594         * lib/unistdio/u8-asprintf.c: Likewise.
62595         * lib/unistdio/u8-printf-parse.c: Likewise.
62596         * lib/unistdio/u8-snprintf.c: Likewise.
62597         * lib/unistdio/u8-sprintf.c: Likewise.
62598         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
62599         * lib/unistdio/u8-u8-asprintf.c: Likewise.
62600         * lib/unistdio/u8-u8-snprintf.c: Likewise.
62601         * lib/unistdio/u8-u8-sprintf.c: Likewise.
62602         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
62603         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
62604         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
62605         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
62606         * lib/unistdio/u8-vasnprintf.c: Likewise.
62607         * lib/unistdio/u8-vasprintf.c: Likewise.
62608         * lib/unistdio/u8-vsnprintf.c: Likewise.
62609         * lib/unistdio/u8-vsprintf.c: Likewise.
62610         * lib/unistdio/ulc-asnprintf.c: Likewise.
62611         * lib/unistdio/ulc-asprintf.c: Likewise.
62612         * lib/unistdio/ulc-printf-parse.c: Likewise.
62613         * lib/unistdio/ulc-snprintf.c: Likewise.
62614         * lib/unistdio/ulc-sprintf.c: Likewise.
62615         * lib/unistdio/ulc-vasnprintf.c: Likewise.
62616         * lib/unistdio/ulc-vasprintf.c: Likewise.
62617         * lib/unistdio/ulc-vsnprintf.c: Likewise.
62618         * lib/unistdio/ulc-vsprintf.c: Likewise.
62619         * lib/unistr.h: Likewise.
62620         * lib/unistr/u-cpy-alloc.h: Likewise.
62621         * lib/unistr/u-cpy.h: Likewise.
62622         * lib/unistr/u-endswith.h: Likewise.
62623         * lib/unistr/u-move.h: Likewise.
62624         * lib/unistr/u-set.h: Likewise.
62625         * lib/unistr/u-startswith.h: Likewise.
62626         * lib/unistr/u-stpcpy.h: Likewise.
62627         * lib/unistr/u-stpncpy.h: Likewise.
62628         * lib/unistr/u-strcat.h: Likewise.
62629         * lib/unistr/u-strcpy.h: Likewise.
62630         * lib/unistr/u-strcspn.h: Likewise.
62631         * lib/unistr/u-strdup.h: Likewise.
62632         * lib/unistr/u-strlen.h: Likewise.
62633         * lib/unistr/u-strncat.h: Likewise.
62634         * lib/unistr/u-strncpy.h: Likewise.
62635         * lib/unistr/u-strnlen.h: Likewise.
62636         * lib/unistr/u-strpbrk.h: Likewise.
62637         * lib/unistr/u-strspn.h: Likewise.
62638         * lib/unistr/u-strstr.h: Likewise.
62639         * lib/unistr/u-strtok.h: Likewise.
62640         * lib/unistr/u16-check.c: Likewise.
62641         * lib/unistr/u16-chr.c: Likewise.
62642         * lib/unistr/u16-cmp.c: Likewise.
62643         * lib/unistr/u16-cpy-alloc.c: Likewise.
62644         * lib/unistr/u16-cpy.c: Likewise.
62645         * lib/unistr/u16-endswith.c: Likewise.
62646         * lib/unistr/u16-mblen.c: Likewise.
62647         * lib/unistr/u16-mbsnlen.c: Likewise.
62648         * lib/unistr/u16-mbtouc-aux.c: Likewise.
62649         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
62650         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
62651         * lib/unistr/u16-mbtouc.c: Likewise.
62652         * lib/unistr/u16-mbtoucr.c: Likewise.
62653         * lib/unistr/u16-move.c: Likewise.
62654         * lib/unistr/u16-next.c: Likewise.
62655         * lib/unistr/u16-prev.c: Likewise.
62656         * lib/unistr/u16-set.c: Likewise.
62657         * lib/unistr/u16-startswith.c: Likewise.
62658         * lib/unistr/u16-stpcpy.c: Likewise.
62659         * lib/unistr/u16-stpncpy.c: Likewise.
62660         * lib/unistr/u16-strcat.c: Likewise.
62661         * lib/unistr/u16-strchr.c: Likewise.
62662         * lib/unistr/u16-strcmp.c: Likewise.
62663         * lib/unistr/u16-strcpy.c: Likewise.
62664         * lib/unistr/u16-strcspn.c: Likewise.
62665         * lib/unistr/u16-strdup.c: Likewise.
62666         * lib/unistr/u16-strlen.c: Likewise.
62667         * lib/unistr/u16-strmblen.c: Likewise.
62668         * lib/unistr/u16-strmbtouc.c: Likewise.
62669         * lib/unistr/u16-strncat.c: Likewise.
62670         * lib/unistr/u16-strncmp.c: Likewise.
62671         * lib/unistr/u16-strncpy.c: Likewise.
62672         * lib/unistr/u16-strnlen.c: Likewise.
62673         * lib/unistr/u16-strpbrk.c: Likewise.
62674         * lib/unistr/u16-strrchr.c: Likewise.
62675         * lib/unistr/u16-strspn.c: Likewise.
62676         * lib/unistr/u16-strstr.c: Likewise.
62677         * lib/unistr/u16-strtok.c: Likewise.
62678         * lib/unistr/u16-to-u32.c: Likewise.
62679         * lib/unistr/u16-to-u8.c: Likewise.
62680         * lib/unistr/u16-uctomb-aux.c: Likewise.
62681         * lib/unistr/u16-uctomb.c: Likewise.
62682         * lib/unistr/u32-check.c: Likewise.
62683         * lib/unistr/u32-chr.c: Likewise.
62684         * lib/unistr/u32-cmp.c: Likewise.
62685         * lib/unistr/u32-cpy-alloc.c: Likewise.
62686         * lib/unistr/u32-cpy.c: Likewise.
62687         * lib/unistr/u32-endswith.c: Likewise.
62688         * lib/unistr/u32-mblen.c: Likewise.
62689         * lib/unistr/u32-mbsnlen.c: Likewise.
62690         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
62691         * lib/unistr/u32-mbtouc.c: Likewise.
62692         * lib/unistr/u32-mbtoucr.c: Likewise.
62693         * lib/unistr/u32-move.c: Likewise.
62694         * lib/unistr/u32-next.c: Likewise.
62695         * lib/unistr/u32-prev.c: Likewise.
62696         * lib/unistr/u32-set.c: Likewise.
62697         * lib/unistr/u32-startswith.c: Likewise.
62698         * lib/unistr/u32-stpcpy.c: Likewise.
62699         * lib/unistr/u32-stpncpy.c: Likewise.
62700         * lib/unistr/u32-strcat.c: Likewise.
62701         * lib/unistr/u32-strchr.c: Likewise.
62702         * lib/unistr/u32-strcmp.c: Likewise.
62703         * lib/unistr/u32-strcpy.c: Likewise.
62704         * lib/unistr/u32-strcspn.c: Likewise.
62705         * lib/unistr/u32-strdup.c: Likewise.
62706         * lib/unistr/u32-strlen.c: Likewise.
62707         * lib/unistr/u32-strmblen.c: Likewise.
62708         * lib/unistr/u32-strmbtouc.c: Likewise.
62709         * lib/unistr/u32-strncat.c: Likewise.
62710         * lib/unistr/u32-strncmp.c: Likewise.
62711         * lib/unistr/u32-strncpy.c: Likewise.
62712         * lib/unistr/u32-strnlen.c: Likewise.
62713         * lib/unistr/u32-strpbrk.c: Likewise.
62714         * lib/unistr/u32-strrchr.c: Likewise.
62715         * lib/unistr/u32-strspn.c: Likewise.
62716         * lib/unistr/u32-strstr.c: Likewise.
62717         * lib/unistr/u32-strtok.c: Likewise.
62718         * lib/unistr/u32-to-u16.c: Likewise.
62719         * lib/unistr/u32-to-u8.c: Likewise.
62720         * lib/unistr/u32-uctomb.c: Likewise.
62721         * lib/unistr/u8-check.c: Likewise.
62722         * lib/unistr/u8-chr.c: Likewise.
62723         * lib/unistr/u8-cmp.c: Likewise.
62724         * lib/unistr/u8-cpy-alloc.c: Likewise.
62725         * lib/unistr/u8-cpy.c: Likewise.
62726         * lib/unistr/u8-endswith.c: Likewise.
62727         * lib/unistr/u8-mblen.c: Likewise.
62728         * lib/unistr/u8-mbsnlen.c: Likewise.
62729         * lib/unistr/u8-mbtouc-aux.c: Likewise.
62730         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
62731         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
62732         * lib/unistr/u8-mbtouc.c: Likewise.
62733         * lib/unistr/u8-mbtoucr.c: Likewise.
62734         * lib/unistr/u8-move.c: Likewise.
62735         * lib/unistr/u8-next.c: Likewise.
62736         * lib/unistr/u8-prev.c: Likewise.
62737         * lib/unistr/u8-set.c: Likewise.
62738         * lib/unistr/u8-startswith.c: Likewise.
62739         * lib/unistr/u8-stpcpy.c: Likewise.
62740         * lib/unistr/u8-stpncpy.c: Likewise.
62741         * lib/unistr/u8-strcat.c: Likewise.
62742         * lib/unistr/u8-strchr.c: Likewise.
62743         * lib/unistr/u8-strcmp.c: Likewise.
62744         * lib/unistr/u8-strcpy.c: Likewise.
62745         * lib/unistr/u8-strcspn.c: Likewise.
62746         * lib/unistr/u8-strdup.c: Likewise.
62747         * lib/unistr/u8-strlen.c: Likewise.
62748         * lib/unistr/u8-strmblen.c: Likewise.
62749         * lib/unistr/u8-strmbtouc.c: Likewise.
62750         * lib/unistr/u8-strncat.c: Likewise.
62751         * lib/unistr/u8-strncmp.c: Likewise.
62752         * lib/unistr/u8-strncpy.c: Likewise.
62753         * lib/unistr/u8-strnlen.c: Likewise.
62754         * lib/unistr/u8-strpbrk.c: Likewise.
62755         * lib/unistr/u8-strrchr.c: Likewise.
62756         * lib/unistr/u8-strspn.c: Likewise.
62757         * lib/unistr/u8-strstr.c: Likewise.
62758         * lib/unistr/u8-strtok.c: Likewise.
62759         * lib/unistr/u8-to-u16.c: Likewise.
62760         * lib/unistr/u8-to-u32.c: Likewise.
62761         * lib/unistr/u8-uctomb-aux.c: Likewise.
62762         * lib/unistr/u8-uctomb.c: Likewise.
62763         * lib/unitypes.h: Likewise.
62764         * lib/uniwidth.h: Likewise.
62765         * lib/uniwidth/cjk.h: Likewise.
62766         * lib/uniwidth/u16-strwidth.c: Likewise.
62767         * lib/uniwidth/u16-width.c: Likewise.
62768         * lib/uniwidth/u32-strwidth.c: Likewise.
62769         * lib/uniwidth/u32-width.c: Likewise.
62770         * lib/uniwidth/u8-strwidth.c: Likewise.
62771         * lib/uniwidth/u8-width.c: Likewise.
62772         * lib/uniwidth/width.c: Likewise.
62773
62774 2007-10-07  Bruno Haible  <bruno@clisp.org>
62775
62776         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
62777         The file is still under LGPL (see modules/inttypes).
62778
62779 2007-10-06  Bruno Haible  <bruno@clisp.org>
62780
62781         * modules/trunc (Dependencies): Add 'extensions'.
62782         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
62783         Reported by Ben Pfaff <blp@gnu.org>.
62784
62785 2007-10-06  Bruno Haible  <bruno@clisp.org>
62786
62787         * modules/freopen-tests: New file.
62788         * tests/test-freopen.c: New file.
62789
62790         * modules/fopen-tests: New file.
62791         * tests/test-fopen.c: New file.
62792
62793         * modules/fopen: New file.
62794         * lib/fopen.c: New file.
62795         * m4/fopen.m4: New file.
62796         * modules/freopen: New file.
62797         * lib/freopen.c: New file.
62798         * m4/freopen.m4: New file.
62799         * lib/stdio.in.h (fopen, freopen): New declarations.
62800         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
62801         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
62802         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
62803         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
62804         * doc/functions/fopen.texi: Mention the 'fopen' module.
62805         * doc/functions/freopen.texi: Mention the 'freopen' module.
62806
62807 2007-10-06  Bruno Haible  <bruno@clisp.org>
62808
62809         * modules/open-tests: New file.
62810         * tests/test-open.c: New file.
62811
62812         * modules/open: New file.
62813         * lib/open.c: New file.
62814         * m4/open.m4: New file.
62815         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
62816         lib/open.c does.
62817         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
62818         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
62819         macros.
62820         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
62821         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
62822         REPLACE_OPEN.
62823         * doc/functions/open.texi: Mention the 'open' module.
62824
62825 2007-10-04  Bruno Haible  <bruno@clisp.org>
62826
62827         * modules/ceill-tests: New file.
62828         * tests/test-ceill.c: New file.
62829
62830         * modules/ceill: New file.
62831         * lib/ceill.c: Replace entire file.
62832         * m4/ceill.m4: New file.
62833         * lib/math.in.h (ceill): Replace declaration.
62834         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
62835         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
62836         * doc/functions/ceill.texi: Mention the 'ceill' module.
62837         * modules/mathl (Files): Remove lib/ceill.c.
62838         (Depends-on): Add ceill.
62839
62840 2007-10-04  Bruno Haible  <bruno@clisp.org>
62841
62842         * modules/ceilf-tests: New file.
62843         * tests/test-ceilf.c: New file.
62844
62845         * modules/ceilf: New file.
62846         * lib/ceil.c: New file.
62847         * lib/ceilf.c: New file.
62848         * m4/ceilf.m4: New file.
62849         * lib/math.in.h (ceilf): New declaration.
62850         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
62851         HAVE_DECL_CEILF.
62852         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
62853         HAVE_DECL_CEILF.
62854         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
62855
62856 2007-10-04  Bruno Haible  <bruno@clisp.org>
62857
62858         * modules/floorl-tests: New file.
62859         * tests/test-floorl.c: New file.
62860
62861         * modules/floorl: New file.
62862         * lib/floorl.c: Replace entire file.
62863         * m4/floorl.m4: New file.
62864         * lib/math.in.h (floorl): Replace declaration.
62865         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
62866         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
62867         * doc/functions/floorl.texi: Mention the 'floorl' module.
62868         * modules/mathl (Files): Remove lib/floorl.c.
62869         (Depends-on): Add floorl.
62870
62871 2007-10-04  Bruno Haible  <bruno@clisp.org>
62872
62873         * modules/floorf-tests: New file.
62874         * tests/test-floorf.c: New file.
62875
62876         * modules/floorf: New file.
62877         * lib/floor.c: New file.
62878         * lib/floorf.c: New file.
62879         * m4/floorf.m4: New file.
62880         * lib/math.in.h (floorf): New declaration.
62881         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
62882         HAVE_DECL_FLOORF.
62883         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
62884         HAVE_DECL_FLOORF.
62885         * doc/functions/floorf.texi: Mention the 'floorf' module.
62886
62887 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
62888             Bruno Haible  <bruno@clisp.org>
62889
62890         Advertise for the Git server instead of the CVS server.
62891         * doc/gnulib-intro.texi (Steady Development): Mention the Git
62892         repository instead of the CVS one.
62893         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
62894         about all VCS systems generically.
62895         * doc/gnulib.texi (Introduction): Capitalize `Git'.
62896
62897 2007-10-04  Bruno Haible  <bruno@clisp.org>
62898
62899         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
62900         means.
62901         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
62902
62903 2007-10-04  Bruno Haible  <bruno@clisp.org>
62904
62905         * modules/truncl-tests: New file.
62906         * tests/test-truncl.c: New file.
62907
62908         * modules/truncl: New file.
62909         * lib/truncl.c: New file.
62910         * m4/truncl.m4: New file.
62911         * lib/math.in.h (truncl): New declaration.
62912         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
62913         HAVE_DECL_TRUNCL.
62914         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
62915         HAVE_DECL_TRUNCL.
62916         * doc/functions/truncl.texi: Mention the 'truncl' module.
62917
62918 2007-10-04  Bruno Haible  <bruno@clisp.org>
62919
62920         * modules/truncf-tests: New file.
62921         * tests/test-truncf.c: New file.
62922
62923         * modules/truncf: New file.
62924         * lib/trunc.c: Make paramerizable through USE_* macros.
62925         * lib/truncf.c: New file.
62926         * m4/truncf.m4: New file.
62927         * lib/math.in.h (truncf): New declaration.
62928         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
62929         HAVE_DECL_TRUNCF.
62930         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
62931         HAVE_DECL_TRUNCF.
62932         * doc/functions/truncf.texi: Mention the 'truncf' module.
62933
62934 2007-10-03  Bruno Haible  <bruno@clisp.org>
62935
62936         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
62937         augmentation also for tests modules.
62938         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
62939         * modules/atexit-tests (Makefile.am): Likewise.
62940         * modules/binary-io-tests (Makefile.am): Likewise.
62941         * modules/c-strcase-tests (Makefile.am): Likewise.
62942         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
62943         * modules/canonicalize-tests (Makefile.am): Likewise.
62944         * modules/closein-tests (Makefile.am): Likewise.
62945         * modules/fprintf-posix-tests (Makefile.am): Likewise.
62946         * modules/freadahead-tests (Makefile.am): Likewise.
62947         * modules/fseek-tests (Makefile.am): Likewise.
62948         * modules/fseeko-tests (Makefile.am): Likewise.
62949         * modules/ftell-tests (Makefile.am): Likewise.
62950         * modules/ftello-tests (Makefile.am): Likewise.
62951         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
62952         * modules/isnanl-tests (Makefile.am): Likewise.
62953         * modules/lseek-tests (Makefile.am): Likewise.
62954         * modules/mbscasecmp-tests (Makefile.am): Likewise.
62955         * modules/mbscasestr-tests (Makefile.am): Likewise.
62956         * modules/mbschr-tests (Makefile.am): Likewise.
62957         * modules/mbscspn-tests (Makefile.am): Likewise.
62958         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
62959         * modules/mbspbrk-tests (Makefile.am): Likewise.
62960         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
62961         * modules/mbsrchr-tests (Makefile.am): Likewise.
62962         * modules/mbsspn-tests (Makefile.am): Likewise.
62963         * modules/mbsstr-tests (Makefile.am): Likewise.
62964         * modules/printf-posix-tests (Makefile.am): Likewise.
62965         * modules/snprintf-posix-tests (Makefile.am): Likewise.
62966         * modules/sprintf-posix-tests (Makefile.am): Likewise.
62967         * modules/tsearch-tests (Makefile.am): Likewise.
62968         * modules/uniname/uniname-tests (Makefile.am): Likewise.
62969         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
62970         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
62971         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
62972         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
62973         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
62974         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
62975         * modules/vprintf-posix-tests (Makefile.am): Likewise.
62976         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
62977         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
62978         * modules/xstrtoimax-tests (Makefile.am): Likewise.
62979         * modules/xstrtol-tests (Makefile.am): Likewise.
62980         * modules/xstrtoumax-tests (Makefile.am): Likewise.
62981         * modules/yesno-tests (Makefile.am): Likewise.
62982
62983 2007-10-03  Bruno Haible  <bruno@clisp.org>
62984
62985         * modules/trunc-tests: New file.
62986         * tests/test-trunc.c: New file.
62987
62988         * modules/trunc: New file.
62989         * lib/trunc.c: New file.
62990         * m4/trunc.m4: New file.
62991         * lib/math.in.h (trunc): New declaration.
62992         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
62993         HAVE_DECL_TRUNC.
62994         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
62995         HAVE_DECL_TRUNC.
62996         * doc/functions/trunc.texi: Mention the 'trunc' module.
62997
62998 2007-10-03  Bruno Haible  <bruno@clisp.org>
62999
63000         * tests/test-fpending.c: New file, mostly copied
63001         from coreutils/lib/t-fpending.c.
63002         * modules/fpending-tests: New file.
63003
63004 2007-10-03  Bruno Haible  <bruno@clisp.org>
63005
63006         Port the stdio extensions to QNX (untested).
63007         * lib/fseterr.c (fseterr): Add support for QNX.
63008         * lib/fbufmode.c (fbufmode): Likewise.
63009         * lib/freadable.c (freadable): Likewise.
63010         * lib/fwritable.c (fwritable): Likewise.
63011         * lib/freading.c (freading): Likewise.
63012         * lib/fwriting.c (fwriting): Likewise.
63013         * lib/freadahead.c (freadahed): Likewise.
63014         * lib/fpurge.c (fpurge): Likewise.
63015         * lib/fseeko.c (rpl_fseeko): Likewise.
63016
63017 2007-10-03  Bruno Haible  <bruno@clisp.org>
63018             Jim Meyering  <jim@meyering.net>
63019             Eric Blake  <ebb9@byu.net>
63020
63021         * doc/relocatable.texi: Use @command instead of @program.
63022
63023 2007-10-02  Jim Meyering  <jim@meyering.net>
63024
63025         Perform one more "_.h" -> ".in.h" substitution.
63026         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
63027         instead of unistd_.h here, too.
63028
63029 2007-10-01  Bruno Haible  <bruno@clisp.org>
63030
63031         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
63032         Needed for the alloca-opt module.
63033
63034 2007-09-30  Bruno Haible  <bruno@clisp.org>
63035
63036         * lib/alloca.in.h: Renamed from lib/alloca_.h.
63037         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
63038         alloca_.h.
63039         * lib/argz.in.h: Renamed from lib/argz_.h.
63040         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
63041         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
63042         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
63043         byteswap_.h.
63044         * lib/dirent.in.h: Renamed from lib/dirent_.h.
63045         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
63046         dirent_.h.
63047         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
63048         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
63049         fcntl_.h.
63050         * lib/float.in.h: Renamed from lib/float_.h.
63051         * modules/float (Files, Makefile.am): Use float.in.h instead of
63052         float_.h.
63053         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
63054         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
63055         fnmatch_.h.
63056         * lib/getopt.in.h: Renamed from lib/getopt_.h.
63057         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
63058         getopt_.h.
63059         * lib/glob.in.h: Renamed from lib/glob_.h.
63060         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
63061         * lib/iconv.in.h: Renamed from lib/iconv_.h.
63062         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
63063         iconv_.h.
63064         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
63065         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
63066         inttypes_.h.
63067         * lib/locale.in.h: Renamed from lib/locale_.h.
63068         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
63069         locale_.h.
63070         * lib/math.in.h: Renamed from lib/math_.h.
63071         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
63072         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
63073         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
63074         of netinet_in_.h. Add dependency.
63075         * lib/poll.in.h: Renamed from lib/poll_.h.
63076         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
63077         * lib/search.in.h: Renamed from lib/search_.h.
63078         * modules/search (Files, Makefile.am): Use search.in.h instead of
63079         search_.h.
63080         * lib/signal.in.h: Renamed from lib/signal_.h.
63081         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
63082         _signal.h.
63083         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
63084         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
63085         stdbool_.h.
63086         * lib/stdint.in.h: Renamed from lib/stdint_.h.
63087         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
63088         stdint_.h.
63089         * lib/stdio.in.h: Renamed from lib/stdio_.h.
63090         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
63091         stdio_.h.
63092         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
63093         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
63094         stdlib_.h.
63095         * lib/string.in.h: Renamed from lib/string_.h.
63096         * modules/string (Files, Makefile.am): Use string.in.h instead of
63097         string_.h.
63098         * doc/gnulib-tool.texi (Initial import): Update.
63099         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
63100         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
63101         of sys_select_.h. Add dependency.
63102         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
63103         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
63104         of sys_socket_.h.
63105         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
63106         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
63107         sys_stat_.h.
63108         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
63109         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
63110         sys_time_.h.
63111         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
63112         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
63113         sysexits_.h.
63114         * lib/time.in.h: Renamed from lib/time_.h.
63115         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
63116         * lib/unistd.in.h: Renamed from lib/unistd_.h.
63117         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
63118         unistd_.h.
63119         * lib/wchar.in.h: Renamed from lib/wchar_.h.
63120         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
63121         wchar_.h.
63122         * lib/wctype.in.h: Renamed from lib/wctype_.h.
63123         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
63124         wctype_.h.
63125         * build-aux/bootstrap (slurp): Update.
63126         * lib/.cppi-disable: Update.
63127
63128 2007-09-30  Bruno Haible  <bruno@clisp.org>
63129
63130         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
63131         Needed on BeOS.
63132
63133 2007-09-30  Bruno Haible  <bruno@clisp.org>
63134
63135         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
63136
63137 2007-09-29  Bruno Haible  <bruno@clisp.org>
63138
63139         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
63140
63141 2007-09-29  Bruno Haible  <bruno@clisp.org>
63142
63143         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
63144         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
63145         * build-aux/install-reloc: Compile also areadlink.c.
63146         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
63147
63148 2007-09-29  Bruno Haible  <bruno@clisp.org>
63149
63150         * gnulib-tool (func_emit_initmacro_done): Indentation.
63151
63152 2007-09-29  Bruno Haible  <bruno@clisp.org>
63153
63154         * README: Add CVS checkout update instructions.
63155         Info from Bob Proulx <bob@proulx.com>.
63156
63157 2007-09-28  Eric Blake  <ebb9@byu.net>
63158
63159         Provide move-if-change.
63160         * build-aux/move-if-change: New file, based on best practice
63161         rather than any canonical upstream location.
63162
63163 2007-09-28  Jim Meyering  <jim@meyering.net>
63164
63165         Fix canonicalize loop-detection corner case.
63166         Do not attempt to stat the symlink values stored via seen_triple.
63167         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
63168         on linux-2.6.18, (but not 2.6.22).
63169         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
63170         triple_compare.  The former compares dev,ino,filename, while the latter
63171         would actually stat dirname(filename) when dev and ino were equal.
63172         * lib/hash-triple.c: Install <string.h>.
63173         (STREQ): Define.
63174         (triple_compare_ino_str): New function.
63175         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
63176
63177 2007-09-28  Eric Blake  <ebb9@byu.net>
63178
63179         Enforce that AC_REPLACE_FUNCS files exist.
63180         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
63181         override check for typos.
63182
63183         Fix test-closein on Solaris 10.
63184         * tests/test-closein.c (main): Don't assume stdin can be inherited
63185         closed on all systems.
63186         * tests/test-closein.sh: Likewise.
63187         Reported by Piotr Tarnowski.
63188
63189 2007-09-28  Jim Meyering  <jim@meyering.net>
63190
63191         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
63192
63193 2007-09-27  Jim Meyering  <jim@meyering.net>
63194
63195         canonicalize: Avoid a false-positive cycle failure.
63196         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
63197         Sort.  Remove cycle-check.
63198         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
63199         not cycle-check.h.
63200         (seen_triple): New function.
63201         (canonicalize_filename_mode): Use it instead of cycle-check.
63202         * tests/test-canonicalize.c: Add a test for this bug.
63203         * tests/test-canonicalize.sh: Set up and run the test.
63204
63205         New module, file-set, from coreutils.
63206         * modules/file-set: Define it.
63207         * lib/file-set.c, lib/file-set.h: Implement.
63208
63209         New module, hash-triple, from coreutils.
63210         * modules/hash-triple: Define it.
63211         * lib/hash-triple.c, lib/hash-triple.h: Implement.
63212
63213 2007-09-25  Eric Blake  <ebb9@byu.net>
63214
63215         Fix strerror on Interix.
63216         * lib/string_.h (strerror): Declare replacement.
63217         * doc/functions/strerror.texi (strerror): Document the Interix
63218         shortcoming.
63219         * modules/string (Makefile.am): Support new hooks.
63220         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
63221         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
63222         gl_FUNC_STRERROR_SEPARATE.
63223         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
63224         * lib/strerror.c (rpl_strerror): Provide replacement.
63225         * modules/strerror (Depends-on): Add string.
63226         (configure.ac): Detect use of module.
63227         * tests/test-strerror.c: New file.
63228         * modules/strerror-tests: New test module.
63229         * modules/argp (Depends-on): Add strerror.
63230         * modules/error (Depends-on): Likewise.
63231         Reported by Martin Koeppe.
63232
63233 2007-09-24  Bruno Haible  <bruno@clisp.org>
63234
63235         * README: Update git instructions.
63236
63237 2007-09-24  Eric Blake  <ebb9@byu.net>
63238
63239         Revert fpending breakage from 2007-09-08.
63240         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
63241         __fpending.c.
63242
63243 2007-09-24  Jim Meyering  <jim@meyering.net>
63244
63245         filenamecat.c: Add a test.
63246         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
63247         showing how the function works when DIR is the empty string.
63248
63249 2007-09-21  Simon Josefsson  <simon@josefsson.org>
63250
63251         * tests/test-canonicalize.sh: Turn on executable bit.
63252
63253 2007-09-19  Eric Blake  <ebb9@byu.net>
63254
63255         * README: Update CVS instructions.
63256
63257 2007-09-18  Bruno Haible  <bruno@clisp.org>
63258
63259         * modules/areadlink: New file.
63260         * lib/areadlink.h (areadlink): New declaration.
63261         * lib/areadlink.c: New file, based on lib/xreadlink.c.
63262
63263 2007-09-17  Jim Meyering  <jim@meyering.net>
63264
63265         * lib/savewd.c (ESTALE) [!defined]: Define.
63266         Reported to be required on Interix by Martin Koeppe.
63267
63268 2007-09-17  Bruno Haible  <bruno@clisp.org>
63269
63270         * gnulib-tool (func_version): Use $version.
63271
63272 2007-09-16  Bruno Haible  <bruno@clisp.org>
63273
63274         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
63275         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
63276         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
63277         Reported by Greg Schafer <gschafer@zip.com.au>.
63278
63279 2007-09-15  Bruno Haible  <bruno@clisp.org>
63280
63281         * gnulib-tool (sed): Try a little harder to make bash understand the
63282         alias.
63283         Reported by Bruce Korb <bruce.korb@gmail.com>.
63284
63285 2007-09-13  Eric Blake  <ebb9@byu.net>
63286
63287         * ChangeLog: Remove conflict markers.
63288
63289 2007-09-13  Simon Josefsson  <simon@josefsson.org>
63290
63291         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
63292         Reported by Bruno Haible <bruno@clisp.org>.
63293
63294 2007-09-12  Bruno Haible  <bruno@clisp.org>
63295
63296         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
63297         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
63298         is not defined.
63299
63300 2007-09-12  Eric Blake  <ebb9@byu.net>
63301
63302         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
63303         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
63304         Autoconf definition.
63305         * modules/euidaccess (Depends-on): Add extensions, for
63306         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
63307         * modules/fnmatch (Depends-on): Likewise.
63308         * modules/getaddrinfo (Depends-on): Likewise.
63309         * modules/getdelim (Depends-on): Likewise.
63310         * modules/getline (Depends-on): Likewise.
63311         * modules/getsubopt (Depends-on): Likewise.
63312         * modules/gettext (Depends-on): Likewise.
63313         * modules/group-member (Depends-on): Likewise.
63314         * modules/mbchar (Depends-on): Likewise.
63315         * modules/memmem (Depends-on): Likewise.
63316         * modules/mempcpy (Depends-on): Likewise.
63317         * modules/memrchr (Depends-on): Likewise.
63318         * modules/pagealign_alloc (Depends-on): Likewise.
63319         * modules/readutmp (Depends-on): Likewise.
63320         * modules/stpcpy (Depends-on): Likewise.
63321         * modules/stpncpy (Depends-on): Likewise.
63322         * modules/strchrnul (Depends-on): Likewise.
63323         * modules/strndup (Depends-on): Likewise.
63324         * modules/strsep (Depends-on): Likewise.
63325         * modules/strverscmp (Depends-on): Likewise.
63326         * modules/vasprintf (Depends-on): Likewise.
63327         * modules/wcwidth (Depends-on): Likewise.
63328         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
63329         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
63330         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
63331         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
63332         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63333         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63334         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
63335         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
63336         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
63337         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
63338         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
63339         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63340         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63341         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
63342         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
63343         * m4/readutmp.m4 (gl_READUTMP): Likewise.
63344         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
63345         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63346         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63347         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63348         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63349         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63350         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63351         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
63352         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
63353         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
63354         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
63355         so that lock.m4 can be used in gettext without extensions module.
63356
63357 2007-09-11  Bruno Haible  <bruno@clisp.org>
63358
63359         * m4/isc-posix.m4: Remove file.
63360         Suggested by Eric Blake.
63361
63362 2007-09-11  Eric Blake  <ebb9@byu.net>
63363
63364         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
63365
63366 2007-09-10  Bruno Haible  <bruno@clisp.org>
63367
63368         * posix-modules: Fix typo in error message.
63369         Reported by Matt <mkraai@beckman.com>.
63370
63371 2007-09-09  Bruno Haible  <bruno@clisp.org>
63372
63373         * doc/functions/getdelim.texi: Update list of platforms lacking the
63374         function.
63375         * doc/functions/getline.texi: Likewise.
63376
63377 2007-09-09  Jim Meyering  <jim@meyering.net>
63378
63379         * lib/hash.c (hash_initialize): Detect calloc failure.
63380         Reported by Bruno Haible.
63381
63382 2007-09-09  Bruno Haible  <bruno@clisp.org>
63383
63384         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
63385         malloc or realloc fails.
63386
63387 2007-09-09  Bruno Haible  <bruno@clisp.org>
63388
63389         * modules/getcwd (Depends-on): Add malloc-posix.
63390         * modules/glob (Depends-on): Likewise.
63391         * modules/putenv (Depends-on): Likewise.
63392         * modules/strdup (Depends-on): Likewise.
63393         * modules/getdelim (Depends-on): Add realloc-posix.
63394         * modules/read-file (Depends-on): Likewise.
63395
63396 2007-09-09  Bruno Haible  <bruno@clisp.org>
63397
63398         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
63399         (gl_FUNC_MALLOC_POSIX): Require it.
63400         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
63401         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
63402         * modules/realloc (Files): Add m4/malloc.m4.
63403         * modules/calloc (Files): Likewise.
63404
63405 2007-09-09  Bruno Haible  <bruno@clisp.org>
63406
63407         * modules/malloc-posix: New file.
63408         * modules/malloc (Depends-on): Add malloc-posix.
63409         * lib/malloc.c: Include errno.h.
63410         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
63411         and a POSIX-compatible malloc into a single function. Set ENOMEM
63412         when returning NULL.
63413         * m4/malloc.m4: New file.
63414         * doc/functions/malloc.texi: Mention the malloc-posix module.
63415         * lib/stdlib_.h (malloc): New declaration.
63416         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
63417         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
63418         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
63419         and HAVE_MALLOC_POSIX.
63420
63421 2007-09-09  Bruno Haible  <bruno@clisp.org>
63422
63423         * modules/realloc-posix: New file.
63424         * modules/realloc (Depends-on): Add realloc-posix.
63425         * lib/realloc.c: Include errno.h.
63426         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
63427         and a POSIX-compatible realloc into a single function. Set ENOMEM
63428         when returning NULL.
63429         * m4/realloc.m4: New file.
63430         * doc/functions/realloc.texi: Mention the realloc-posix module.
63431         * lib/stdlib_.h (realloc): New declaration.
63432         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
63433         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
63434         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
63435         and HAVE_REALLOC_POSIX.
63436
63437 2007-09-09  Bruno Haible  <bruno@clisp.org>
63438
63439         * modules/calloc-posix: New file.
63440         * modules/calloc (Depends-on): Add calloc-posix.
63441         * lib/calloc.c: Include errno.h.
63442         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
63443         and a POSIX-compatible calloc into a single function. Set ENOMEM
63444         when returning NULL.
63445         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
63446         * doc/functions/calloc.texi: Mention the calloc-posix module.
63447         * lib/stdlib_.h (calloc): New declaration.
63448         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
63449         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
63450         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
63451         and HAVE_CALLOC_POSIX.
63452
63453 2007-09-09  Bruno Haible  <bruno@clisp.org>
63454
63455         Allow for modules to show an arbitrary notice.
63456         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
63457         * gnulib-tool: New option --extract-notice.
63458         (func_usage): Document it.
63459         (sed_extract_prog): Update.
63460         (func_get_notice): New function.
63461         (func_modules_notice): New function.
63462         (func_import, func_create_testdir): Invoke it.
63463         Suggested by Jim Meyering.
63464
63465 2007-09-09  Bruno Haible  <bruno@clisp.org>
63466
63467         * gnulib-tool: New options --verbose, --quiet.
63468         (func_usage): Document them.
63469         (verbose): New variable.
63470         (func_execute_command): New function.
63471         (func_import): Don't show the module list and the file list if
63472         $verbose < 0.
63473         (func_create_testdir): Likewise. Use func_execute_command.
63474         (func_create_megatestdir): Use func_execute_command.
63475
63476 2007-09-08  Bruno Haible  <bruno@clisp.org>
63477
63478         * gnulib-tool (func_import): Prefer rsync over wget when available,
63479         for fetching the PO files.
63480
63481 2007-09-08  Bruno Haible  <bruno@clisp.org>
63482
63483         * posix-modules: New file. Portions copied from gnulib-tool.
63484         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
63485
63486 2007-09-08  Jim Meyering  <jim@meyering.net>
63487
63488         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
63489         * lib/fpending.h: Rename from __fpending.h.
63490         * lib/fpending.c: Rename from __fpending.c.
63491         Include "fpending.h", not "__fpending.h".
63492         * lib/__fpending.h, lib/__fpending.c: Remove files.
63493         * modules/fpending (Files): Reflect new file names.
63494         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
63495
63496 2007-09-08  Bruno Haible  <bruno@clisp.org>
63497
63498         * m4/inttypes-h.m4: Remove stub file.
63499
63500 2007-09-07  Simon Josefsson  <simon@josefsson.org>
63501
63502         * doc/headers/stdint.texi: Discuss #include_next issue.
63503
63504 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63505
63506         * build-aux/bootstrap: Remove obsolete comment about wget --help.
63507
63508 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63509
63510         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
63511         in variable name.
63512
63513 2007-09-03  Jim Meyering  <jim@meyering.net>
63514
63515         New module: git-version-gen.
63516         * modules/git-version-gen: New file.
63517
63518         Import changes from coreutils for bootstrap script.
63519
63520         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
63521
63522         bootstrap: uses rsync to download the .po files
63523         * build-aux/bootstrap (po_download_command_format): New global.
63524         (download_po_files): Use rsync.
63525         (update_po_files): Don't remove .po files after download,
63526         so future rsync runs can take advantage of the copies.
63527
63528         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
63529
63530         Solve the unnecessary-.po-file-regeneration problem once and for all.
63531         * build-aux/bootstrap (download_po_files): New function, renamed from
63532         get_translations.  Now, downloads, but doesn't update LINGUAS.
63533         (update_po_files): New function.
63534
63535         bootstrap: Ignore more.
63536         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
63537         uniwidth to e.g., lib/.gitignore.
63538         (slurp): Handle the sys_stat_.h -> sys mapping, too.
63539
63540         * build-aux/bootstrap: New setting: vc_ignore.
63541         (insert_sorted_if_absent): Create $file if absent.
63542         Adapt to new, possibly empty, list: $vc_ignore.
63543
63544         bootstrap: generate more ignorable names
63545         * build-aux/bootstrap (slurp): When generating ignorable names,
63546         also map .sin to .sed, .gperf to .c, and .y to .c.
63547
63548 2007-09-03  Jim Meyering  <jim@meyering.net>
63549
63550         * build-aux/git-version-gen: New file, from coreutils.  For details, see
63551         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
63552
63553 2007-09-02  Bruno Haible  <bruno@clisp.org>
63554
63555         Fix mis-recognition of 'mcs' on QNX 6.
63556         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
63557         output contains the string "Mono".
63558         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
63559         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
63560
63561 2007-09-01  Bruno Haible  <bruno@clisp.org>
63562
63563         Fix collision between uniwidth/* and linebreak modules.
63564         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
63565         u32_width): Remove declarations.
63566         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
63567         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
63568         streq3, streq2, streq1, streq0): Remove functions.
63569         (STREQ): Remove macro.
63570         (is_cjk_encoding): Remove function.
63571         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
63572         (uc_width, u8_width, u16_width, u32_width): Remove functions.
63573         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
63574         * NEWS: Document the change.
63575
63576 2007-09-01  Bruno Haible  <bruno@clisp.org>
63577
63578         * lib/streq.h: Add double-inclusion guard.
63579
63580 2007-09-01  Karl Berry  <karl@gnu.org>
63581
63582         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
63583
63584 2007-08-28  Jim Meyering  <jim@meyering.net>
63585
63586         Rename mreadlink_with_size to areadlink_with_size.
63587         * NEWS: Document the change.
63588         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
63589         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
63590         * lib/mreadlink.h: Rename this to...
63591         * lib/areadlink.h: ...this.
63592         * modules/mreadlink-with-size: Rename this to...
63593         * modules/areadlink-with-size: ...this.
63594         * lib/canonicalize.c: Reflect the renaming.
63595         * modules/canonicalize: Likewise.
63596
63597 2007-08-26  Bruno Haible  <bruno@clisp.org>
63598
63599         * gnulib-tool (func_import): When deciding which files to remove,
63600         consider also dangling symbolic links.
63601         Reported by Eric Blake.
63602
63603 2007-08-26  Bruno Haible  <bruno@clisp.org>
63604
63605         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
63606
63607 2007-08-23  Simon Josefsson  <simon@josefsson.org>
63608
63609         * lib/readline.c: Don't include getline.h, the prototype is now
63610         found in stdio.h.
63611
63612 2007-08-23  Jim Meyering  <jim@meyering.net>
63613
63614         Getdelim touchup.
63615         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
63616         around the funlockfile call, since funlockfile never sets errno.
63617         Don't set errno upon failed realloc.
63618
63619 2007-08-22  Eric Blake  <ebb9@byu.net>
63620
63621         Getline touchups.
63622         * lib/getdelim.c (getdelim): Revert regression that required *n to
63623         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
63624         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
63625         getdelim, rather than whether implementation is missing.
63626         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
63627         * lib/stdio_.h (getline): Also declare if replacement is
63628         required.
63629         * doc/functions/getdelim.texi: New file.
63630         * doc/functions/getline.texi: Likewise.
63631         * doc/gnulib.texi (Function Substitutes): Add new files.
63632         Reported by Bruno Haible.
63633
63634 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
63635
63636         * users.txt: Add Guile.
63637
63638 2007-08-22  Eric Blake  <ebb9@byu.net>
63639
63640         * tests/test-getdelim.c (main): Use remove, not unlink.
63641         * tests/test-getline.c (main): Likewise.
63642
63643         Move getline and getdelim into stdio.h, per POSIX 200x.
63644         * modules/getline (Files): Remove getline.h.
63645         (Depends-on): Add stdio.
63646         (configure.ac): Add module indicator.
63647         * modules/getdelim (Files): Remove getdelim.h.
63648         (Depends-on): Add stdio.
63649         (configure.ac): Add module indicator.
63650         * modules/stdio (Makefile.am): Work with new indicators.
63651         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63652         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
63653         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63654         * lib/getdelim.h: Delete.
63655         * lib/getline.h: Delete.
63656         * lib/stdio_.h (getdelim, getline): Declare.
63657         * modules/getdelim-tests: New module.
63658         * modules/getline-tests: Likewise.
63659         * tests/test-getdelim.c: New file.
63660         * tests/test-getline.c: Likewise.
63661         * NEWS: Document the change.
63662         * lib/getline.c: Update choice of header.
63663         * lib/csharpcomp.c: Likewise.
63664         * lib/getpass.c: Likewise.
63665         * lib/javacomp.c: Likewise.
63666         * lib/javaversion.c: Likewise.
63667         * lib/yesno.c: Likewise.
63668         * lib/getdelim.c: Likewise.
63669         (getdelim): Set errno on failure, and avoid memory leak.
63670
63671 2007-08-19  Bruno Haible  <bruno@clisp.org>
63672
63673         * modules/closein (Depends-on): Add freadahead.
63674         * lib/closein.c: Include freadahead.h.
63675         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
63676         is zero.
63677
63678 2007-08-19  Bruno Haible  <bruno@clisp.org>
63679
63680         * modules/freadahead-tests: New file.
63681         * tests/test-freadahead.sh: New file.
63682         * tests/test-freadahead.c: New file.
63683
63684         * modules/freadahead: New file.
63685         * lib/freadahead.h: New file.
63686         * lib/freadahead.c: New file.
63687         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
63688         fbufmode, fpurge, freadable, fwritable.
63689
63690 2007-08-19  Eric Blake  <ebb9@byu.net>
63691
63692         Test yesno in combination with closein.
63693         * lib/yesno.c (yesno): Document use of stdin.
63694         * modules/yesno-tests (Files): New module.
63695         * tests/test-yesno.c (main): New file.
63696         * tests/test-yesno.sh: Likewise.
63697
63698 2007-08-19  Bruno Haible  <bruno@clisp.org>
63699
63700         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
63701         * lib/fseeko.c (rpl_fseeko): Likewise.
63702         * lib/fseterr.c (fseterr): Likewise.
63703
63704 2007-08-19  Bruno Haible  <bruno@clisp.org>
63705
63706         * tests/test-lseek.c (main): Disable a test for BeOS.
63707         * doc/functions/lseek.texi: Document the BeOS bug.
63708
63709 2007-08-19  Bruno Haible  <bruno@clisp.org>
63710             Eric Blake  <ebb9@byu.net>
63711
63712         * lib/lseek.c: Include <sys/stat.h>.
63713         (rpl_lseek): Add workaround code also for Unix platforms.
63714         Needed for BeOS.
63715         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
63716         * doc/functions/lseek.texi: Document BeOS definiency.
63717
63718 2007-08-18  Bruno Haible  <bruno@clisp.org>
63719
63720         * modules/fstrcmp-tests: New file.
63721         * tests/test-fstrcmp.c: New file.
63722
63723 2007-08-18  Bruno Haible  <bruno@clisp.org>
63724
63725         * modules/fstrcmp: New file, from GNU gettext with modifications.
63726         * lib/fstrcmp.h: New file, from GNU gettext.
63727         * lib/fstrcmp.c: New file, from GNU gettext.
63728         * MODULES.html.sh (String handling): Add fstrcmp.
63729
63730 2007-08-18  Bruno Haible  <bruno@clisp.org>
63731
63732         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
63733         'bool'.
63734         (diag, compareseq): Remove const from the ctxt argument.
63735         (USE_HEURISTIC): Undefine at the end.
63736
63737 2007-08-18  Jim Meyering  <jim@meyering.net>
63738
63739         New file: lib/idcache.h
63740         * NEWS: Mention the addition.
63741         * modules/idcache (Files): Add lib/idcache.h
63742         * lib/idcache.c: Include "idcache.h".
63743         Don't include <sys/types.h>.
63744         Add a FIXME comment.
63745         Move file-scoped "static" declarations to the top.
63746         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
63747
63748 2007-08-17  Bruno Haible  <bruno@clisp.org>
63749         and Paul Eggert  <eggert@cs.ucla.edu>
63750
63751         * MODULES.html.sh: Add diffseq.
63752         * modules/diffseq: New file.
63753         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
63754         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
63755
63756 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63757
63758         Import changes from coreutils for bootstrap script.
63759
63760         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
63761
63762         * build-aux/bootstrap (slurp): Work even in environments where
63763         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
63764         current code does not slurp files whose names start with ".", and
63765         this looks like it might be a troublesome area.
63766
63767         2007-07-11  Jim Meyering  <jim@meyering.net>
63768
63769         If there's a GPL vN copyright comment, require that N == 3.
63770
63771         2007-07-08  Jim Meyering  <jim@meyering.net>
63772
63773         Run the coreutils-specific code only if tests/Makefile.am.in exists.
63774         * build-aux/bootstrap (mam_template): Move definition out of loop.
63775
63776         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
63777
63778         * build-aux/bootstrap (symlink_to_dir): Rename function from
63779         symlink_to_gnulib.  Add a directory parameter.  Update all
63780         callers.
63781         (cp_mark_as_generated): Also check for -- and link to -- files in
63782         gl/.
63783
63784         2007-07-08  Jim Meyering  <jim@meyering.net>
63785
63786         Adapt to deeper hierarchy in gnulib.
63787         * build-aux/bootstrap (symlink_to_dir): If the destination
63788         directory doesn't exist, create it. This is required at least for
63789         "lib/uniwidth/cjk.h".
63790
63791         2007-05-15  Jim Meyering  <jim@meyering.net>
63792
63793         * build-aux/bootstrap: Now that generated Makefile.am files
63794         are no longer under version control, they must be created at
63795         bootstrap time.
63796
63797 2007-08-14  Ben Pfaff  <blp@gnu.org>
63798
63799         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
63800
63801 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63802
63803         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
63804         given the changes below.
63805         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
63806         even on hosts that have padding bits beyond the supported 64.
63807
63808 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
63809
63810         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
63811         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
63812         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
63813         depends on it.
63814         (xstrtol_error): Remove.
63815         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
63816         but with a different signature.
63817         (ATTRIBUTE_NORETURN, __attribute__): New macros.
63818         * lib/xstrtol-error.c: Include exitfail.h.
63819         (xstrtol_fatal): New function, with a different signature from the
63820         old xstrtol_error, so that the caller need not worry about passing
63821         in an exit status, or about storage management of the option argument.
63822         (xstrtol_error): Now a static function.  Redo signature to
63823         implement xstrtol_fatal.  Output the correct number of hyphens in
63824         front of the option so that the caller need not worry about
63825         storage management.
63826         (N_): New macro.
63827         (_): Remove; not used now.
63828         * modules/xstrtol: Depend on getopt.
63829         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
63830         of old STRTOL_FATAL_ERROR macro.
63831         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
63832         of test program.
63833         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
63834         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
63835
63836 2007-08-08  Eric Blake  <ebb9@byu.net>
63837
63838         * lib/xstrtol-error.c: Add missing include.
63839
63840         Move xstrtol messages into gnulib domain, when --pobase is used.
63841         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
63842         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
63843         * modules/xstrtol (Files): Distribute new file.
63844         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
63845         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
63846         * tests/test-xstrtol.c: ...into new file.
63847         * tests/test-xstrtoul.c: Also test xstrtoul.
63848         * tests/test-xstrtoimax.c: Also test xstrtoimax.
63849         * tests/test-xstrtoumax.c: Also test xstrtoumax.
63850         * tests/test-xstrtol.sh: Drive the tests.
63851         * tests/test-xstrtoimax.sh: Likewise.
63852         * tests/test-xstrtoumax.sh: Likewise.
63853         * modules/xstrtol-tests: New module.
63854         * modules/xstrtoimax-tests: Likewise.
63855         * modules/xstrtoumax-tests: Likewise.
63856
63857 2007-08-08  Jim Meyering  <jim@meyering.net>
63858
63859         New function: mfile_name_concat.
63860         * lib/filenamecat.c (mfile_name_concat): New function, just like
63861         file_name_concat, but return NULL upon failure rather than exiting
63862         with a diagnostic.
63863         * lib/filenamecat.h: Declare it.
63864
63865 2007-08-07  Bruno Haible  <bruno@clisp.org>
63866
63867         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
63868         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
63869         warning from gcc.
63870         Reported by Eric Blake.
63871
63872 2007-08-07  Simon Josefsson  <simon@josefsson.org>
63873
63874         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
63875         * modules/crypto/arcfour (License): Likewise.
63876         * modules/crypto/des-tests (License): Likewise.
63877         * modules/crypto/gc-arctwo-tests (License): Likewise.
63878         * modules/crypto/gc-des-tests (License): Likewise.
63879         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
63880         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
63881         * modules/crypto/gc-md2-tests (License): Likewise.
63882         * modules/crypto/gc-md4-tests (License): Likewise.
63883         * modules/crypto/gc-md5-tests (License): Likewise.
63884         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
63885         * modules/crypto/gc-rijndael-tests (License): Likewise.
63886         * modules/crypto/gc-sha1-tests (License): Likewise.
63887         * modules/crypto/gc-tests (License): Likewise.
63888         * modules/crypto/hmac-md5 (License): Likewise.
63889         * modules/crypto/hmac-sha1 (License): Likewise.
63890         * modules/crypto/md2-tests (License): Likewise.
63891         * modules/crypto/md4-tests (License): Likewise.
63892         * modules/crypto/md5 (License): Likewise.
63893         * modules/crypto/rijndael (License): Likewise.
63894         * modules/crypto/sha1 (License): Likewise.
63895         * modules/memxor (License): Likewise.
63896
63897 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
63898         and Bruno Haible  <bruno@clisp.org>
63899
63900         * NEWS: Describe interface changes to human, xstrtol.
63901         * lib/human.h: Include <xstrtol.h>.
63902         (human_options): Return enum strtol_error, not int.  Remove
63903         bool arg; take int * instead.
63904         * lib/human.c: Don't include "gettext.h".
63905         (_): Remove; no longer used.
63906         Don't include <xstrtol.h>, since human.h does it.
63907         (human_options): Adjust to abovementioned interface changes.
63908         Do not report error to stderr; that's now the caller's
63909         responsibility.
63910         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
63911         interface change.
63912         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
63913         Str, Argument_type_string.  All uses changed.  Put " argument"
63914         in diagnostics to make them clearer.  Change wording of suffix
63915         message for clarity.
63916         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
63917         Argument_type_string.
63918         (STRTOL_FATAL_WARN): Remove; no longer used.
63919         * modules/human (Depends-on): Remove gettext-h.
63920
63921 2007-08-06  Simon Josefsson  <simon@josefsson.org>
63922
63923         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
63924
63925 2007-07-31  Bruno Haible  <bruno@clisp.org>
63926
63927         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
63928         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
63929         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
63930
63931 2007-07-31  Bruno Haible  <bruno@clisp.org>
63932
63933         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
63934         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
63935
63936 2007-07-30  Bruno Haible  <bruno@clisp.org>
63937
63938         * modules/base64 (License): Use the synonymous term "LGPLv2+".
63939         * modules/c-ctype (License): Likewise.
63940         * modules/c-strcase (License): Likewise.
63941         * modules/check-version (License): Likewise.
63942         * modules/iconv (License): Likewise.
63943         * modules/iconv_open (License): Likewise.
63944         * modules/read-file (License): Likewise.
63945         * modules/striconv (License): Likewise.
63946         * modules/strverscmp (License): Likewise.
63947         * modules/vasprintf (License): Likewise.
63948         * modules/crypto/des (License): Likewise.
63949         * modules/crypto/gc (License): Likewise.
63950         * modules/crypto/gc-arcfour (License): Likewise.
63951         * modules/crypto/gc-arctwo (License): Likewise.
63952         * modules/crypto/gc-des (License): Likewise.
63953         * modules/crypto/gc-hmac-md5 (License): Likewise.
63954         * modules/crypto/gc-hmac-sha1 (License): Likewise.
63955         * modules/crypto/gc-md2 (License): Likewise.
63956         * modules/crypto/gc-md4 (License): Likewise.
63957         * modules/crypto/gc-md5 (License): Likewise.
63958         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
63959         * modules/crypto/gc-random (License): Likewise.
63960         * modules/crypto/gc-rijndael (License): Likewise.
63961         * modules/crypto/gc-sha1 (License): Likewise.
63962         * modules/crypto/md2 (License): Likewise.
63963         * modules/crypto/md4 (License): Likewise.
63964
63965 2007-07-30  Jim Meyering  <jim@meyering.net>
63966
63967         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
63968         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
63969         it has valid stat data.  This bug would cause du not to count the
63970         sizes of inaccessible directories.
63971         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
63972         in <http://bugzilla.redhat.com/250077>.
63973
63974 2007-07-25  Peter O'Gorman  <peter@pogma.com>
63975             Bruno Haible  <bruno@clisp.org>
63976
63977         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
63978         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
63979         #include_next, gives a diagnostic about it, but reports no error in
63980         the exit code.
63981         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
63982
63983 2007-07-24  Ben Pfaff  <blp@gnu.org>
63984
63985         Improve name: "count-one-bits" is better than "popcount".
63986         * MODULES.html.sh: Update name.
63987         * lib/popcount.h: Renamed lib/count-one-bits.h.
63988         (popcount): Renamed count_one_bits.
63989         (popcountl): Renamed count_one_bits_l.
63990         (popcountll): Renamed count_one_bits_ll.
63991         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
63992         * modules/popcount: Renamed module/count-one-bits.
63993         * modules/popcount-tests: Renamed module/count-one-bits-tests.
63994         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
63995
63996 2007-07-23  Ben Pfaff  <blp@gnu.org>
63997
63998         * lib/popcount.h (popcount32): Reduce size of constants, to allow
63999         better code generation, and add U to large constants to avoid
64000         warnings, in non-GCC case.
64001         Suggested by Bruno Haible.
64002
64003 2007-07-23  Ben Pfaff  <blp@gnu.org>
64004
64005         * lib/popcount.h: Use verify_true instead of if...abort.
64006         * modules/popcount: Depend on verify module.
64007         Suggested by Jim Meyering.
64008
64009 2007-07-23  Bruno Haible  <bruno@clisp.org>
64010
64011         * gnulib-tool (func_import): Create a .cvsignore file also when the
64012         directory is not yet in CVS but the toplevel directory is. When
64013         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
64014         Reported by Karl Berry.
64015
64016 2007-07-22  Ben Pfaff  <blp@gnu.org>
64017
64018         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
64019         case.
64020         Suggested by Eric Blake.
64021
64022 2007-07-22  Ben Pfaff  <blp@gnu.org>
64023
64024         New module: popcount.
64025         * MODULES.html.sh: Add popcount.
64026         * modules/popcount: New file.
64027         * modules/popcount-tests: New file.
64028         * tests/test-popcount.c: New file.
64029         * lib/popcount.h: New file.
64030         * m4/popcount.m4: New file.
64031
64032 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
64033
64034         * build-aux/announce-gen: Update to GPLv3.
64035
64036         * build-aux/config.guess: Update from config.
64037
64038 2007-07-21  Bruno Haible  <bruno@clisp.org>
64039
64040         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
64041         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
64042
64043 2007-07-20  Jim Meyering  <jim@meyering.net>
64044
64045         * check-module: Diagnose a self-dependency.
64046
64047 2007-07-19  Bruno Haible  <bruno@clisp.org>
64048
64049         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
64050         empty.
64051         Reported by Eric Blake.
64052
64053 2007-07-18  Bruno Haible  <bruno@clisp.org>
64054
64055         * gnulib-tool: New options --po-base, --po-domain.
64056         (func_usage): Document them.
64057         (pobase, po_domain): New variables.
64058         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
64059         DEFAULT_TEXT_DOMAIN.
64060         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
64061         (func_import): Consider pobase and po_domain. Create a po/ directory.
64062         (func_create_testdir): Set pobase and po_domain to empty.
64063         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
64064         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
64065
64066 2007-07-18  Bruno Haible  <bruno@clisp.org>
64067
64068         * gnulib-tool (func_get_automake_snippet): Synthesize also an
64069         EXTRA_DIST augmentation for files in build-aux/.
64070
64071 2007-07-16  Bruno Haible  <bruno@clisp.org>
64072
64073         * modules/lseek (License): Use the synonymous term "LGPLv2+".
64074         * modules/getdelim (License): Likewise.
64075
64076 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64077
64078         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
64079         * modules/d-type (License): Likewise.
64080         * modules/extensions (License): Likewise.
64081         * modules/fnmatch (License): Likewise.
64082         * modules/fseeko (License): Likewise.
64083         * modules/getaddrinfo (License): Likewise.
64084         * modules/getline (License): Likewise.
64085         * modules/getlogin_r (License): Likewise.
64086         * modules/getpass (License): Likewise.
64087         * modules/gettimeofday (License): Likewise.
64088         * modules/glob (License): Likewise.
64089         * modules/inet_ntop (License): Likewise.
64090         * modules/malloc (License): Likewise.
64091         * modules/malloca (License): Likewise.
64092         * modules/memmem (License): Likewise.
64093         * modules/mempcpy (License): Likewise.
64094         * modules/memset (License): Likewise.
64095         * modules/minmax (License): Likewise.
64096         * modules/mktime (License): Likewise.
64097         * modules/netinet_in (License): Likewise.
64098         * modules/pathmax (License): Likewise.
64099         * modules/poll (License): Likewise.
64100         * modules/regex (License): Likewise.
64101         * modules/snprintf (License): Likewise.
64102         * modules/stdbool (License): Likewise.
64103         * modules/stdint (License): Likewise.
64104         * modules/stdio (License): Likewise.
64105         * modules/strcase (License): Likewise.
64106         * modules/strcasestr (License): Likewise.
64107         * modules/strdup (License): Likewise.
64108         * modules/string (License): Likewise.
64109         * modules/strndup (License): Likewise.
64110         * modules/strnlen (License): Likewise.
64111         * modules/strpbrk (License): Likewise.
64112         * modules/strptime (License): Likewise.
64113         * modules/strsep (License): Likewise.
64114         * modules/sys_select (License): Likewise.
64115         * modules/sys_socket (License): Likewise.
64116         * modules/sys_stat (License): Likewise.
64117         * modules/sys_time (License): Likewise.
64118         * modules/time (License): Likewise.
64119         * modules/time_r (License): Likewise.
64120         * modules/timegm (License): Likewise.
64121         * modules/unistd (License): Likewise.
64122         * modules/vsnprintf (License): Likewise.
64123         * modules/wctype (License): Likewise.
64124
64125 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64126
64127         * modules/argz (License): LGPLv2+.
64128
64129 2007-07-15  Karl Berry  <karl@gnu.org>
64130
64131         * doc/gnulib.texi: revise node structure per new fdl.texi.
64132
64133 2007-07-14  Bruno Haible  <bruno@clisp.org>
64134
64135         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
64136         the output file.
64137         * lib/uniname/uninames.h: Regenerated.
64138
64139 2007-07-14  Karl Berry  <karl@gnu.org>
64140
64141         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
64142         omitting sectioning and index commands.
64143
64144 2007-07-13  Bruno Haible  <bruno@clisp.org>
64145
64146         New gnulib-tool option --more-symlinks.
64147         * gnulib-tool (func_usage): Document --more-symlinks.
64148         (do_copyrights): New variable.
64149         Recognize option --more-symlinks.
64150         (func_import): Don't add a copyright notice transform to
64151         sed_transform_lib_file if do_copyrights is empty.
64152
64153 2007-07-13  Bruno Haible  <bruno@clisp.org>
64154
64155         * lib/vasnprintf.c (decimal_point_char): Define also if
64156         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
64157         && !NEED_PRINTF_DIRECTIVE_A.
64158         Reported by Clemens Koller <clemens.koller@anagramm.de> via
64159         Gary V. Vaughan <gary@gnu.org>.
64160
64161 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
64162
64163         * lib/inttypes_.h: Undo previous change, since it was fixed
64164         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
64165
64166 2007-07-13  Bruno Haible  <bruno@clisp.org>
64167
64168         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
64169         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
64170
64171 2007-07-13  Jim Meyering  <jim@meyering.net>
64172
64173         df: Don't fail for Tru64's "file-on-file mount".
64174         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
64175         so we fall through and use statfs instead.  Details here:
64176         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
64177         Reported by Albert Chin.
64178
64179 2007-07-13  Bruno Haible  <bruno@clisp.org>
64180
64181         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
64182         * modules/configmake (License): Likewise.
64183         * modules/gettext (License): Likewise.
64184         * modules/gettext-h (License): Likewise.
64185         * modules/include_next (License): Likewise.
64186         * modules/link-warning (License): Likewise.
64187         * modules/localcharset (License): Likewise.
64188         * modules/localename (License): Likewise.
64189         * modules/lock (License): Likewise.
64190         * modules/relocatable-lib-lgpl (License): Likewise.
64191         * modules/size_max (License): Likewise.
64192         * modules/vasnprintf (License): Likewise.
64193         * modules/wchar (License): Likewise.
64194         * modules/xsize (License): Likewise.
64195
64196 2007-07-13  Bruno Haible  <bruno@clisp.org>
64197
64198         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
64199         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
64200
64201 2007-07-12  Bruno Haible  <bruno@clisp.org>
64202
64203         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
64204         in the modules files.
64205
64206 2007-07-11  Karl Berry  <karl@gnu.org>
64207
64208         * MODULES.html.sh (func_module): use
64209          sed -e '\|^'"${includefile}"'$|d'
64210          instead of /.../d, to avoid errors on $includefile's containing /.
64211
64212 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64213
64214         * gnulib-tool (func_import): Avoid duplication of --avoid
64215         statements
64216         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
64217         names to `_' in variable names.
64218
64219 2007-07-10  Eric Blake  <ebb9@byu.net>
64220
64221         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
64222         * NEWS: Document this change.
64223
64224 2007-07-08  Bruno Haible  <bruno@clisp.org>
64225
64226         Update to Unicode 5.0.
64227         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
64228         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
64229         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
64230         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
64231         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
64232         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
64233         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
64234         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
64235         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
64236         U+10A3F, U+1D242..U+1D244.
64237         (nonspacing_table_ind): Update.
64238         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
64239         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
64240
64241 2007-07-08  Bruno Haible  <bruno@clisp.org>
64242
64243         Update to Unicode 5.0.
64244         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
64245         code transform. Extend the name index field of unicode_name_to_code and
64246         unicode_code_to_name from 16 to 24 bits.
64247         * lib/uniname/uniname.c (unicode_character_name,
64248         unicode_name_character): Add the range 0x12xxx to the code transform.
64249         * lib/uniname/uninames.h: Regenerated.
64250         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
64251
64252 2007-07-07  Bruno Haible  <bruno@clisp.org>
64253
64254         * modules/wcwidth-tests: New file.
64255         * tests/test-wcwidth.c: New file.
64256
64257         Work around MacOS X wcwidth() bug.
64258         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
64259         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
64260         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
64261         original wcwidth in non-UTF-8 locales.
64262         * modules/wcwidth (Depends-on): Add localcharset, streq,
64263         uniwidth/width.
64264         * doc/functions/wcwidth.texi: Update.
64265
64266 2007-07-07  Bruno Haible  <bruno@clisp.org>
64267
64268         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
64269         (wcwidth): New declaration.
64270         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
64271         macros.
64272         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
64273         here. Prepare for creating <wchar.h> unconditionally.
64274         * modules/wchar (Depends-on): Add link-warning.
64275         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
64276         REPLACE_WCWIDTH, and GL_LINK_WARNING.
64277         * lib/wcwidth.h: Remove file.
64278         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
64279         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
64280         * modules/wcwidth (Files): Remove lib/wcwidth.h.
64281         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
64282         (Include): Replace wcwidth.h with <wchar.h>.
64283         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
64284         * lib/mbchar.h: Don't include wcwidth.h.
64285         * lib/mbswidth.c: Likewise.
64286         * NEWS: Mention the change.
64287
64288 2007-07-07  Bruno Haible  <bruno@clisp.org>
64289
64290         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
64291         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
64292         definition with an external declaration.
64293         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
64294         defined as a function. Remove AC_C_INLINE requirement.
64295         * modules/wcwidth (Files): Add lib/wcwidth.c.
64296         (Makefile.am): Remove redundant statement.
64297
64298 2007-07-07  Bruno Haible  <bruno@clisp.org>
64299
64300         * MODULES.html.sh (Unicode string functions): Add the new modules.
64301
64302         * tests/uniwidth/test-u32-strwidth.c: New file.
64303         * modules/uniwidth/u32-strwidth-tests: New file.
64304
64305         * lib/uniwidth/u32-strwidth.c: New file.
64306         * modules/uniwidth/u32-strwidth: New file.
64307
64308         * tests/uniwidth/test-u16-strwidth.c: New file.
64309         * modules/uniwidth/u16-strwidth-tests: New file.
64310
64311         * lib/uniwidth/u16-strwidth.c: New file.
64312         * modules/uniwidth/u16-strwidth: New file.
64313
64314         * tests/uniwidth/test-u8-strwidth.c: New file.
64315         * modules/uniwidth/u8-strwidth-tests: New file.
64316
64317         * lib/uniwidth/u8-strwidth.c: New file.
64318         * modules/uniwidth/u8-strwidth: New file.
64319
64320         * tests/uniwidth/test-u32-width.c: New file.
64321         * modules/uniwidth/u32-width-tests: New file.
64322
64323         * lib/uniwidth/u32-width.c: New file.
64324         * modules/uniwidth/u32-width: New file.
64325
64326         * tests/uniwidth/test-u16-width.c: New file.
64327         * modules/uniwidth/u16-width-tests: New file.
64328
64329         * lib/uniwidth/u16-width.c: New file.
64330         * modules/uniwidth/u16-width: New file.
64331
64332         * tests/uniwidth/test-u8-width.c: New file.
64333         * modules/uniwidth/u8-width-tests: New file.
64334
64335         * lib/uniwidth/u8-width.c: New file.
64336         * modules/uniwidth/u8-width: New file.
64337
64338         * tests/uniwidth/test-uc_width.c: New file.
64339         * modules/uniwidth/width-tests: New file.
64340
64341         * lib/uniwidth/width.c: New file, from GNU libiconv.
64342         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
64343         * modules/uniwidth/width: New file.
64344
64345         * lib/uniwidth.h: New file, from GNU libiconv.
64346         * modules/uniwidth/base: New file.
64347
64348 2007-07-07  Bruno Haible  <bruno@clisp.org>
64349
64350         * lib/uniname.h: New file, from GNU gettext.
64351         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
64352         * lib/uniname/uninames.h: New file, from GNU gettext.
64353         * lib/uniname/uniname.c: New file, from GNU gettext.
64354         * tests/uniname/test-uninames.sh: New file.
64355         * tests/uniname/test-uninames.c: New file, from GNU gettext.
64356         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
64357         * modules/uniname/base: New file.
64358         * modules/uniname/uniname: New file.
64359         * modules/uniname/uniname-tests: New file.
64360         * MODULES.html.sh (Unicode string functions): Add the new modules.
64361
64362 2007-07-06  Bruno Haible  <bruno@clisp.org>
64363
64364         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
64365
64366 2007-07-06  Bruno Haible  <bruno@clisp.org>
64367
64368         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
64369         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
64370         includes <cygwin/sys_time.h> which includes <sys/select.h> which
64371         include <sys/time.h>.
64372         Reported by Eric Blake.
64373
64374 2007-07-06  Eric Blake  <ebb9@byu.net>
64375
64376         Fix testing canonicalize on cygwin.
64377         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
64378         Revert patch from 2007-06-19.
64379         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
64380         canonicalize module is also in use.
64381         * tests/test-canonicalize.c: New file.
64382         * tests/test-canonicalize.sh: Likewise.
64383         * modules/canonicalize-tests: Likewise.
64384
64385 2007-07-06  Jim Meyering  <jim@meyering.net>
64386
64387         * lib/getugroups.c (getugroups): Detect getgrent failure.
64388         Adjust comment to reflect reality: this function may return -1.
64389
64390 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
64391
64392         * build-aux/bootstrap (TP_URL,get_translations): Update to use
64393         the new TP address.
64394         (usage): Fix typo
64395         (gnulib_mk): New variable.
64396
64397 2007-07-05  Jim Meyering  <jim@meyering.net>
64398
64399         Don't let endgrent clobber errno, no matter how improbable.
64400         * lib/getugroups.c (getugroups): Save and restore errno around
64401         endgrent call.
64402
64403         Close the group DB even when failing with 2^31 or more members.
64404         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
64405
64406 2007-07-04  Jim Meyering  <jim@meyering.net>
64407
64408         * lib/getugroups.h: New file.
64409         * lib/getugroups.c: Include "getugroups.h".
64410         Remove uses of "register" keyword.
64411         Move local variable, "cp", down into scope where used.
64412         Give "username" parameter the "const" attribute.
64413         * modules/getugroups (Files): Add lib/getugroups.h
64414
64415 2007-07-04  Karl Berry  <karl@gnu.org>
64416
64417         * MODULES.html.sh (func_all_modules): Complete rename of
64418         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
64419
64420 2007-07-02  Bruno Haible  <bruno@clisp.org>
64421
64422         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
64423         mode, when inttypes.h comes from gnulib.
64424         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
64425
64426 2007-07-02  Simon Josefsson  <simon@josefsson.org>
64427
64428         * NEWS: Mention lgpl module name change.
64429
64430         * modules/lgpl-2.1: Renamed from lgpl.
64431
64432         * NEWS: Mention gpl module name change.
64433
64434         * modules/gpl-3.0: New file, based on gpl-2.0.
64435
64436         * modules/gpl-2.0: Renamed from gpl.
64437
64438         * modules/gpl: Fix filename, doc/gpl.texi is now found at
64439         doc/gpl-2.0.texi.
64440
64441 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
64442
64443         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
64444         #define __STDC_LIMIT_MACROS temporarily while including
64445         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
64446         Problem reported by Joel E. Denny in
64447         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
64448
64449 2007-07-01  Bruno Haible  <bruno@clisp.org>
64450
64451         * lib/unistdio.h: New file.
64452         * lib/unistdio/u-asnprintf.h: New file.
64453         * lib/unistdio/u-asprintf.h: New file.
64454         * lib/unistdio/u-printf-args.c: New file.
64455         * lib/unistdio/u-printf-args.h: New file.
64456         * lib/unistdio/u-printf-parse.h: New file.
64457         * lib/unistdio/u-snprintf.h: New file.
64458         * lib/unistdio/u-sprintf.h: New file.
64459         * lib/unistdio/u-vasprintf.h: New file.
64460         * lib/unistdio/u-vsnprintf.h: New file.
64461         * lib/unistdio/u-vsprintf.h: New file.
64462         * lib/unistdio/ulc-asnprintf.c: New file.
64463         * lib/unistdio/ulc-asprintf.c: New file.
64464         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
64465         * lib/unistdio/ulc-printf-parse.c: New file.
64466         * lib/unistdio/ulc-snprintf.c: New file.
64467         * lib/unistdio/ulc-sprintf.c: New file.
64468         * lib/unistdio/ulc-vasnprintf.c: New file.
64469         * lib/unistdio/ulc-vasprintf.c: New file.
64470         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
64471         * lib/unistdio/ulc-vsnprintf.c: New file.
64472         * lib/unistdio/ulc-vsprintf.c: New file.
64473         * lib/unistdio/u8-asnprintf.c: New file.
64474         * lib/unistdio/u8-asprintf.c: New file.
64475         * lib/unistdio/u8-printf-parse.c: New file.
64476         * lib/unistdio/u8-snprintf.c: New file.
64477         * lib/unistdio/u8-sprintf.c: New file.
64478         * lib/unistdio/u8-vasnprintf.c: New file.
64479         * lib/unistdio/u8-vasprintf.c: New file.
64480         * lib/unistdio/u8-vsnprintf.c: New file.
64481         * lib/unistdio/u8-vsprintf.c: New file.
64482         * lib/unistdio/u8-u8-asnprintf.c: New file.
64483         * lib/unistdio/u8-u8-asprintf.c: New file.
64484         * lib/unistdio/u8-u8-snprintf.c: New file.
64485         * lib/unistdio/u8-u8-sprintf.c: New file.
64486         * lib/unistdio/u8-u8-vasnprintf.c: New file.
64487         * lib/unistdio/u8-u8-vasprintf.c: New file.
64488         * lib/unistdio/u8-u8-vsnprintf.c: New file.
64489         * lib/unistdio/u8-u8-vsprintf.c: New file.
64490         * lib/unistdio/u16-asnprintf.c: New file.
64491         * lib/unistdio/u16-asprintf.c: New file.
64492         * lib/unistdio/u16-printf-parse.c: New file.
64493         * lib/unistdio/u16-snprintf.c: New file.
64494         * lib/unistdio/u16-sprintf.c: New file.
64495         * lib/unistdio/u16-vasnprintf.c: New file.
64496         * lib/unistdio/u16-vasprintf.c: New file.
64497         * lib/unistdio/u16-vsnprintf.c: New file.
64498         * lib/unistdio/u16-vsprintf.c: New file.
64499         * lib/unistdio/u16-u16-asnprintf.c: New file.
64500         * lib/unistdio/u16-u16-asprintf.c: New file.
64501         * lib/unistdio/u16-u16-snprintf.c: New file.
64502         * lib/unistdio/u16-u16-sprintf.c: New file.
64503         * lib/unistdio/u16-u16-vasnprintf.c: New file.
64504         * lib/unistdio/u16-u16-vasprintf.c: New file.
64505         * lib/unistdio/u16-u16-vsnprintf.c: New file.
64506         * lib/unistdio/u16-u16-vsprintf.c: New file.
64507         * lib/unistdio/u32-asnprintf.c: New file.
64508         * lib/unistdio/u32-asprintf.c: New file.
64509         * lib/unistdio/u32-printf-parse.c: New file.
64510         * lib/unistdio/u32-snprintf.c: New file.
64511         * lib/unistdio/u32-sprintf.c: New file.
64512         * lib/unistdio/u32-vasnprintf.c: New file.
64513         * lib/unistdio/u32-vasprintf.c: New file.
64514         * lib/unistdio/u32-vsnprintf.c: New file.
64515         * lib/unistdio/u32-vsprintf.c: New file.
64516         * lib/unistdio/u32-u32-asnprintf.c: New file.
64517         * lib/unistdio/u32-u32-asprintf.c: New file.
64518         * lib/unistdio/u32-u32-snprintf.c: New file.
64519         * lib/unistdio/u32-u32-sprintf.c: New file.
64520         * lib/unistdio/u32-u32-vasnprintf.c: New file.
64521         * lib/unistdio/u32-u32-vasprintf.c: New file.
64522         * lib/unistdio/u32-u32-vsnprintf.c: New file.
64523         * lib/unistdio/u32-u32-vsprintf.c: New file.
64524         * tests/unistdio/test-ulc-asnprintf1.c: New file.
64525         * tests/unistdio/test-ulc-asnprintf1.h: New file.
64526         * tests/unistdio/test-ulc-printf1.h: New file.
64527         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
64528         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
64529         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
64530         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
64531         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
64532         * tests/unistdio/test-ulc-vasprintf1.c: New file.
64533         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
64534         * tests/unistdio/test-ulc-vsprintf1.c: New file.
64535         * tests/unistdio/test-u8-asnprintf1.c: New file.
64536         * tests/unistdio/test-u8-asnprintf1.h: New file.
64537         * tests/unistdio/test-u8-printf1.h: New file.
64538         * tests/unistdio/test-u8-vasnprintf1.c: New file.
64539         * tests/unistdio/test-u8-vasnprintf2.c: New file.
64540         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
64541         * tests/unistdio/test-u8-vasnprintf3.c: New file.
64542         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
64543         * tests/unistdio/test-u8-vasprintf1.c: New file.
64544         * tests/unistdio/test-u8-vsnprintf1.c: New file.
64545         * tests/unistdio/test-u8-vsprintf1.c: New file.
64546         * tests/unistdio/test-u16-asnprintf1.c: New file.
64547         * tests/unistdio/test-u16-asnprintf1.h: New file.
64548         * tests/unistdio/test-u16-printf1.h: New file.
64549         * tests/unistdio/test-u16-vasnprintf1.c: New file.
64550         * tests/unistdio/test-u16-vasnprintf2.c: New file.
64551         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
64552         * tests/unistdio/test-u16-vasnprintf3.c: New file.
64553         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
64554         * tests/unistdio/test-u16-vasprintf1.c: New file.
64555         * tests/unistdio/test-u16-vsnprintf1.c: New file.
64556         * tests/unistdio/test-u16-vsprintf1.c: New file.
64557         * tests/unistdio/test-u32-asnprintf1.c: New file.
64558         * tests/unistdio/test-u32-asnprintf1.h: New file.
64559         * tests/unistdio/test-u32-printf1.h: New file.
64560         * tests/unistdio/test-u32-vasnprintf1.c: New file.
64561         * tests/unistdio/test-u32-vasnprintf2.c: New file.
64562         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
64563         * tests/unistdio/test-u32-vasnprintf3.c: New file.
64564         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
64565         * tests/unistdio/test-u32-vasprintf1.c: New file.
64566         * tests/unistdio/test-u32-vsnprintf1.c: New file.
64567         * tests/unistdio/test-u32-vsprintf1.c: New file.
64568         * modules/unistdio/base: New file.
64569         * modules/unistdio/u-printf-args: New file.
64570         * modules/unistdio/ulc-asnprintf: New file.
64571         * modules/unistdio/ulc-asprintf: New file.
64572         * modules/unistdio/ulc-fprintf: New file.
64573         * modules/unistdio/ulc-printf-parse: New file.
64574         * modules/unistdio/ulc-snprintf: New file.
64575         * modules/unistdio/ulc-sprintf: New file.
64576         * modules/unistdio/ulc-vasnprintf: New file.
64577         * modules/unistdio/ulc-vasprintf: New file.
64578         * modules/unistdio/ulc-vfprintf: New file.
64579         * modules/unistdio/ulc-vsnprintf: New file.
64580         * modules/unistdio/ulc-vsprintf: New file.
64581         * modules/unistdio/u8-asnprintf: New file.
64582         * modules/unistdio/u8-asprintf: New file.
64583         * modules/unistdio/u8-printf-parse: New file.
64584         * modules/unistdio/u8-snprintf: New file.
64585         * modules/unistdio/u8-sprintf: New file.
64586         * modules/unistdio/u8-vasnprintf: New file.
64587         * modules/unistdio/u8-vasprintf: New file.
64588         * modules/unistdio/u8-vsnprintf: New file.
64589         * modules/unistdio/u8-vsprintf: New file.
64590         * modules/unistdio/u8-u8-asnprintf: New file.
64591         * modules/unistdio/u8-u8-asprintf: New file.
64592         * modules/unistdio/u8-u8-snprintf: New file.
64593         * modules/unistdio/u8-u8-sprintf: New file.
64594         * modules/unistdio/u8-u8-vasnprintf: New file.
64595         * modules/unistdio/u8-u8-vasprintf: New file.
64596         * modules/unistdio/u8-u8-vsnprintf: New file.
64597         * modules/unistdio/u8-u8-vsprintf: New file.
64598         * modules/unistdio/u16-asnprintf: New file.
64599         * modules/unistdio/u16-asprintf: New file.
64600         * modules/unistdio/u16-printf-parse: New file.
64601         * modules/unistdio/u16-snprintf: New file.
64602         * modules/unistdio/u16-sprintf: New file.
64603         * modules/unistdio/u16-vasnprintf: New file.
64604         * modules/unistdio/u16-vasprintf: New file.
64605         * modules/unistdio/u16-vsnprintf: New file.
64606         * modules/unistdio/u16-vsprintf: New file.
64607         * modules/unistdio/u16-u16-asnprintf: New file.
64608         * modules/unistdio/u16-u16-asprintf: New file.
64609         * modules/unistdio/u16-u16-snprintf: New file.
64610         * modules/unistdio/u16-u16-sprintf: New file.
64611         * modules/unistdio/u16-u16-vasnprintf: New file.
64612         * modules/unistdio/u16-u16-vasprintf: New file.
64613         * modules/unistdio/u16-u16-vsnprintf: New file.
64614         * modules/unistdio/u16-u16-vsprintf: New file.
64615         * modules/unistdio/u32-asnprintf: New file.
64616         * modules/unistdio/u32-asprintf: New file.
64617         * modules/unistdio/u32-printf-parse: New file.
64618         * modules/unistdio/u32-snprintf: New file.
64619         * modules/unistdio/u32-sprintf: New file.
64620         * modules/unistdio/u32-vasnprintf: New file.
64621         * modules/unistdio/u32-vasprintf: New file.
64622         * modules/unistdio/u32-vsnprintf: New file.
64623         * modules/unistdio/u32-vsprintf: New file.
64624         * modules/unistdio/u32-u32-asnprintf: New file.
64625         * modules/unistdio/u32-u32-asprintf: New file.
64626         * modules/unistdio/u32-u32-snprintf: New file.
64627         * modules/unistdio/u32-u32-sprintf: New file.
64628         * modules/unistdio/u32-u32-vasnprintf: New file.
64629         * modules/unistdio/u32-u32-vasprintf: New file.
64630         * modules/unistdio/u32-u32-vsnprintf: New file.
64631         * modules/unistdio/u32-u32-vsprintf: New file.
64632         * modules/unistdio/ulc-asnprintf-tests: New file.
64633         * modules/unistdio/ulc-vasnprintf-tests: New file.
64634         * modules/unistdio/ulc-vasprintf-tests: New file.
64635         * modules/unistdio/ulc-vsnprintf-tests: New file.
64636         * modules/unistdio/ulc-vsprintf-tests: New file.
64637         * modules/unistdio/u8-asnprintf-tests: New file.
64638         * modules/unistdio/u8-vasnprintf-tests: New file.
64639         * modules/unistdio/u8-vasprintf-tests: New file.
64640         * modules/unistdio/u8-vsnprintf-tests: New file.
64641         * modules/unistdio/u8-vsprintf-tests: New file.
64642         * modules/unistdio/u16-asnprintf-tests: New file.
64643         * modules/unistdio/u16-vasnprintf-tests: New file.
64644         * modules/unistdio/u16-vasprintf-tests: New file.
64645         * modules/unistdio/u16-vsnprintf-tests: New file.
64646         * modules/unistdio/u16-vsprintf-tests: New file.
64647         * modules/unistdio/u32-asnprintf-tests: New file.
64648         * modules/unistdio/u32-vasnprintf-tests: New file.
64649         * modules/unistdio/u32-vasprintf-tests: New file.
64650         * modules/unistdio/u32-vsnprintf-tests: New file.
64651         * modules/unistdio/u32-vsprintf-tests: New file.
64652         * MODULES.html.sh (Unicode string functions): Add the new modules.
64653
64654 2007-07-01  Bruno Haible  <bruno@clisp.org>
64655
64656         * lib/sprintf.c (sprintf): Limit the available length estimation,
64657         to avoid address wraparound.
64658         * lib/vsprintf.c (vsprintf): Likewise.
64659         * modules/sprintf-posix (Dependencies): Add stdint.
64660         * modules/vsprintf-posix (Dependencies): Likewise.
64661
64662 2007-07-01  Bruno Haible  <bruno@clisp.org>
64663
64664         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
64665         Windows PATH as well. Conservative double-quoting. Comments.
64666
64667 2007-07-01  Bruno Haible  <bruno@clisp.org>
64668             Eric Blake  <ebb9@byu.net>
64669             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64670
64671         * gnulib-tool (self_abspathname): Fix algorithm to cope with
64672         empty components in $PATH, denoting '.'.
64673
64674 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64675
64676         * gnulib-tool: Fix indentation.
64677         (func_create_megatestdir): Likewise.
64678         Report by Bruno Haible.
64679
64680 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64681
64682         Sync from Automake.
64683         * build-aux/gnupload: Fix shell portability issues with for loops.
64684         Report by Karl Berry.
64685
64686 2007-06-29  Simon Josefsson  <simon@josefsson.org>
64687
64688         * build-aux/maint.mk (POURL): Use translationproject.org.
64689
64690 2007-06-27  Simon Josefsson  <simon@josefsson.org>
64691             Bruno Haible  <bruno@clisp.org>
64692
64693         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
64694         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
64695         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
64696         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
64697         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
64698
64699 2007-06-27  Bruno Haible  <bruno@clisp.org>
64700
64701         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
64702         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
64703
64704 2007-06-26  Karl Berry  <karl@gnu.org>
64705
64706         * MODULES.html.sh: remove xreadlink-with-size.
64707
64708 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64709
64710         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
64711         method that I hope also handles the double-include problem noted
64712         by Bruno Haible in
64713         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
64714
64715 2007-06-23  Bruno Haible  <bruno@clisp.org>
64716
64717         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64718         Don't let the 'mostlyclean' target fail if the last subdirectory could
64719         not be removed.
64720         Reported by Karl Berry.
64721
64722 2007-06-23  Bruno Haible  <bruno@clisp.org>
64723
64724         * gnulib-tool (echo): Add a speedier workaround for ksh.
64725         * tests/test-echo.sh: Likewise.
64726
64727 2007-06-23  Bruno Haible  <bruno@clisp.org>
64728
64729         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
64730         * tests/test-echo.sh: Likewise.
64731
64732 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64733
64734         * gnulib-tool (IFS): Initialize early, so we don't set it to
64735         empty later.
64736         (self_abspathname): Rewrite algorithm to set it, reindent.
64737         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
64738         (func_create_megatestdir): Merge some sed scripts.
64739
64740 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64741
64742         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
64743         exposed by Sun Studio 11 cc on Solaris 8.
64744
64745 2007-06-22  Bruno Haible  <bruno@clisp.org>
64746
64747         * gnulib-tool (echo): Ensure the echo primitive does not interpret
64748         backslashes.
64749         * tests/test-echo.sh: New file.
64750
64751 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64752
64753         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
64754         simplify `sed_replace_build_aux' scripts, they are portable but
64755         echoing them with `echo' is not.
64756         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
64757
64758 2007-06-21  Karl Berry  <karl@gnu.org>
64759
64760         * config/srclist.txt: guess we can't handle the licenses via
64761         srclist at the moment.
64762
64763 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
64764
64765         * MODULES.html.sh: Add include_next.
64766         * modules/include_next: New file.
64767
64768 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
64769
64770         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
64771         INCLUDE_NEXT.
64772         (gl_CHECK_NEXT_HEADERS): New macro.
64773         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
64774         the obsolescent gl_ABSOLUTE_HEADER.
64775         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
64776         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
64777         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
64778         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
64779         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
64780         * m4/math_h.m4 (gl_MATH_H): Likewise.
64781         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
64782         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
64783         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
64784         * m4/stdint.m4 (gl_STDINT_H): Likewise.
64785         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
64786         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
64787         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
64788         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
64789         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
64790         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
64791         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
64792         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
64793         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
64794         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
64795         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
64796         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64797         * m4/inttypes.m4 (gl_INTTYPES_H): Define
64798         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
64799         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
64800         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
64801         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
64802         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
64803         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
64804         * lib/float_.h: Likewise.
64805         * lib/inttypes_.h: Likewise.
64806         * lib/math_.h: Likewise.
64807         * lib/search_.h: Likewise.
64808         * lib/signal_.h: Likewise.
64809         * lib/stdint_.h: Likewise.
64810         * lib/stdio_.h: Likewise.
64811         * lib/stdlib_.h: Likewise.
64812         * lib/string_.h: Likewise.
64813         * lib/sys_stat_.h: Likewise.
64814         * lib/sys_time_.h: Likewise.
64815         * lib/time_.h: Likewise.
64816         * lib/unistd_.h: Likewise.
64817         * lib/wchar_.h: Likewise.
64818         * lib/wctype_.h: Likewise.
64819         * lib/dirent_.h: Likewise.
64820         * lib/iconv_.h: Likewise.
64821         * lib/locale_.h: Likewise.
64822         * lib/netinet_in_.h: Likewise.
64823         * lib/sys_select_.h: Likewise.
64824         * lib/sys_socket_.h: Likewise.
64825         * lib/sysexits_.h: Likewise.
64826         * modules/fcntl (Depends-on): Depend on include_next, not
64827         absolute_header.
64828         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
64829         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
64830         * modules/fchdir: Likewise.
64831         * modules/float: Likewise.
64832         * modules/iconv_open: Likewise.
64833         * modules/inttypes: Likewise.
64834         * modules/locale: Likewise.
64835         * modules/math: Likewise.
64836         * modules/netinet_in: Likewise.
64837         * modules/search: Likewise.
64838         * modules/signal: Likewise.
64839         * modules/stdint: Likewise.
64840         * modules/stdio: Likewise.
64841         * modules/stdlib: Likewise.
64842         * modules/string: Likewise.
64843         * modules/sys_select: Likewise.
64844         * modules/sys_socket: Likewise.
64845         * modules/sys_stat: Likewise.
64846         * modules/sys_time: Likewise.
64847         * modules/sysexits: Likewise.
64848         * modules/time: Likewise.
64849         * modules/unistd: Likewise.
64850         * modules/wchar: Likewise.
64851         * modules/wctype: Likewise.
64852         * modules/sys_stat: Change maintainer to "all".
64853         * modules/unistd: Likewise.
64854
64855 2007-06-20  Karl Berry  <karl@gnu.org>
64856
64857         * config/srclist.txt: track www changes in license files.
64858
64859 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
64860
64861         * build-aux/bootstrap: Remove stray dot.
64862         Make sure build_aux settings are honored when linking
64863         gnulib_extra_files.
64864
64865 2007-06-19  Eric Blake  <ebb9@byu.net>
64866
64867         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
64868         Allow compilation on cygwin.
64869
64870 2007-06-19  Jim Meyering  <jim@meyering.net>
64871
64872         xreadlink-with-size: Remove module.  No longer used.
64873         Ex-callers now use xreadlink or mreadlink-with-size.
64874         * modules/xreadlink-with-size: Remove module.
64875         * lib/xreadlink-with-size.c: Remove file.
64876         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
64877         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
64878         just before the function definition *is* accurate.
64879
64880         Eliminate one way canonicalize_filename_mode could exit.
64881         * lib/canonicalize.c (canonicalize_filename_mode):
64882         Use mreadlink_with_size, not xreadlink_with_size.
64883
64884 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
64885
64886         Detect porting problems to FreeBSD/arm, which has time_t wider than
64887         long int.  Original problem reported for GNU diff by Xin Li in
64888         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
64889         * modules/getdate (Depends-on): Add intprops, verify.
64890         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
64891         is an integer type no wider than long int.
64892
64893 2007-06-18  Jim Meyering  <jim@meyering.net>
64894
64895         New module: mreadlink-with-size.
64896         * MODULES.html.sh: Add mreadlink-with-size.
64897         * modules/mreadlink-with-size: New module
64898         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
64899         not xreadlink-with-size.
64900         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
64901
64902 2007-06-16  Bruno Haible  <bruno@clisp.org>
64903
64904         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
64905         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
64906         Reported by Gary V. Vaughan <gary@gnu.org>.
64907
64908 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
64909
64910         Revamp lchown so that it lives in unistd.h where it belongs.
64911         * lib/lchown.h: Remove.
64912         * lib/dirchownmod.c: Don't include lib/lchown.h.
64913         * lib/fchownat.c: Likewise.
64914         * lib/openat.c: Likewise.
64915         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
64916         does not follow symlinks.
64917         (EOPNOTSUPP): Define if not defined.
64918         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
64919         is defined to 0.
64920         (lchown): New decl.
64921         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
64922         Do not check for lchown decl.
64923         Set REPLACE_LCHOWN.
64924         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
64925         REPLACE_LCHOWN.
64926         * modules/chown: Make it clear it follows symlinks.
64927         * modules/lchown: Make it clear it doesn't follow symlinks.
64928         (Files): Remove lib/lchown.h
64929         (Depends-on): Add unistd.
64930         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
64931         (Include): Include <unistd.h>, not "lchown.h".
64932         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
64933         REPLACE_LCHOWN.
64934
64935 2007-06-15  Jim Meyering  <jim@meyering.net>
64936
64937         Change license (GPL to LGPL) of fsusage and dependents.
64938         * modules/fsusage (License): Change to LGPL.
64939         * modules/full-read (License): Likewise.
64940         * modules/full-write (License): Likewise.
64941         * modules/safe-read (License): Likewise.
64942         * modules/safe-write (License): Likewise.
64943
64944 2007-06-14  Ben Pfaff  <blp@gnu.org>
64945
64946         Missing part of allocsa -> malloca transition.
64947         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
64948         gl_MALLOCA.
64949
64950 2007-06-12  Bruno Haible  <bruno@clisp.org>
64951
64952         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
64953         to ia64, x86_64, i386.
64954         Reported by Eric Blake.
64955
64956 2007-06-12  Bruno Haible  <bruno@clisp.org>
64957
64958         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
64959         cross-compiling to x86_64.
64960
64961 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
64962
64963         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
64964         glitch reported by Ralf Wildenhues in
64965         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
64966
64967         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
64968         Vin Shelton.
64969
64970 2007-06-11  Bruno Haible  <bruno@clisp.org>
64971
64972         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
64973         replacement string.
64974         Reported by Eric Blake.
64975
64976 2007-06-10  Bruno Haible  <bruno@clisp.org>
64977
64978         Prepare vasnprintf code for use with Unicode strings.
64979         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
64980         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
64981         TYPE_U32_STRING.
64982         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
64983         a_u32_string variants.
64984         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
64985         * lib/printf-args.c: Don't include config.h and the specification
64986         header if PRINTF_FETCHARGS is already defined.
64987         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
64988         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
64989         TYPE_U16_STRING, TYPE_U32_STRING.
64990         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
64991         u16_directive, u16_directives, u32_directive, u32_directives): New
64992         types.
64993         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
64994         New declarations.
64995         * lib/printf-parse.c: Don't include config.h and the specification
64996         header if PRINTF_PARSE is already defined. Eliminate the set of
64997         parameters for WIDE_CHAR_VERSION; the user of this file must provide
64998         them now. Include c-ctype.h.
64999         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
65000         directive and CHAR_T_ONLY_ASCII.
65001         * lib/vasnprintf.c: Don't include config.h and the specification header
65002         if VASNPRINTF is already defined.
65003         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
65004         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
65005         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
65006         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
65007         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
65008         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
65009         code accordingly.
65010         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
65011         pad_ourselves also in this case, with the 'c' and 's' directives, and
65012         with a different notion of "width".
65013         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
65014
65015 2007-06-10  Bruno Haible  <bruno@clisp.org>
65016
65017         * modules/unistr/u32-mbsnlen: New file.
65018         * lib/unistr/u32-mbsnlen.c: New file.
65019
65020         * modules/unistr/u16-mbsnlen: New file.
65021         * lib/unistr/u16-mbsnlen.c: New file.
65022
65023         * modules/unistr/u8-mbsnlen: New file.
65024         * lib/unistr/u8-mbsnlen.c: New file.
65025
65026         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
65027         declarations.
65028
65029 2007-06-10  Bruno Haible  <bruno@clisp.org>
65030
65031         * lib/string_.h (mbsnlen): New declaration.
65032         * lib/mbsnlen.c: New file.
65033         * m4/mbsnlen.m4: New file.
65034         * modules/mbsnlen: New file.
65035         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
65036         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
65037         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
65038
65039 2007-06-10  Bruno Haible  <bruno@clisp.org>
65040
65041         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
65042
65043 2007-06-10  Bruno Haible  <bruno@clisp.org>
65044
65045         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
65046         * lib/mbuiter.h: Likewise.
65047
65048 2007-06-10  Bruno Haible  <bruno@clisp.org>
65049
65050         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
65051         declaration.
65052
65053 2007-06-10  Karl Berry  <karl@gnu.org>
65054
65055         * config/srclist.txt: remove gettext entries, Bruno prefers
65056         to update individually.
65057
65058 2007-06-10  Bruno Haible  <bruno@clisp.org>
65059
65060         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
65061         'maxlen'. Ensure only length + width bytes are allocated, not
65062         length + 1 + width.
65063
65064 2007-06-09  Bruno Haible  <bruno@clisp.org>
65065
65066         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
65067         (CHAR_T): Remove macro.
65068         (VASNPRINTF): Update.
65069
65070 2007-06-09  Bruno Haible  <bruno@clisp.org>
65071
65072         * MODULES.html.sh (Unicode string functions): Add the new modules.
65073
65074         * modules/uniconv/u32-conv-to-enc: New file.
65075         * lib/uniconv/u32-conv-to-enc.c: New file.
65076         * modules/uniconv/u32-conv-to-enc-tests: New file.
65077         * tests/uniconv/test-u32-conv-to-enc.c: New file.
65078
65079         * modules/uniconv/u16-conv-to-enc: New file.
65080         * lib/uniconv/u16-conv-to-enc.c: New file.
65081         * lib/uniconv/u-conv-to-enc.h: New file.
65082         * modules/uniconv/u16-conv-to-enc-tests: New file.
65083         * tests/uniconv/test-u16-conv-to-enc.c: New file.
65084
65085         * modules/uniconv/u8-conv-to-enc: New file.
65086         * lib/uniconv/u8-conv-to-enc.c: New file.
65087         * modules/uniconv/u8-conv-to-enc-tests: New file.
65088         * tests/uniconv/test-u8-conv-to-enc.c: New file.
65089
65090         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
65091         u32_conv_to_encoding): New declarations.
65092
65093 2007-06-09  Bruno Haible  <bruno@clisp.org>
65094
65095         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
65096
65097 2007-06-09  Bruno Haible  <bruno@clisp.org>
65098
65099         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
65100         * modules/malloca: Renamed from modules/allocsa, updated.
65101         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
65102         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
65103         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
65104         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
65105         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
65106         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
65107         * modules/xmalloca: Renamed from modules/xallocsa, updated.
65108         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
65109         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
65110         * modules/c-strcasestr (Depends-on): Update.
65111         * lib/c-strcasestr.c: Update.
65112         * modules/c-strstr (Depends-on): Update.
65113         * lib/c-strstr.c: Update.
65114         * modules/canonicalize-lgpl (Depends-on): Update.
65115         * lib/canonicalize-lgpl.c: Update.
65116         * modules/clean-temp (Depends-on): Update.
65117         * lib/clean-temp.c: Update.
65118         * modules/csharpcomp (Depends-on): Update.
65119         * lib/csharpcomp.c: Update.
65120         * modules/csharpexec (Depends-on): Update.
65121         * lib/csharpexec.c: Update.
65122         * modules/javacomp (Depends-on): Update.
65123         * lib/javacomp.c: Update.
65124         * modules/javaexec (Depends-on): Update.
65125         * lib/javaexec.c: Update.
65126         * modules/mbscasestr (Depends-on): Update.
65127         * lib/mbscasestr.c: Update.
65128         * modules/mbsstr (Depends-on): Update.
65129         * lib/mbsstr.c: Update.
65130         * modules/setenv (Depends-on): Update.
65131         * lib/setenv.c: Update.
65132         * modules/strcasestr (Depends-on): Update.
65133         * lib/strcasestr.c: Update.
65134         * modules/striconveha (Depends-on): Update.
65135         * lib/striconveha.c: Update.
65136         * modules/relocatable-prog-wrapper (Files): Update.
65137         * lib/relocwrapper.c: Update.
65138         * build-aux/install-reloc: Update.
65139         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
65140
65141 2007-06-08  Bruno Haible  <bruno@clisp.org>
65142
65143         Port to uClibc.
65144         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
65145         * lib/fpurge.c (fpurge): Likewise.
65146         * lib/freading.c (freading): Likewise.
65147         * lib/fseeko.c (rpl_fseeko): Likewise.
65148         * lib/fseterr.c (fseterr): Likewise.
65149         * lib/fwriting.c (fwriting): Likewise.
65150         * tests/test-fflush.c (main): Avoid a failure on uClibc.
65151
65152 2007-06-08  Bruno Haible  <bruno@clisp.org>
65153
65154         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
65155         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
65156         * modules/gettext (Files): Add m4/intlmacosx.m4.
65157
65158 2007-06-07  Bruno Haible  <bruno@clisp.org>
65159
65160         * modules/localename-tests: New file.
65161         * tests/test-localename.c: New file.
65162
65163         New module 'localename'.
65164         * lib/localename.h: New file.
65165         * lib/localename.c: New file, from GNU gettext.
65166         * m4/localename.m4: New file.
65167         * modules/localename: New file.
65168
65169 2007-06-07  Bruno Haible  <bruno@clisp.org>
65170
65171         Work around the lack of <wchar.h> on some builds of uClibc.
65172         * doc/headers/wchar.texi: Update.
65173         * lib/wchar_.h: Include <wchar.h> only if it exists.
65174         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
65175         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
65176         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
65177         doesn't exist.
65178         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
65179         * modules/mbfile (Depends-on): Add wchar.
65180         * modules/mbiter (Depends-on): Likewise.
65181         * modules/mbuiter (Depends-on): Likewise.
65182         Reported by Simon Josefsson.
65183
65184 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
65185
65186         Work around problem reported by Steven M. Schweda in
65187         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
65188         Tru64 5.1B with the Compaq compiler environment installed declares
65189         an 'isblank' function but does not define it in the C library.
65190         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
65191         * lib/regex_internal.h (isblank): Likewise.
65192         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
65193         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65194
65195 2007-06-05  Bruno Haible  <bruno@clisp.org>
65196
65197         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
65198         ia64.
65199         * modules/printf-safe: New file.
65200         * modules/fprintf-posix (Depends-on): Add printf-safe.
65201         * modules/printf-posix (Depends-on): Likewise.
65202         * modules/snprintf-posix (Depends-on): Likewise.
65203         * modules/sprintf-posix (Depends-on): Likewise.
65204         * modules/vasnprintf-posix (Depends-on): Likewise.
65205         * modules/vasprintf-posix (Depends-on): Likewise.
65206         * modules/vfprintf-posix (Depends-on): Likewise.
65207         * modules/vprintf-posix (Depends-on): Likewise.
65208         * modules/vsnprintf-posix (Depends-on): Likewise.
65209         * modules/vsprintf-posix (Depends-on): Likewise.
65210         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
65211         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
65212         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
65213         "no" on i386, x86_64, ia64.
65214         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
65215         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65216         on i386, x86_64, ia64.
65217         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
65218         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65219         on i386, x86_64, ia64.
65220         * tests/test-vasnprintf-posix.c: Include float.h.
65221         (LDBL80_WORDS): New macro.
65222         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65223         on i386, x86_64, ia64.
65224         * tests/test-vasprintf-posix.c: Include float.h.
65225         (LDBL80_WORDS): New macro.
65226         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65227         on i386, x86_64, ia64.
65228         * tests/test-snprintf-posix.c: Include float.h.
65229         * tests/test-sprintf-posix.c: Likewise.
65230         * tests/test-vsnprintf-posix.c: Likewise.
65231         * tests/test-vsprintf-posix.c: Likewise.
65232
65233 2007-06-05  Bruno Haible  <bruno@clisp.org>
65234
65235         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
65236         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
65237         non-IEEE numbers on i386, x86_64, ia64.
65238         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
65239         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
65240         * tests/test-isnanl.h: Include float.h.
65241         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
65242
65243 2007-06-05  Bruno Haible  <bruno@clisp.org>
65244
65245         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
65246         also the %a / %A. Handle the %a / %A code before this extra handling.
65247
65248 2007-06-05  Bruno Haible  <bruno@clisp.org>
65249
65250         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
65251         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
65252
65253 2007-06-05  Bruno Haible  <bruno@clisp.org>
65254
65255         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
65256         typo in variable name.
65257
65258 2007-06-05  Eric Blake  <ebb9@byu.net>
65259
65260         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
65261         Reported by Simon Josefsson.
65262
65263 2007-06-04  Bruno Haible  <bruno@clisp.org>
65264
65265         Avoid test failures on some PowerPC platforms.
65266         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
65267         Define differently for PowerPC.
65268         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
65269         Reported by Gary V. Vaughan <gary@gnu.org>.
65270
65271 2007-06-02  Bruno Haible  <bruno@clisp.org>
65272
65273         Fix test-stdint failure on FreeBSD/ia64.
65274         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
65275         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
65276         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
65277         * doc/headers/stdint.texi: Update.
65278
65279 2007-06-01  Bruno Haible  <bruno@clisp.org>
65280
65281         * tests/test-binary-io.c (main): Pass a third argument to open().
65282         Reported by Gary V. Vaughan <gary@gnu.org>.
65283
65284 2007-06-01  Bruno Haible  <bruno@clisp.org>
65285
65286         * doc/functions/frexpl.texi: Update for mingw.
65287
65288 2007-06-01  Bruno Haible  <bruno@clisp.org>
65289
65290         * tests/test-lseek.c (main): Disable test of errno for invalid third
65291         argument.
65292         * doc/functions/lseek.texi: Update.
65293         Reported by Gary V. Vaughan <gary@gnu.org>.
65294
65295 2007-05-28  Bruno Haible  <bruno@clisp.org>
65296
65297         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
65298
65299 2007-05-31  Eric Blake  <ebb9@byu.net>
65300
65301         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
65302         cross compiling.
65303
65304 2007-05-30  Eric Blake  <ebb9@byu.net>
65305         and Bruno Haible  <bruno@clisp.org>
65306
65307         Work around mingw test failures exposed by m4-1.4.9b.
65308         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
65309         * tests/test-unistd.c: Disable uid_t and git_t tests for the
65310         moment.
65311
65312 2007-05-30  Bruno Haible  <bruno@clisp.org>
65313
65314         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
65315         assuming that they are closed. Needed on HP-UX 11.
65316
65317 2007-05-29  Bruno Haible  <bruno@clisp.org>
65318
65319         Fix a problem with #include_next.
65320         * lib/dirent_.h: Split the double-inclusion guard.
65321         * lib/fcntl_.h: Likewise.
65322         * lib/float_.h: Likewise.
65323         * lib/iconv_.h: Likewise.
65324         * lib/inttypes_.h: Likewise.
65325         * lib/locale_.h: Likewise.
65326         * lib/math_.h: Likewise.
65327         * lib/netinet_in_.h: Likewise.
65328         * lib/search_.h: Likewise.
65329         * lib/signal_.h: Likewise.
65330         * lib/stdint_.h: Likewise.
65331         * lib/stdio_.h: Likewise.
65332         * lib/stdlib_.h: Likewise.
65333         * lib/string_.h: Likewise.
65334         * lib/sys_select_.h: Likewise.
65335         * lib/sys_socket_.h: Likewise.
65336         * lib/sys_stat_.h: Likewise.
65337         * lib/sys_time_.h: Likewise.
65338         * lib/sysexits_.h: Likewise.
65339         * lib/time_.h: Likewise.
65340         * lib/unistd_.h: Likewise.
65341         * lib/wchar_.h: Likewise.
65342         * lib/wctype_.h: Likewise.
65343
65344 2007-05-29  Bruno Haible  <bruno@clisp.org>
65345
65346         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
65347         for the moment.
65348
65349 2007-05-29  Bruno Haible  <bruno@clisp.org>
65350
65351         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
65352         invocation.
65353         Reported by Eric Blake.
65354
65355 2007-05-29  Bruno Haible  <bruno@clisp.org>
65356
65357         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
65358         compiling case.
65359
65360 2007-05-29  Eric Blake  <ebb9@byu.net>
65361             Bruno Haible  <bruno@clisp.org>
65362
65363         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
65364         cross compiles.
65365
65366 2007-05-28  Eric Blake  <ebb9@byu.net>
65367
65368         * modules/closein-tests (test_closein_LDADD): Support test on
65369         cygwin with libtool.
65370
65371 2007-05-28  Bruno Haible  <bruno@clisp.org>
65372
65373         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
65374         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65375         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65376         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65377         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65378         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65379         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65380         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65381         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65382
65383 2007-05-28  Eric Blake  <ebb9@byu.net>
65384
65385         Unconditionally include <config.h> in unit tests.
65386         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
65387         * tests/test-allocsa.c, tests/test-arcfour.c,
65388         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
65389         tests/test-array_list.c, tests/test-array_oset.c,
65390         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
65391         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
65392         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
65393         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
65394         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
65395         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
65396         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
65397         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
65398         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
65399         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
65400         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
65401         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
65402         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
65403         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
65404         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
65405         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
65406         test-md5.c, test-memmem.c, test-printf-posix.c,
65407         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
65408         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
65409         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
65410         test-strcasestr.c, test-striconv.c, test-striconveh.c,
65411         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
65412         test-vasnprintf-posix2.c, test-vasnprintf.c,
65413         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
65414         test-vfprintf-posix.c, test-vprintf-posix.c,
65415         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
65416         test-xvasprintf.c: Likewise.
65417
65418 2007-05-28  Bruno Haible  <bruno@clisp.org>
65419
65420         * gnulib-tool (func_import): Remember the --with-tests command-line
65421         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
65422         Reported by Eric Blake.
65423
65424 2007-05-28  Bruno Haible  <bruno@clisp.org>
65425
65426         * modules/ftell-tests: New file.
65427         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
65428         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
65429
65430         * lib/ftell.c: New file.
65431         * modules/ftell: New file.
65432         * m4/ftell.m4: New file.
65433         * doc/functions/ftell.texi: Update.
65434         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
65435         REPLACE_FTELL.
65436         * lib/stdio_.h (rpl_ftell): New declaration.
65437         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
65438         REPLACE_FTELL.
65439
65440 2007-05-28  Eric Blake  <ebb9@byu.net>
65441
65442         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
65443
65444 2007-05-28  Bruno Haible  <bruno@clisp.org>
65445
65446         * modules/fseek-tests: New file.
65447         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
65448         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
65449
65450         * lib/fseek.c: New file.
65451         * modules/fseek: New file.
65452         * m4/fseek.m4: New file.
65453         * doc/functions/fseek.texi: Update.
65454         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
65455         REPLACE_FSEEK.
65456         * lib/stdio_.h (rpl_fseek): New declaration.
65457         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
65458         REPLACE_FSEEK.
65459
65460 2007-05-28  Bruno Haible  <bruno@clisp.org>
65461
65462         * lib/stdio_.h (fflush): More comments.
65463
65464 2007-05-28  Bruno Haible  <bruno@clisp.org>
65465
65466         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
65467         runtime test.
65468
65469 2007-05-28  Eric Blake  <ebb9@byu.net>
65470
65471         Improve lseek module.
65472         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
65473         * lib/unistd_.h (lseek): Scale back link warning message.
65474         * tests/test-lseek.c: Beef up test.
65475         * tests/test-lseek.sh: Exercise more facets of lseek.
65476         Reported by Bruno Haible.
65477
65478 2007-05-28  Bruno Haible  <bruno@clisp.org>
65479
65480         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
65481         to define.
65482
65483 2007-05-27  Bruno Haible  <bruno@clisp.org>
65484
65485         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
65486
65487 2007-05-27  Bruno Haible  <bruno@clisp.org>
65488
65489         * modules/openmp: New file.
65490         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
65491         Noah Misch.
65492
65493 2007-05-26  Bruno Haible  <bruno@clisp.org>
65494
65495         * modules/chdir-long (Depends-on): Add fchdir.
65496         * modules/chdir-safer (Depends-on): Likewise.
65497         * modules/fts (Depends-on): Likewise.
65498         * modules/fts-lgpl (Depends-on): Likewise.
65499         * modules/openat (Depends-on): Likewise.
65500         * modules/savewd (Depends-on): Likewise.
65501
65502 2007-05-24  Eric Blake  <ebb9@byu.net>
65503
65504         Fix lseek on mingw.
65505         * modules/lseek: New module.
65506         * m4/lseek.m4: New file.
65507         * lib/lseek.c: New file.
65508         * modules/lseek-tests: New file.
65509         * tests/test-lseek.c: New file.
65510         * tests/test-lseek.sh: New file.
65511         * MODULES.html.sh: Document lseek module.
65512         * modules/fflush (Depends-on): Add lseek, fseeko.
65513         * modules/fseeko (Depends-on): Likewise.
65514         * modules/ftello (Depends-on): Likewise.
65515         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
65516         broken.
65517         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
65518         broken.
65519         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
65520         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
65521         * lib/ftello.c (rpl_ftello): Likewise.
65522         * tests/test-fseeko.c (main): Test this.
65523         * tests/test-fseeko.sh: Likewise.
65524         * tests/test-ftello.c (main): Likewise.
65525         * tests/test-ftello.sh: Likewise.
65526         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
65527         implies replacing fseek.
65528         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
65529         HAVE_FTELLO.
65530         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
65531         * modules/unistd (Makefile.am): Likewise.
65532         * lib/unistd_.h (lseek): Declare a replacement.
65533         * doc/functions/lseek.texi (lseek): Document this fix.
65534         * doc/functions/fseek.texi (fseek): Likewise.
65535         * doc/functions/ftell.texi (ftell): Likewise.
65536
65537 2007-05-24  Bruno Haible  <bruno@clisp.org>
65538
65539         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
65540         in the printed representation of a NaN.
65541         * tests/test-vasprintf-posix.c (test_function): Likewise.
65542         * tests/test-snprintf-posix.h (test_function): Likewise.
65543         * tests/test-sprintf-posix.h (test_function): Likewise.
65544         Reported by Eric Blake.
65545
65546 2007-05-23  Eric Blake  <ebb9@byu.net>
65547
65548         Fix fseeko/ftello on cygwin 1.5.24.
65549         * doc/functions/fseeko.texi (fseeko): Document the fix.
65550         * doc/functions/ftello.texi (ftello): Document the fix.
65551         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
65552         * doc/functions/stdout.text (stdout): New file.
65553         * doc/functions/stderr.text (stderr): New file.
65554         * doc/gnulib.texi (Function Substitutes): Use new files.
65555         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
65556         prior to 1.7.0.
65557         * tests/test-ftello.c (main): Likewise for ftello.
65558         * tests/test-fseeko.sh: New file.
65559         * tests/test-ftello.sh: New file.
65560         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
65561         with seekable stdin.
65562         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
65563         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
65564         (gl_REPLACE_FSEEKO): New macro.
65565         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
65566         * modules/fseeko (Files): Distribute fseeko.c.
65567         * modules/ftello (Files): Distribute ftello.c.
65568         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
65569         mode.
65570         * lib/ftello.c (rpl_ftello): New file.
65571         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
65572         fseeko, ftello.
65573         (gl_STDIN_LARGE_OFFSET): New macro.
65574         * modules/stdio (Makefile.am): Perform the replacement.
65575         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
65576
65577 2007-05-23  Bruno Haible  <bruno@clisp.org>
65578
65579         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
65580         GNULIB_POSIXCHECK is defined.
65581
65582 2007-05-21  Bruno Haible  <bruno@clisp.org>
65583
65584         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
65585         Check also the output for NaN arguments. When cross-compiling, guess
65586         no on IRIX.
65587         * lib/vasnprintf.c: Update comments.
65588         * tests/test-vasnprintf-posix.c (strisnan): New function.
65589         (test_function): Use it.
65590         * tests/test-vasprintf-posix.c (strisnan): New function.
65591         (test_function): Use it.
65592         * tests/test-snprintf-posix.h (strisnan): New function.
65593         (test_function): Use it.
65594         * tests/test-sprintf-posix.h (strisnan): New function.
65595         (test_function): Use it.
65596         Reported by Eric Blake.
65597
65598 2007-05-20  Bruno Haible  <bruno@clisp.org>
65599
65600         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
65601         numbers that fails on BeOS.
65602         * doc/functions/frexpl.texi: Update.
65603
65604 2007-05-20  Jim Meyering  <jim@meyering.net>
65605
65606         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
65607         forced upon us by glibc-2.6.
65608
65609 2007-05-20  Bruno Haible  <bruno@clisp.org>
65610
65611         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
65612         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
65613         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
65614         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
65615         NEED_PRINTF_INFINITE.
65616         (is_infinitel): New function.
65617         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
65618         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
65619         gl_PREREQ_VASNPRINTF_INFINITE.
65620         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
65621         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65622         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
65623         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
65624         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
65625         gl_PREREQ_VASNPRINTF_INFINITE.
65626         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65627         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65628         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65629         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65630         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65631         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65632         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65633         * doc/functions/fprintf.texi: Update.
65634         * doc/functions/printf.texi: Update.
65635         * doc/functions/snprintf.texi: Update.
65636         * doc/functions/sprintf.texi: Update.
65637         * doc/functions/vfprintf.texi: Update.
65638         * doc/functions/vprintf.texi: Update.
65639         * doc/functions/vsnprintf.texi: Update.
65640         * doc/functions/vsprintf.texi: Update.
65641
65642 2007-05-20  Bruno Haible  <bruno@clisp.org>
65643
65644         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
65645         was not found in libc.
65646         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
65647
65648 2007-05-20  Bruno Haible  <bruno@clisp.org>
65649
65650         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65651         printed as "-nan" instead of "nan".
65652         * tests/test-vasprintf-posix.c (test_function): Likewise.
65653         * tests/test-snprintf-posix.h (test_function): Likewise.
65654         * tests/test-sprintf-posix.h (test_function): Likewise.
65655         Needed for HP-UX 11.
65656
65657 2007-05-20  Jim Meyering  <jim@meyering.net>
65658
65659         Fix buggy test for the fchownat-deref bug.
65660         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
65661         symlink required for the run-test.  Without it, this test would
65662         always declare that fchownat doesn't work, and client code would
65663         unnecessarily use the replacement function with fixed libc.
65664         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
65665         Reported by Greg Schafer.
65666
65667 2007-05-19  Bruno Haible  <bruno@clisp.org>
65668
65669         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
65670         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
65671         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
65672         Needed for IRIX 6.5 and Solaris 2.5.1.
65673
65674 2007-05-19  Bruno Haible  <bruno@clisp.org>
65675
65676         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
65677         (test_function): Skip tests involving -0.0 on platforms where
65678         -0.0 = 0.0.
65679         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
65680         (test_function): Skip tests involving -0.0 on platforms where
65681         -0.0 = 0.0.
65682         * tests/test-snprintf-posix.h (have_minus_zero): New function.
65683         (test_function): Skip tests involving -0.0 on platforms where
65684         -0.0 = 0.0.
65685         * tests/test-sprintf-posix.h (have_minus_zero): New function.
65686         (test_function): Skip tests involving -0.0 on platforms where
65687         -0.0 = 0.0.
65688         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
65689         tests.
65690         * tests/test-printf-posix.h (test_function): Likewise.
65691         * tests/test-printf-posix.output: Remove all -0.0 related results.
65692         Needed for IRIX 6.5.
65693
65694 2007-05-19  Bruno Haible  <bruno@clisp.org>
65695
65696         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65697         printed as "nan0x7fffffff" instead of "nan".
65698         * tests/test-vasprintf-posix.c (test_function): Likewise.
65699         * tests/test-snprintf-posix.h (test_function): Likewise.
65700         * tests/test-sprintf-posix.h (test_function): Likewise.
65701         * tests/test-fprintf-posix.h (NaN): Remove macro.
65702         (test_function): Remove all NaN related tests.
65703         * tests/test-printf-posix.h (NaN): Remove macro.
65704         (test_function): Remove all NaN related tests.
65705         * tests/test-printf-posix.output: Remove all NaN related results.
65706         Needed for IRIX 6.5.
65707
65708 2007-05-19  Bruno Haible  <bruno@clisp.org>
65709
65710         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
65711         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
65712
65713 2007-05-19  Bruno Haible  <bruno@clisp.org>
65714
65715         * lib/float_.h: New file.
65716         * m4/float_h.m4: New file.
65717         * modules/float: New file.
65718         * modules/isnanl (Dependencies): Add float.
65719         * modules/isnanl-nolibm (Dependencies): Likewise.
65720         * modules/mathl (Dependencies): Likewise.
65721         * modules/printf-frexpl (Dependencies): Likewise.
65722         * modules/signbit (Dependencies): Likewise.
65723         * modules/vasnprintf (Dependencies): Likewise.
65724         * doc/headers/float.texi: Update.
65725
65726 2007-05-19  Jim Meyering  <jim@meyering.net>
65727
65728         * lib/utimens.c (gl_futimens): Rename from futimens,
65729         now that glibc-2.6 declares futimens.
65730         * lib/utimens.h: Likewise.
65731
65732 2007-05-19  Bruno Haible  <bruno@clisp.org>
65733
65734         Avoid test failures on mingw.
65735         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
65736         * tests/test-printf-posix.sh: Likewise.
65737         * tests/test-vfprintf-posix.sh: Likewise.
65738         * tests/test-vprintf-posix.sh: Likewise.
65739
65740 2007-05-19  Bruno Haible  <bruno@clisp.org>
65741
65742         Fix *printf result for NaN, Inf, -0.0 on mingw.
65743         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
65744         * lib/vasnprintf.c: Include math.h and isnan.h.
65745         (is_infinite_or_zero): New function.
65746         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
65747         values in the %f, %F, %e, %E, %g, %G directives.
65748         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
65749         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65750         gl_PRINTF_INFINITE and test its result. Invoke
65751         gl_PREREQ_VASNPRINTF_INFINITE.
65752         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65753         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65754         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65755         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65756         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65757         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65758         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65759         * doc/functions/fprintf.texi: Update.
65760         * doc/functions/printf.texi: Update.
65761         * doc/functions/snprintf.texi: Update.
65762         * doc/functions/sprintf.texi: Update.
65763         * doc/functions/vfprintf.texi: Update.
65764         * doc/functions/vprintf.texi: Update.
65765         * doc/functions/vsnprintf.texi: Update.
65766         * doc/functions/vsprintf.texi: Update.
65767
65768 2007-05-19  Bruno Haible  <bruno@clisp.org>
65769
65770         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
65771         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
65772         Instead of multiplying with 10^k, set extra_zeroes to k.
65773         (scale10_round_long_double): Remove function.
65774
65775 2007-05-18  Bruno Haible  <bruno@clisp.org>
65776
65777         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
65778         introduced on 2007-05-06.
65779
65780 2007-05-18  Bruno Haible  <bruno@clisp.org>
65781
65782         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
65783         %g directives.
65784         * tests/test-vasprintf-posix.c (test_function): Likewise.
65785         * tests/test-snprintf-posix.h (test_function): Likewise.
65786         * tests/test-sprintf-posix.h (test_function): Likewise.
65787
65788 2007-05-18  Bruno Haible  <bruno@clisp.org>
65789
65790         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
65791         (strmatch): New function.
65792         (test_function): Test the %f directive on numbers of various exponents.
65793         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
65794         (strmatch): New function.
65795         (test_function): Test the %f directive on numbers of various exponents.
65796         * tests/test-snprintf-posix.h (strmatch): New function.
65797         (test_function): Test the %f directive on numbers of various exponents.
65798         * tests/test-sprintf-posix.h (strmatch): New function.
65799         (test_function): Test the %f directive on numbers of various exponents.
65800         * tests/test-snprintf-posix.c (SIZEOF): New macro.
65801         * tests/test-sprintf-posix.c (SIZEOF): New macro.
65802         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
65803         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
65804
65805 2007-05-18  Bruno Haible  <bruno@clisp.org>
65806
65807         Add support for 'long double' number output.
65808         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
65809         * lib/vasnprintf.c: Include math.h and float+.h.
65810         (mp_limb_t): New type.
65811         (GMP_LIMB_BITS): New macro.
65812         (mp_twolimb_t): New type.
65813         (GMP_TWOLIMB_BITS): New macro.
65814         (mpn_t): New type.
65815         (multiply, divide, convert_to_decimal, decode_long_double,
65816         scale10_round_long_double, scale10_round_decimal_long_double,
65817         floorlog10l): New functions.
65818         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
65819         for the %f, %F, %e, %E, %g, %G directives.
65820         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
65821         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65822         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
65823         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
65824         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65825         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65826         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65827         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65828         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65829         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65830         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65831         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
65832         * modules/snprintf-posix (Depends-on): Likewise.
65833         * modules/sprintf-posix (Depends-on): Likewise.
65834         * modules/vasnprintf-posix (Depends-on): Likewise.
65835         * modules/vasprintf-posix (Depends-on): Likewise.
65836         * modules/vfprintf-posix (Depends-on): Likewise.
65837         * modules/vsnprintf-posix (Depends-on): Likewise.
65838         * modules/vsprintf-posix (Depends-on): Likewise.
65839         * modules/vasnprintf (Files): Add lib/float+.h.
65840         * doc/functions/fprintf.texi: Update.
65841         * doc/functions/printf.texi: Update.
65842         * doc/functions/snprintf.texi: Update.
65843         * doc/functions/sprintf.texi: Update.
65844         * doc/functions/vfprintf.texi: Update.
65845         * doc/functions/vprintf.texi: Update.
65846         * doc/functions/vsnprintf.texi: Update.
65847         * doc/functions/vsprintf.texi: Update.
65848
65849 2007-05-18  Bruno Haible  <bruno@clisp.org>
65850
65851         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
65852
65853 2007-05-18  Bruno Haible  <bruno@clisp.org>
65854
65855         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
65856         for printing 64-bit integers. Needed for mingw.
65857
65858 2007-05-18  Bruno Haible  <bruno@clisp.org>
65859
65860         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
65861         gl_FUNC_FREXPL_WORKS.
65862         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
65863
65864 2007-05-18  Bruno Haible  <bruno@clisp.org>
65865
65866         * modules/frexpl-nolibm-tests: New file.
65867
65868         * modules/frexpl-nolibm: New file.
65869         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
65870
65871 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
65872
65873         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
65874         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
65875         GCC 4.2, which otherwise issues a lot of warnings.
65876         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
65877         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
65878         Likewise.
65879         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
65880         * modules/iconv_open (iconv.h): Likewise.
65881         * modules/locale (locale.h): Likewise.
65882         * modules/netinet_in (netinet/in.h): Likewise.
65883         * modules/sys_select (sys_select.h): Likewise.
65884         * modules/sys_socket (sys/socket.h): Likewise.
65885         * modules/sys_stat (sys/stat.h): Likewise.
65886         * modules/sysexits (sysexits.h): Likewise.
65887         * modules/unistd (unistd.h): Likewise.
65888
65889 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65890
65891         * modules/closein-tests (Makefile.am): Distribute
65892         `test-closein.sh'.
65893
65894 2007-05-17  Bruno Haible  <bruno@clisp.org>
65895
65896         * tests/test-printf-posix.output: Renamed from
65897         tests/test-fprintf-posix.out.
65898         * modules/fprintf-posix-tests: Update.
65899         * modules/printf-posix-tests: Update.
65900         * modules/vfprintf-posix-tests: Update.
65901         * modules/vprintf-posix-tests: Update.
65902         * tests/test-fprintf-posix.sh: Update.
65903         * tests/test-printf-posix.sh: Update.
65904         * tests/test-vfprintf-posix.sh: Update.
65905         * tests/test-vprintf-posix.sh: Update.
65906         Reported by Ralf Wildenhues.
65907
65908 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
65909
65910         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
65911         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
65912         GCC 4.2, which otherwise issues a lot of warnings.
65913         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
65914         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
65915         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
65916         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
65917         it should no longer be needed.
65918         * lib/string_.h: Likewise.
65919         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
65920         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
65921         * modules/inttypes (inttypes.h): Likewise.
65922         * modules/math (math.h): Likewise.
65923         * modules/search (search.h): Likewise.
65924         * modules/signal (signal.h): Likewise.
65925         * modules/stdint (stdint.h): Likewise.
65926         * modules/stdio (stdio.h): Likewise.
65927         * modules/stdlib (stdlib.h): Likewise.
65928         * modules/string (string.h): Likewise.
65929         * modules/sys_time (sys/time.h): Likewise.
65930         * modules/time (time.h): Likewise.
65931         * modules/wchar (wchar.h): Likewise.
65932         * modules/wctype (wtype.h): Likewise.
65933
65934 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
65935
65936         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
65937
65938 2007-05-13  Bruno Haible  <bruno@clisp.org>
65939
65940         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
65941         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65942         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
65943         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
65944         (gl_PREREQ_STRTOK_R): Don't require it here.
65945
65946 2007-05-13  Bruno Haible  <bruno@clisp.org>
65947
65948         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
65949         when used in C++ mode.
65950
65951 2007-05-12  Bruno Haible  <bruno@clisp.org>
65952
65953         * lib/linebuffer.h: Tweak doc.
65954         * lib/linebuffer.c: Likewise.
65955
65956 2007-05-12  James Youngman  <jay@gnu.org>
65957
65958         * lib/linebuffer.c (readlinebuffer_delim): New function,
65959         like readlinebuffer, but use a caller-specified delimiter.
65960         (readlinebuffer): Just call readlinebuffer_delim with '\n'
65961         as the delimiter.
65962         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
65963
65964 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65965
65966         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
65967         * modules/openat (Files): Remove openat-die.c.
65968         (Depends-on): Add openat-die.
65969         * modules/openat-die: New module.
65970
65971 2007-05-06  Bruno Haible  <bruno@clisp.org>
65972
65973         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
65974         Update with info about Cygwin.
65975         * doc/functions/fprintf.texi: Update.
65976         * doc/functions/printf.texi: Update.
65977         * doc/functions/snprintf.texi: Update.
65978         * doc/functions/sprintf.texi: Update.
65979         * doc/functions/vfprintf.texi: Update.
65980         * doc/functions/vprintf.texi: Update.
65981         * doc/functions/vsnprintf.texi: Update.
65982         * doc/functions/vsprintf.texi: Update.
65983         Reported by Eric Blake.
65984
65985 2007-05-06  Bruno Haible  <bruno@clisp.org>
65986
65987         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
65988         padding ourselves for the floating-point directives.
65989         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
65990         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
65991         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65992         gl_PRINTF_FLAG_ZERO and test its result. Invoke
65993         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
65994         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65995         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
65996         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65997         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65998         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65999         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66000         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66001         * tests/test-snprintf-posix.h (test_function): Also check the width
66002         and some flags in the %f directive.
66003         * tests/test-sprintf-posix.h (test_function): Likewise.
66004         * tests/test-vasnprintf-posix.c (test_function): Likewise.
66005         * tests/test-vasprintf-posix.c (test_function): Likewise.
66006         * doc/functions/fprintf.texi: Update.
66007         * doc/functions/printf.texi: Update.
66008         * doc/functions/snprintf.texi: Update.
66009         * doc/functions/sprintf.texi: Update.
66010         * doc/functions/vfprintf.texi: Update.
66011         * doc/functions/vprintf.texi: Update.
66012         * doc/functions/vsnprintf.texi: Update.
66013         * doc/functions/vsprintf.texi: Update.
66014
66015 2007-05-06  Bruno Haible  <bruno@clisp.org>
66016
66017         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
66018         pass the ' flag character to sprintf or snprintf.
66019         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
66020         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
66021         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66022         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
66023         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
66024         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66025         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
66026         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66027         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66028         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66029         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66030         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66031         * tests/test-snprintf-posix.h (test_function): Also check the grouping
66032         flag.
66033         * tests/test-sprintf-posix.h (test_function): Likewise.
66034         * tests/test-vasnprintf-posix.c (test_function): Likewise.
66035         * tests/test-vasprintf-posix.c (test_function): Likewise.
66036         * doc/functions/fprintf.texi: Update.
66037         * doc/functions/printf.texi: Update.
66038         * doc/functions/snprintf.texi: Update.
66039         * doc/functions/sprintf.texi: Update.
66040         * doc/functions/vfprintf.texi: Update.
66041         * doc/functions/vprintf.texi: Update.
66042         * doc/functions/vsnprintf.texi: Update.
66043         * doc/functions/vsprintf.texi: Update.
66044
66045 2007-05-01  Bruno Haible  <bruno@clisp.org>
66046
66047         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
66048
66049 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
66050
66051         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
66052         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
66053
66054 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
66055
66056         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
66057         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
66058         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
66059
66060 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
66061
66062         * lib/argp-help.c (struct hol_entry): New member `ord'.
66063         (HOL_ENTRY_PTRCMP): Use ord for comparison
66064         (hol_sort): Initialize ord.
66065
66066 2007-05-01  Bruno Haible  <bruno@clisp.org>
66067
66068         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
66069         Reported by Eric Blake.
66070         * doc/gnulib.texi (Function Substitutes): Update.
66071
66072 2007-05-01  Bruno Haible  <bruno@clisp.org>
66073
66074         * doc/functions.texi: Remove file, now redundant through
66075         doc/functions/*.texi.
66076
66077 2007-05-01  Bruno Haible  <bruno@clisp.org>
66078
66079         * modules/argp (Depends-on): Add sleep.
66080
66081 2007-05-01  Bruno Haible  <bruno@clisp.org>
66082
66083         * modules/sleep-tests: New file.
66084         * tests/test-sleep.c: New file.
66085
66086         * modules/sleep: New file.
66087         * lib/sleep.c: New file.
66088         * m4/sleep.m4: New file.
66089         * lib/unistd_.h (sleep): New declaration.
66090         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
66091         HAVE_SLEEP.
66092         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
66093         * doc/functions/sleep.texi: Document the sleep module.
66094
66095 2007-05-01  Bruno Haible  <bruno@clisp.org>
66096
66097         * lib/sigprocmask.h: Remove file.
66098         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
66099         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
66100         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
66101         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
66102         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
66103         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
66104         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
66105         HAVE_SIGSET_T as a shell variable.
66106         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
66107         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
66108         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
66109         (Depends-on): Add signal. Remove verify.
66110         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
66111         (Include): Mention <signal.h> instead of sigprocmask.h.
66112         * NEWS: Mention the change.
66113         * lib/fatal-signal.c: Don't include sigprocmask.h.
66114
66115 2007-05-01  Bruno Haible  <bruno@clisp.org>
66116
66117         * modules/signal: New file.
66118         * lib/signal_.h: New file.
66119         * m4/signal_h.m4: New file.
66120
66121 2007-05-01  Bruno Haible  <bruno@clisp.org>
66122
66123         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
66124         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
66125         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
66126         HAVE_WCTYPE_CTMP_BUG into wctype.h.
66127
66128 2007-05-01  Bruno Haible  <bruno@clisp.org>
66129
66130         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
66131         configure time.
66132         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
66133         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
66134         * modules/sys_stat (Makefile.am): Substitute their values into
66135         sys/stat.h.
66136
66137 2007-05-01  Bruno Haible  <bruno@clisp.org>
66138
66139         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
66140         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
66141         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
66142
66143 2007-05-01  Bruno Haible  <bruno@clisp.org>
66144
66145         * doc/header/assert.texi: Undo last change: don't mention the gnulib
66146         'assert' module here.
66147
66148 2007-05-01  Bruno Haible  <bruno@clisp.org>
66149
66150         * doc/functions/*.texi: New files.
66151         * doc/functions/google-ranking.txt: New file.
66152         * doc/gnulib.texi (Function Substitutes): New chapter.
66153         (ctime, inet_ntoa): Remove sections.
66154         * doc/ctime.texi: Remove file.
66155         * doc/inet_ntoa.texi: Remove file.
66156         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
66157         dependencies.
66158         (%.info): New rule, specifying a --reference-limit.
66159
66160 2007-05-01  Bruno Haible  <bruno@clisp.org>
66161
66162         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
66163
66164 2007-05-01  Bruno Haible  <bruno@clisp.org>
66165
66166         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
66167         the portability of 'mkdir' to mingw systems.
66168
66169 2007-05-01  Bruno Haible  <bruno@clisp.org>
66170
66171         * doc/headers/google-ranking.txt: New file.
66172
66173 2007-04-30  Eric Blake  <ebb9@byu.net>
66174
66175         Prefer fseeko to fseek.
66176         * modules/getpass (Depends-on): Add fseeko.
66177         * lib/getpass.c (getpass): Use fseeko, not fseek.
66178
66179 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
66180
66181         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
66182         assumes the sorting is stable, while most qsort implementations
66183         are not.  Use argument addresses to ensure they never compare as
66184         equal.
66185
66186         * tests/test-argp-2.sh (usage-indent test): Fix output
66187         (func_compare): Restore diff options
66188         * tests/test-argp.c: Restore #include "progname.h"
66189
66190 2007-04-29  Bruno Haible  <bruno@clisp.org>
66191
66192         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
66193         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66194         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
66195         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66196         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
66197         (configure.ac): Define CHECK_SNPRINTF_POSIX.
66198         (TESTS, check_PROGRAMS): Add test-snprintf.
66199         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
66200         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
66201         (TESTS, check_PROGRAMS): Add test-vsnprintf.
66202         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
66203         assertions that fail on HP-UX, OSF/1, or IRIX.
66204         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
66205
66206 2007-04-29  Bruno Haible  <bruno@clisp.org>
66207
66208         * MODULES.html.sh (posix_functions): Remove 'contents'.
66209
66210 2007-04-29  Karl Berry  <karl@gnu.org>
66211
66212         * config/srclist.txt (gendocs_template_min): new entry.
66213
66214 2007-04-29  Bruno Haible  <bruno@clisp.org>
66215
66216         Work around fpurge bug on BSD systems.
66217         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
66218         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
66219         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
66220         fpurge to rpl_fpurge if the system already has this function.
66221         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
66222         the case where the system already has this function. Correct invariants
66223         on BSD systems.
66224         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
66225         BSD systems.
66226
66227 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
66228
66229         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
66230         proposed by Sven Verdoolaege.
66231
66232         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
66233         options.
66234         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
66235         (usage and help tests): Update
66236
66237 2007-04-29  Bruno Haible  <bruno@clisp.org>
66238
66239         * tests/test-fflush.c (main): Use a file of size 17, not 10.
66240         Print more information in case of failure. Disable a test on BeOS.
66241
66242 2007-04-29  Bruno Haible  <bruno@clisp.org>
66243
66244         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
66245         This helps debugging on systems on which no gdb is available.
66246
66247 2007-04-29  Bruno Haible  <bruno@clisp.org>
66248
66249         * lib/freading.h: Improve comments.
66250         * lib/fwriting.h: Likewise.
66251         * tests/test-freading.c (main): Don't check freading immediately after
66252         repositioning. Needed for glibc.
66253
66254 2007-04-29  Bruno Haible  <bruno@clisp.org>
66255
66256         * lib/freading.c (freading): Trivial simplification.
66257
66258 2007-04-28  Bruno Haible  <bruno@clisp.org>
66259
66260         * tests/test-fwriting.c (main): Also test the interaction between
66261         fflush and fwriting.
66262         * modules/fwriting-tests (Depends-on): Add fflush.
66263
66264         * tests/test-freading.c (main): Also test the interaction between
66265         fflush and freading.
66266         * modules/freading-tests (Depends-on): Add fflush.
66267
66268 2007-04-28  Bruno Haible  <bruno@clisp.org>
66269
66270         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
66271         fseeko and ftello.
66272         Suggested by Eric Blake.
66273
66274 2007-04-28  Jim Meyering  <jim@meyering.net>
66275
66276         Avoid false-negative in gl_STDINT_H's C99 conformance test.
66277         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
66278         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
66279
66280 2007-04-27  Eric Blake  <ebb9@byu.net>
66281
66282         * doc/headers/assert.texi (assert.h): Document assert module use.
66283
66284 2007-04-27  Bruno Haible  <bruno@clisp.org>
66285
66286         * doc/headers/*.texi: New files.
66287         * doc/gnulib.texi (Header File Substitutes): New chapter.
66288         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
66289         dependencies.
66290         (standards.info ,standards.html, standards.dvi): Update dependencies.
66291         (mostlyclean, clean): New targets.
66292
66293 2007-04-27  Bruno Haible  <bruno@clisp.org>
66294
66295         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
66296         * modules/sysexits (Files, Makefile.am): Update.
66297
66298         * lib/sys_socket_.h: Renamed from lib/socket_.h.
66299         * modules/sys_socket (Files, Makefile.am): Update.
66300
66301         * lib/sys_stat_.h: Renamed from lib/stat_.h.
66302         * modules/sys_stat (Files, Makefile.am): Update.
66303
66304 2007-04-27  Eric Blake  <ebb9@byu.net>
66305
66306         * lib/freading.h: Improve comments.
66307         * lib/fwriting.h: Likewise.
66308         * lib/fflush.c: Likewise.
66309
66310         Fix closein for mingw.
66311         * modules/closein-tests: Add tests for closein.
66312         * tests/test-closein.c: New file.
66313         * tests/test-closein.sh: Likewise.
66314         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
66315         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
66316
66317 2007-04-27  Bruno Haible  <bruno@clisp.org>
66318
66319         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
66320         version is < 6.
66321         * lib/math_.h [__DECC]: Likewise.
66322         * lib/stdio_.h [__DECC]: Likewise.
66323         * lib/stdlib_.h [__DECC]: Likewise.
66324         * lib/string_.h [__DECC]: Likewise.
66325         * lib/time_.h [__DECC]: Likewise.
66326         * lib/wchar_.h [__DECC]: Likewise.
66327         * lib/wctype_.h [__DECC]: Likewise.
66328
66329 2007-04-27  Bruno Haible  <bruno@clisp.org>
66330
66331         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
66332
66333 2007-04-27  Bruno Haible  <bruno@clisp.org>
66334
66335         * lib/fflush.c: Add comments.
66336         * modules/fpurge-tests (Depends-on): Add fflush.
66337         * modules/freadable-tests (Depends-on): Likewise.
66338         * modules/fwritable-tests (Depends-on): Likewise.
66339
66340 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
66341
66342         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
66343         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
66344         Report by Bruno Haible <bruno@clisp.org>.
66345
66346 2007-04-26  Eric Blake  <ebb9@byu.net>
66347
66348         Fix fflush on mingw.
66349         * modules/fflush (Depends-on): Add freading.
66350         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
66351         but unread data.
66352
66353 2007-04-26  Eric Blake  <ebb9@byu.net>
66354         and Bruno Haible  <bruno@clisp.org>
66355
66356         Implement freading and fwriting.
66357         * lib/freading.c: New file.
66358         * lib/freading.h: Likewise.
66359         * m4/freading.m4: Likewise.
66360         * modules/freading: Likewise.
66361         * modules/freading-tests: Likewise.
66362         * tests/test-freading.c: Likewise.
66363         * lib/fwriting.c: New file.
66364         * lib/fwriting.h: Likewise.
66365         * m4/fwriting.m4: Likewise.
66366         * modules/fwriting: Likewise.
66367         * modules/fwriting-tests: Likewise.
66368         * tests/test-fwriting.c: Likewise.
66369         * MODULES.html.sh (File stream based Input/Output): Mention them.
66370
66371 2007-04-26  Bruno Haible  <bruno@clisp.org>
66372
66373         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
66374         'long' when we assume it.
66375         Suggested by Eric Blake.
66376
66377 2007-04-26  Bruno Haible  <bruno@clisp.org>
66378
66379         Ensure fseeko, ftello are declared on glibc systems.
66380         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
66381         * modules/fseeko (configure.ac-early): Likewise.
66382         * modules/ftello (configure.ac-early): Likewise.
66383         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
66384         AC_FUNC_FSEEKO for this.
66385         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
66386         (gl_CHECK_FSEEKO): Remove macro.
66387
66388 2007-04-26  Bruno Haible  <bruno@clisp.org>
66389
66390         * tests/test-fflush.c (main): Also check the ftell result after
66391         fflush and fseek/fseeko.
66392         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
66393         file descriptor position cache in the stream.
66394         * lib/fseeko.c (rpl_fseeko): Likewise.
66395
66396 2007-04-26  Bruno Haible  <bruno@clisp.org>
66397
66398         * modules/fflush-tests (Depends-on): Add fseeko.
66399
66400 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
66401             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66402
66403         * lib/argz_.h: ensure error_t definition is obtained in same
66404         mechanism system argz.h would have.
66405         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
66406         argz facilities are known bad.  Err on the side of caution if
66407         cross-compiling.
66408
66409 2007-04-25  Eric Blake  <ebb9@byu.net>
66410
66411         * lib/fpurge.c (includes): Use stdlib.h for free.
66412         * tests/test-fflush.c (main): Also test fflush-fseeko.
66413
66414 2007-04-25  Bruno Haible  <bruno@clisp.org>
66415
66416         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
66417         * lib/fseeko.c: New file.
66418         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
66419         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
66420         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
66421         gl_FUNC_FSEEKO.
66422         (gl_FUNC_FSEEKO): Invoke it.
66423         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
66424         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
66425         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
66426
66427 2007-04-25  Bruno Haible  <bruno@clisp.org>
66428
66429         * modules/fflush (Depends-on): Add ftello.
66430
66431 2007-04-25  Bruno Haible  <bruno@clisp.org>
66432
66433         * modules/ftello-tests: New file.
66434         * tests/test-ftello.c: New file.
66435
66436         * modules/ftello: New file.
66437         * m4/ftello.m4: New file.
66438         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
66439         HAVE_FTELLO.
66440         * lib/stdio_.h (ftello): New declaration.
66441         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
66442         HAVE_FTELLO.
66443
66444 2007-04-25  Bruno Haible  <bruno@clisp.org>
66445
66446         * modules/fseeko-tests: New file.
66447         * tests/test-fseeko.c: New file.
66448
66449         * modules/fseeko: New file.
66450         * m4/fseeko.m4: New file.
66451         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
66452         HAVE_FSEEKO.
66453         * lib/stdio_.h (fseeko): New declaration.
66454         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
66455         HAVE_FSEEKO.
66456
66457 2007-04-25  Bruno Haible  <bruno@clisp.org>
66458
66459         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
66460
66461 2007-04-25  Bruno Haible  <bruno@clisp.org>
66462
66463         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
66464         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
66465         * tests/test-unistd.c: Likewise.
66466         * tests/test-fcntl.c: Likewise.
66467
66468 2007-04-23  Eric Blake  <ebb9@byu.net>
66469
66470         * lib/fflush.c: Fix missing include.
66471         Reported by Bruno Haible.
66472
66473 2007-04-23  Bruno Haible  <bruno@clisp.org>
66474
66475         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
66476         Reported by Eric Blake.
66477
66478 2007-04-23  Bruno Haible  <bruno@clisp.org>
66479
66480         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
66481
66482 2007-04-23  Bruno Haible  <bruno@clisp.org>
66483
66484         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
66485
66486 2007-04-23  Bruno Haible  <bruno@clisp.org>
66487
66488         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
66489         Needed on HP-UX 11.
66490
66491 2007-04-16  Eric Blake  <ebb9@byu.net>
66492
66493         Make fflush rely on fpurge.
66494         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
66495         open coding all variants.
66496         * modules/fflush (Depends-on): Add fpurge and unistd.
66497         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
66498         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
66499
66500         Fix --with-tests compilation on cygwin.
66501         * modules/argmatch-tests (Makefile.am): List gnulib library first
66502         in LDADD.
66503         * modules/argp-tests (Makefile.am): Likewise.
66504         * modules/array-list-tests (Makefile.am): Likewise.
66505         * modules/array-oset-tests (Makefile.am): Likewise.
66506         * modules/avltree-list-tests (Makefile.am): Likewise.
66507         * modules/avltree-oset-tests (Makefile.am): Likewise.
66508         * modules/avltreehash-list-tests (Makefile.am): Likewise.
66509         * modules/carray-list-tests (Makefile.am): Likewise.
66510         * modules/dirname-tests (Makefile.am): Likewise.
66511         * modules/frexp-tests (Makefile.am): Likewise.
66512         * modules/isnanl-tests (Makefile.am): Likewise.
66513         * modules/linked-list-tests (Makefile.am): Likewise.
66514         * modules/linkedhash-list-tests (Makefile.am): Likewise.
66515         * modules/lock-tests (Makefile.am): Likewise.
66516         * modules/rbtree-list-tests (Makefile.am): Likewise.
66517         * modules/rbtree-oset-tests (Makefile.am): Likewise.
66518         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
66519         * modules/tls-tests (Makefile.am): Likewise.
66520         * modules/tsearch-tests (Makefile.am): Likewise.
66521         * modules/xvasprintf-tests (Makefile.am): Likewise.
66522
66523         Fix fpurge for cygwin.
66524         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
66525         value.
66526         * modules/fpurge-tests (Depends-on): Clean up trash.
66527
66528 2007-04-16  Simon Josefsson  <simon@josefsson.org>
66529
66530         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
66531
66532         * m4/autobuild.m4: Re-indent.
66533
66534 2007-04-13  Bruno Haible  <bruno@clisp.org>
66535
66536         * modules/fpurge-tests: New file.
66537         * tests/test-fpurge.c: New file.
66538
66539         * modules/fpurge: New file.
66540         * lib/fpurge.h: New file.
66541         * lib/fpurge.c: New file.
66542         * m4/fpurge.m4: New file.
66543
66544 2007-04-13  Bruno Haible  <bruno@clisp.org>
66545
66546         * modules/fbufmode-tests: New file.
66547         * tests/test-fbufmode.c: New file.
66548
66549         * modules/fbufmode: New file.
66550         * lib/fbufmode.h: New file.
66551         * lib/fbufmode.c: New file.
66552         * m4/fbufmode.m4: New file.
66553
66554 2007-04-13  Bruno Haible  <bruno@clisp.org>
66555
66556         * modules/fwritable-tests: New file.
66557         * tests/test-fwritable.c: New file.
66558
66559         * modules/fwritable: New file.
66560         * lib/fwritable.h: New file.
66561         * lib/fwritable.c: New file.
66562         * m4/fwritable.m4: New file.
66563
66564 2007-04-13  Bruno Haible  <bruno@clisp.org>
66565
66566         * modules/freadable-tests: New file.
66567         * tests/test-freadable.c: New file.
66568
66569         * modules/freadable: New file.
66570         * lib/freadable.h: New file.
66571         * lib/freadable.c: New file.
66572         * m4/freadable.m4: New file.
66573
66574 2007-04-13  Bruno Haible  <bruno@clisp.org>
66575
66576         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
66577         MOSTLYCLEANFILES.
66578
66579 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66580
66581         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
66582         gzip bootstrap.conf to avoid dragging in i18n machinery.
66583         (gnulib_tool_option): Use it.
66584
66585 2007-04-13  Bruno Haible  <bruno@clisp.org>
66586
66587         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
66588         %F directives.
66589         * tests/test-vasprintf-posix.c (test_function): Likewise.
66590         * tests/test-snprintf-posix.h (test_function): Likewise.
66591         * tests/test-sprintf-posix.h (test_function): Likewise.
66592         * tests/test-fprintf-posix.h (test_function): Likewise.
66593         * tests/test-printf-posix.h (test_function): Likewise.
66594         * tests/test-fprintf-posix.out: Likewise.
66595
66596 2007-04-13  Bruno Haible  <bruno@clisp.org>
66597
66598         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
66599         * modules/tls-tests (configure.ac): Likewise.
66600         Reported by Arto C. Nirkko <anirkko@insel.ch>.
66601
66602 2007-04-13  Bruno Haible  <bruno@clisp.org>
66603
66604         * lib/tls.c (glthread_tls_get): Fix return type.
66605         Patch by Arto C. Nirkko <anirkko@insel.ch>.
66606
66607 2007-04-12  Eric Blake  <ebb9@byu.net>
66608
66609         * modules/gettime (Depends-on): Remove gettime.
66610         Reported by Dmitry V. Levin.
66611
66612 2007-04-12  Bruno Haible  <bruno@clisp.org>
66613
66614         * modules/fflush (Include): Mention <stdio.h>.
66615         * modules/strtoimax (Include): Mention <inttypes.h>.
66616         * modules/strtoumax (Include): Likewise.
66617
66618 2007-04-12  Eric Blake  <ebb9@byu.net>
66619
66620         * .cvsignore: New file.
66621         * .gitignore: Likewise.
66622
66623 2007-04-12  Bruno Haible  <bruno@clisp.org>
66624
66625         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
66626         not before, since $(LDADD) often contains libgnu.a.
66627         * modules/striconv-tests (test_striconv_LDADD): Likewise.
66628         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
66629         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
66630         Needed on Cygwin.
66631
66632 2007-04-12  Eric Blake  <ebb9@byu.net>
66633
66634         Work around glibc's failure to flush stdin on fclose.
66635         * lib/closein.c (close_stdin): Flush stdin before closing.
66636
66637         Work around glibc's failure to reset seekable stdin on exit.
66638         * modules/closein: New module.
66639         * lib/closein.c: New file.
66640         * lib/closein.h: Likewise.
66641         * m4/closein.m4: Likewise.
66642         * MODULES.html.sh (File stream based Input/Output): Document it.
66643
66644 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66645
66646         * gnulib-tool: Rename generated 'autobuild' script to
66647         'do-autobuild' in --create-megatestdir output.
66648
66649         * doc/gnulib.texi (Build robot for gnulib): Fix.
66650
66651 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66652
66653         * modules/sysexits (Depends-on): Add absolute-header.
66654
66655 2007-04-12  Eric Blake  <ebb9@byu.net>
66656
66657         No need to preserve errno on success.
66658         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
66659         Reported by Bruno Haible.
66660
66661 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66662
66663         * MODULES.html.sh (Support for maintaining and releasing
66664         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
66665
66666 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66667
66668         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
66669
66670 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66671
66672         * modules/autobuild: New module.
66673
66674         * m4/autobuild.m4: New file.
66675
66676 2007-04-11  Bruno Haible  <bruno@clisp.org>
66677
66678         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
66679         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
66680         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
66681         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
66682         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66683         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66684         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66685         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66686         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66687         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66688         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
66689         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66690         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66691         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
66692         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66693         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66694         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
66695         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66696         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66697         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
66698         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66699         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66700         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
66701         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66702         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66703         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
66704         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66705         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66706         Reported by Eric Blake.
66707
66708 2007-04-11  Bruno Haible  <bruno@clisp.org>
66709
66710         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
66711
66712 2007-04-10  Bruno Haible  <bruno@clisp.org>
66713
66714         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
66715         for NaN and Infinity. Needed on FreeBSD 6.1.
66716         * tests/test-vasnprintf-posix.c (test_function): Undo last change
66717         regarding results for "%010a" of Infinity and NaN.
66718         * tests/test-vasprintf-posix.c (test_function): Likewise.
66719         * tests/test-snprintf-posix.h (test_function): Likewise.
66720         * tests/test-sprintf-posix.h (test_function): Likewise.
66721         * tests/test-fprintf-posix.h (test_function): Likewise.
66722         * tests/test-printf-posix.h (test_function): Likewise.
66723         * tests/test-fprintf-posix.out: Likewise.
66724
66725 2007-04-10  Bruno Haible  <bruno@clisp.org>
66726
66727         * modules/locale-tests: New file.
66728         * tests/test-locale.c: New file.
66729
66730         * modules/locale: New file.
66731         * lib/locale_.h: New file.
66732         * m4/locale_h.m4: New file.
66733
66734 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
66735             Bruno Haible  <bruno@clisp.org>
66736
66737         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
66738         be determined, test for availability of the copysignf, copysign,
66739         copysignl functions.
66740         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
66741         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
66742         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
66743
66744 2007-04-09  Eric Blake  <ebb9@byu.net>
66745
66746         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
66747         * modules/stdio (Makefile.am): Support fflush.
66748         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
66749         * modules/fflush: New file.
66750         * lib/fflush.c: Likewise.
66751         * m4/fflush.m4: Likewise.
66752         * modules/fflush-tests: New test.
66753         * tests/test-fflush.c: Likewise.
66754         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
66755
66756 2007-04-06  Bruno Haible  <bruno@clisp.org>
66757
66758         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
66759         (VASNPRINTF): Use signbit for faster determination whether to print a
66760         minus sign.
66761         * modules/vasnprintf (Files): Remove lib/float+.h.
66762         * modules/fprintf-posix (Depends-on): Add signbit.
66763         * modules/snprintf-posix (Depends-on): Likewise.
66764         * modules/sprintf-posix (Depends-on): Likewise.
66765         * modules/vasnprintf-posix (Depends-on): Likewise.
66766         * modules/vasprintf-posix (Depends-on): Likewise.
66767         * modules/vfprintf-posix (Depends-on): Likewise.
66768         * modules/vsnprintf-posix (Depends-on): Likewise.
66769         * modules/vsprintf-posix (Depends-on): Likewise.
66770
66771 2007-04-06  Bruno Haible  <bruno@clisp.org>
66772
66773         * tests/test-frexp.c (main): Test also the sign bit of zero results.
66774         * tests/test-frexpl.c (main): Likewise.
66775         * tests/test-ldexpl.c (main): Likewise.
66776         * modules/frexp-tests (Depends-on): Add signbit.
66777         * modules/frexpl-tests (Depdends-on): Likewise.
66778         * modules/ldexpl-tests (Depdends-on): Likewise.
66779
66780 2007-04-06  Bruno Haible  <bruno@clisp.org>
66781
66782         * modules/signbit-tests: New file.
66783         * tests/test-signbit.c: New file.
66784
66785         * modules/signbit: New file.
66786         * lib/signbitf.c: New file.
66787         * lib/signbitd.c: New file.
66788         * lib/signbitl.c: New file.
66789         * m4/signbit.m4: New file.
66790         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
66791         (signbit): New macro.
66792         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
66793         REPLACE_SIGNBIT.
66794         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
66795         REPLACE_FREXPL into math.h.
66796
66797 2007-04-06  Bruno Haible  <bruno@clisp.org>
66798
66799         * modules/isnanf-nolibm-tests: New file.
66800         * tests/test-isnanf.c: New file.
66801
66802         * modules/isnanf-nolibm: New file.
66803         * lib/isnanf.h: New file.
66804         * lib/isnanf.c: New file.
66805         * lib/isnan.c: Consider the USE_FLOAT macro.
66806         * m4/isnanf.m4: New file.
66807
66808 2007-04-06  Bruno Haible  <bruno@clisp.org>
66809
66810         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
66811         (Link): New section.
66812
66813         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
66814
66815 2007-04-06  Bruno Haible  <bruno@clisp.org>
66816
66817         Assume the 'long double' type.
66818         * m4/longdouble.m4: Remove file.
66819         * config/srclist.txt: Don't mention longdouble.m4.
66820         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
66821         * lib/float+.h: Likewise.
66822         * lib/frexp.c: Likewise.
66823         * lib/printf-args.h: Likewise.
66824         * lib/printf-args.c: Likewise.
66825         * lib/printf-frexp.c: Likewise.
66826         * lib/printf-parse.c: Likewise.
66827         * lib/vasnprintf.c: Likewise.
66828         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
66829         * m4/intl.m4: Likewise.
66830         * m4/isnanl.m4: Likewise.
66831         * m4/printf.m4: Likewise.
66832         * m4/printf-frexpl.m4: Likewise.
66833         * m4/vasnprintf.m4: Likewise.
66834         * modules/allocsa (Files): Remove m4/longdouble.m4.
66835         * modules/gettext (Files): Likewise.
66836         * modules/relocatable-prog-wrapper (Files): Likewise.
66837         * modules/vasnprintf (Files): Likewise.
66838         * modules/isnanl (Files): Likewise.
66839         (Include): Simplify.
66840         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
66841         (Include): Simplify.
66842         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
66843         (Include): Simplify.
66844         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
66845         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66846         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
66847         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66848         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
66849         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66850         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
66851         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66852         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
66853         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66854         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
66855         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66856         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
66857         * tests/test-isnanl.c: Likewise.
66858         * tests/test-snprintf-posix.h: Likewise.
66859         * tests/test-sprintf-posix.h: Likewise.
66860         * tests/test-vasnprintf-posix.c: Likewise.
66861         * tests/test-vasnprintf-posix2.c: Likewise.
66862         * tests/test-vasprintf-posix.c: Likewise.
66863
66864 2007-04-06  Bruno Haible  <bruno@clisp.org>
66865
66866         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
66867         * lib/math_.h [__DECC]: Include the overridden include file through
66868         #include_next, outside the double-inclusion guard.
66869         * lib/stdio_.h [__DECC]: Likewise.
66870         * lib/stdlib_.h [__DECC]: Likewise.
66871         * lib/string_.h [__DECC]: Likewise.
66872         * lib/time_.h [__DECC]: Likewise.
66873         * lib/wchar_.h [__DECC]: Likewise.
66874         * lib/wctype_.h [__DECC]: Likewise.
66875         * lib/inttypes_.h [__DECC]: Likewise.
66876         Reported by Albert Chin <china@thewrittenword.com> in
66877         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
66878
66879 2007-04-04  Eric Blake  <ebb9@byu.net>
66880
66881         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
66882         1.5.x.
66883
66884 2007-04-04  Bruno Haible  <bruno@clisp.org>
66885
66886         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
66887         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
66888
66889 2007-04-04  Bruno Haible  <bruno@clisp.org>
66890
66891         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
66892         results for "%010a" of Infinity and NaN.
66893         * tests/test-vasprintf-posix.c (test_function): Likewise.
66894         * tests/test-snprintf-posix.h (test_function): Likewise.
66895         * tests/test-sprintf-posix.h (test_function): Likewise.
66896         * tests/test-fprintf-posix.h (test_function): Remove these tests.
66897         * tests/test-printf-posix.h (test_function): Likewise.
66898         * tests/test-fprintf-posix.out: Update.
66899         Needed for FreeBSD 6.1.
66900
66901 2007-04-04  Bruno Haible  <bruno@clisp.org>
66902
66903         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
66904         directly used by the gnulib modules nor by gnulib-tool.
66905
66906 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
66907
66908         * DEPENDENCIES: Give overall description of version dependency
66909         desirability.  Use more-typical names for apps.
66910         Add shell, coreutils, diffutils, grep, tar, gzip.
66911
66912 2007-04-04  Simon Josefsson  <simon@josefsson.org>
66913
66914         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
66915
66916 2007-04-04  Karl Berry  <karl@gnu.org>
66917
66918         * MODULES.html.sh (func_module): missing '.
66919
66920 2007-04-03  Bruno Haible  <bruno@clisp.org>
66921
66922         * modules/argmatch-tests (Makefile.am): New variable
66923         test_argmatch_LDADD.
66924         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
66925         * modules/array-list-tests (Makefile.am): New variable
66926         test_array_list_LDADD.
66927         * modules/array-oset-tests (Makefile.am): New variable
66928         test_array_oset_LDADD.
66929         * modules/avltree-list-tests (Makefile.am): New variable
66930         test_avltree_list_LDADD.
66931         * modules/avltree-oset-tests (Makefile.am): New variable
66932         test_avltree_oset_LDADD.
66933         * modules/avltreehash-list-tests (Makefile.am): New variable
66934         test_avltreehash_list_LDADD.
66935         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
66936         test_canonicalize_lgpl_LDADD.
66937         * modules/carray-list-tests (Makefile.am): New variable
66938         test_carray_list_LDADD.
66939         * modules/dirname-tests (Makefile.am): New variable
66940         test_dirname_LDADD.
66941         * modules/linked-list-tests (Makefile.am): New variable
66942         test_linked_list_LDADD.
66943         * modules/linkedhash-list-tests (Makefile.am): New variable
66944         test_linkedhash_list_LDADD.
66945         * modules/rbtree-list-tests (Makefile.am): New variable
66946         test_rbtree_list_LDADD.
66947         * modules/rbtree-oset-tests (Makefile.am): New variable
66948         test_rbtree_oset_LDADD.
66949         * modules/rbtreehash-list-tests (Makefile.am): New variable
66950         test_rbtreehash_list_LDADD.
66951         * modules/xvasprintf-tests (Makefile.am): New variable
66952         test_xvasprintf_LDADD.
66953         Reported by Eric Blake.
66954
66955 2007-04-03  Eric Blake  <ebb9@byu.net>
66956
66957         * DEPENDENCIES: Weaken m4 requirements.
66958
66959 2007-04-03  Bruno Haible  <bruno@clisp.org>
66960
66961         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
66962         * modules/isnanl-tests (configure.ac): Likewise.
66963
66964 2007-04-03  Ben Pfaff  <blp@gnu.org>
66965
66966         * modules/iconv_open: Add $(srcdir)/ to source directory
66967         references in Makefile fragments that call gperf, to fix VPATH
66968         builds.
66969
66970 2007-04-03  Bruno Haible  <bruno@clisp.org>
66971
66972         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
66973         * lib/ldexpl.c: Undo last change.
66974
66975 2007-04-03  Bruno Haible  <bruno@clisp.org>
66976
66977         * modules/printf-frexpl (Depends-on): Undo last change.
66978         (Files): Add m4/ldexpl.m4.
66979
66980 2007-04-03  Bruno Haible  <bruno@clisp.org>
66981
66982         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
66983         * modules/isnanl (Link): New section.
66984
66985         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
66986         * modules/frexp (Link): New section.
66987
66988         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
66989         * modules/frexpl (Link): New section.
66990
66991         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
66992         * modules/ldexpl (Link): New section.
66993
66994 2007-04-03  Bruno Haible  <bruno@clisp.org>
66995
66996         * modules/TEMPLATE-EXTENDED: New file.
66997         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
66998
66999 2007-04-03  Bruno Haible  <bruno@clisp.org>
67000
67001         * DEPENDENCIES: New file.
67002         Suggested by Simon Josefsson.
67003
67004 2007-04-03  Bruno Haible  <bruno@clisp.org>
67005
67006         * doc/gnulib.texi: Escape @.
67007
67008 2007-04-03  James Youngman  <jay@gnu.org>
67009         and Paul Eggert  <eggert@cs.ucla.edu>
67010
67011         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
67012         birthtime on all systems that have birthtime, not just those which
67013         use st_birthtimensec rather than st_birthtim.  Putting zero in
67014         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
67015         that the birth time is not available for files on an NFS mount.
67016
67017 2007-04-03  Simon Josefsson  <simon@josefsson.org>
67018
67019         * modules/memxor: Move back from crypto/, suggested by Bruno.
67020         * modules/crypto/hmac-sha1: Fix memxor dependency.
67021
67022         * modules/crypto/gc: Moved from ../.
67023
67024 2007-04-02  Eric Blake  <ebb9@byu.net>
67025
67026         * lib/ldexpl.c (includes): Avoid libm.
67027
67028         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
67029
67030 2007-04-02  Bruno Haible  <bruno@clisp.org>
67031
67032         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
67033         on IRIX.
67034
67035 2007-04-02  Bruno Haible  <bruno@clisp.org>
67036
67037         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
67038         x86 or x86_64 platforms running MacOS X.
67039         Reported by Ryan Schmidt <@ryandesign.com>.
67040
67041 2007-04-02  Bruno Haible  <bruno@clisp.org>
67042
67043         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
67044         i386.
67045
67046 2007-04-01  Simon Josefsson  <simon@josefsson.org>
67047
67048         * modules/crypto/arcfour: Moved from ../.
67049         * modules/crypto/arcfour-tests: Moved from ../.
67050         * modules/crypto/arctwo: Moved from ../.
67051         * modules/crypto/arctwo-tests: Moved from ../.
67052         * modules/crypto/des: Moved from ../.
67053         * modules/crypto/des-tests: Moved from ../.
67054         * modules/crypto/gc-arcfour: Moved from ../.
67055         * modules/crypto/gc-arcfour-tests: Moved from ../.
67056         * modules/crypto/gc-arctwo: Moved from ../.
67057         * modules/crypto/gc-arctwo-tests: Moved from ../.
67058         * modules/crypto/gc-des: Moved from ../.
67059         * modules/crypto/gc-des-tests: Moved from ../.
67060         * modules/crypto/gc-hmac-md5: Moved from ../.
67061         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
67062         * modules/crypto/gc-hmac-sha1: Moved from ../.
67063         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
67064         * modules/crypto/gc-md2: Moved from ../.
67065         * modules/crypto/gc-md2-tests: Moved from ../.
67066         * modules/crypto/gc-md4: Moved from ../.
67067         * modules/crypto/gc-md4-tests: Moved from ../.
67068         * modules/crypto/gc-md5: Moved from ../.
67069         * modules/crypto/gc-md5-tests: Moved from ../.
67070         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
67071         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
67072         * modules/crypto/gc-random: Moved from ../.
67073         * modules/crypto/gc-rijndael: Moved from ../.
67074         * modules/crypto/gc-rijndael-tests: Moved from ../.
67075         * modules/crypto/gc-sha1: Moved from ../.
67076         * modules/crypto/gc-sha1-tests: Moved from ../.
67077         * modules/crypto/gc-tests: Moved from ../.
67078         * modules/crypto/hmac-md5: Moved from ../.
67079         * modules/crypto/hmac-md5-tests: Moved from ../.
67080         * modules/crypto/hmac-sha1: Moved from ../.
67081         * modules/crypto/hmac-sha1-tests: Moved from ../.
67082         * modules/crypto/md2: Moved from ../.
67083         * modules/crypto/md2-tests: Moved from ../.
67084         * modules/crypto/md4: Moved from ../.
67085         * modules/crypto/md4-tests: Moved from ../.
67086         * modules/crypto/md5: Moved from ../.
67087         * modules/crypto/md5-tests: Moved from ../.
67088         * modules/crypto/memxor: Moved from ../.
67089         * modules/crypto/rijndael: Moved from ../.
67090         * modules/crypto/rijndael-tests: Moved from ../.
67091         * modules/crypto/sha1: Moved from ../.
67092
67093 2007-03-30  James Youngman  <jay@gnu.org>
67094
67095         * tests/test-stat-time.c (prepare_test): use chmod() rather than
67096         rename() to change the ctime of a file (because ctime is unaffected
67097         by rename on jfs2 on AIX 5.1).
67098         (main): Start by doing cleanup, in case a previous run failed leaving
67099         test files behind.
67100
67101 2007-03-31  Bruno Haible  <bruno@clisp.org>
67102
67103         Support old proprietary implementations of iconv.
67104         * modules/iconv_open: New file.
67105         * lib/iconv_.h: New file.
67106         * m4/iconv_h.m4: New file.
67107         * lib/iconv_open.c: New file.
67108         * lib/iconv_open-aix.gperf: New file.
67109         * lib/iconv_open-hpux.gperf: New file.
67110         * lib/iconv_open-irix.gperf: New file.
67111         * lib/iconv_open-osf.gperf: New file.
67112         * m4/iconv_open.m4: New file.
67113         * modules/linebreak (Depends-on): Add iconv_open.
67114         * modules/striconv (Depends-on): Likewise.
67115         * modules/striconveh (Depends-on): Likewise.
67116         * modules/unicodeio (Depends-on): Likewise.
67117         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
67118         (iconv_t)(-1).
67119         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
67120         conversion if cd is (iconv_t)(-1).
67121         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
67122         is not possible.
67123
67124 2007-03-31  Bruno Haible  <bruno@clisp.org>
67125
67126         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
67127         work on Solaris either. Protect also second use of "autodetect_jp".
67128
67129 2007-03-31  Bruno Haible  <bruno@clisp.org>
67130
67131         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
67132         the function is not present.
67133
67134 2007-03-31  Bruno Haible  <bruno@clisp.org>
67135
67136         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
67137         the function is not present.
67138
67139 2007-03-31  Bruno Haible  <bruno@clisp.org>
67140
67141         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
67142         a bug in HP-UX iconv_open().
67143
67144 2007-03-31  Bruno Haible  <bruno@clisp.org>
67145
67146         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
67147         (Mathematics <math.h>): New section, add fpieee.
67148         (Input/output <stdio.h>): Add fseterr.
67149         (Mathematics <math.h>): New section, add printf-frexp.
67150         (Container data structures): Add sublist.
67151         (Core language properties): Add fpucw, inline.
67152         (Functions for greatest-width integer types <inttypes.h>): Add
67153         imaxabs, imaxdiv, inttypes.
67154         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
67155         isnanl-nolibm, ldexp.
67156         (Mathematics <math.h>): New section, add printf-frexpl.
67157         (Support for systems lacking POSIX:2001): Add fprintf-posix,
67158         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
67159         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
67160         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
67161         (Unicode string functions): Add unistr/u*-mbtoucr.
67162         (Java): Add javacomp-script, javaexec-script.
67163         (C#): Add csharpcomp-script, csharpexec-script.
67164         (Support for building libraries and executables): Add havelib,
67165         relocatable-*.
67166         (Support for maintaining and releasing projects): Renamed from
67167         'Support for maintaining and release projects'. Add announce-gen.
67168
67169 2007-03-31  Bruno Haible  <bruno@clisp.org>
67170
67171         * README: Talk primarily about git.
67172         (git and CVS): Renamed from CVS.
67173         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
67174         gnulib is available through git.
67175         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
67176
67177 2007-03-30  Bruno Haible  <bruno@clisp.org>
67178
67179         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
67180         * lib/poll_.h: Likewise.
67181         * lib/stat_.h: Likewise.
67182         * lib/sys_time_.h: Likewise.
67183         * lib/sysexit_.h: Likewise.
67184         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
67185         * lib/stdbool_.h: Likewise.
67186         * lib/byteswap_.h: Add double-inclusion guard.
67187
67188 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
67189
67190         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
67191
67192 2007-03-30  Karl Berry  <karl@gnu.org>
67193
67194         * config/srclist-update: double space after USA in the license
67195         substitution, since that's how it's usually (?) written.
67196
67197 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
67198
67199         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
67200         reported by Bruno Haible.
67201
67202 2007-03-29  Bruno Haible  <bruno@clisp.org>
67203
67204         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
67205         a bug in AIX iconv().
67206
67207 2007-03-29  Bruno Haible  <bruno@clisp.org>
67208
67209         * modules/ldexpl-tests: New file.
67210         * tests/test-ldexpl.c: New file.
67211
67212 2007-03-29  Bruno Haible  <bruno@clisp.org>
67213
67214         * lib/ldexpl.c: Include fpucw.h.
67215         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
67216         multiplication.
67217         * modules/ldexpl (Depends-on): Add fpucw.
67218
67219 2007-03-29  Bruno Haible  <bruno@clisp.org>
67220
67221         * modules/ldexpl: New file.
67222         * m4/ldexpl.m4: New file.
67223         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
67224         set.
67225         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
67226         REPLACE_LDEXPL.
67227         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
67228         REPLACE_LDEXPL.
67229         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
67230         gl_FUNC_LDEXPL_WORKS.
67231         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
67232         * modules/mathl (Files): Remove lib/ldexpl.c.
67233         (Depends-on): Add ldexpl.
67234
67235 2007-03-29  Bruno Haible  <bruno@clisp.org>
67236
67237         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
67238
67239 2007-03-29  Bruno Haible  <bruno@clisp.org>
67240
67241         * tests/test-striconveh.c (main): Don't assume that a direct conversion
67242         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
67243         and possibly also HP-UX.
67244         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
67245         work on AIX, IRIX, HP-UX, OSF/1.
67246         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
67247         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
67248         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
67249         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
67250         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
67251         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
67252
67253 2007-03-29  Bruno Haible  <bruno@clisp.org>
67254
67255         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
67256
67257 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
67258
67259         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
67260         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
67261
67262 2007-03-29  Eric Blake  <ebb9@byu.net>
67263
67264         * lib/acl-internal.h: Remove redundant include.
67265         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
67266         Cygwin when a file is locked.
67267
67268 2007-03-29  Bruno Haible  <bruno@clisp.org>
67269
67270         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
67271         file.
67272         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
67273
67274 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
67275
67276         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
67277         try to remove a parent directory if the child couldn't be removed
67278         (except for the first rmdir, which could fail because the child
67279         doesn't exist).  Problem reported by Jeff Blaine in
67280         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
67281
67282 2007-03-28  Bruno Haible  <bruno@clisp.org>
67283
67284         * lib/striconveh.c (utf8conv_carefully): New function.
67285         (mem_cd_iconveh_internal): Invoke it.
67286
67287 2007-03-28  Bruno Haible  <bruno@clisp.org>
67288
67289         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
67290         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
67291         input.
67292         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
67293         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
67294         unistr/u8-uctomb.
67295
67296 2007-03-28  Bruno Haible  <bruno@clisp.org>
67297
67298         * modules/unistr/u8-mbtoucr: New file.
67299         * lib/unistr/u8-mbtoucr.c: New file.
67300         * modules/unistr/u16-mbtoucr: New file.
67301         * lib/unistr/u16-mbtoucr.c: New file.
67302         * modules/unistr/u16-mbtoucr: New file.
67303         * lib/unistr/u16-mbtoucr.c: New file.
67304         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
67305
67306 2007-03-27  Simon Josefsson  <simon@josefsson.org>
67307             Bruno Haible  <bruno@clisp.org>
67308
67309         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
67310         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
67311         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
67312
67313         * m4/stdio_h.m4: Add stubs for vasprintf too.
67314
67315         * modules/stdio: Support vasprintf in sed command.
67316
67317         * modules/vasprintf: Depend on stdio for prototypes.  Remove
67318         vasprintf.h.  Add stdio module indicator.
67319
67320         * lib/stdio_.h: Declare asprintf and vasprintf, based on
67321         vasprintf.h.
67322
67323         * lib/vasprintf.h: File removed.
67324
67325         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
67326         * lib/vasprintf.c: Ditto.
67327         * lib/xvasprintf.c: Ditto.
67328         * tests/test-vasprintf-posix.c: Ditto.
67329         * tests/test-vasprintf.c: Ditto.
67330
67331 2007-03-27  Bruno Haible  <bruno@clisp.org>
67332
67333         Make vasnprintf multithread-safe.
67334         * lib/vasnprintf.c (decimal_point_char): New function.
67335         (VASNPRINTF): Use it.
67336         Suggested by Simon Josefsson.
67337
67338 2007-03-27  Eric Blake  <ebb9@byu.net>
67339
67340         Support sub-second birthtime on cygwin.
67341         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
67342         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
67343         (get_stat_birthtime): Also work with st_birthtim.
67344
67345 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
67346
67347         * lib/stat-time.h (USE_BIRTHTIME): Remove.
67348         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
67349         (get_stat_birthtime_ns): Do not try to use "spare" fields.
67350         (get_stat_birthtime_ns): Simplify compile-time tests.
67351         (get_stat_birthtime): Change the API to look like
67352         get_stat_mtime etc., except return a negative tv_nsec on error.
67353         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
67354         Don't check for "spare" fields.
67355         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
67356         or for struct stat.st_birthtime, as these tests aren't used.
67357         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
67358
67359 2007-03-27  Bruno Haible  <bruno@clisp.org>
67360
67361         * lib/stat-time.h: Include <sys/stat.h>.
67362
67363 2007-03-27  James Youngman  <jay@gnu.org>
67364
67365         * lib/stat-time.h (get_stat_birthtime): New function for
67366           retrieving st_birthtime as provided by UFS2 (hence *BSD).
67367         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
67368           and its variants.
67369         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
67370         * modules/stat-time-test: New file.
67371         * tests/test-stat-time.c: New test, devised by Bruno Haible.
67372
67373 2007-03-26  Bruno Haible  <bruno@clisp.org>
67374
67375         Better support of signalling NaNs.
67376         * lib/atanl.c: Include isnanl.h.
67377         (atanl): Perform test for NaN at the beginning of the function and
67378         through a call to isnanl.
67379         * lib/cosl.c: Include isnanl.h.
67380         (cosl): Perform test for NaN at the beginning of the function and
67381         through a call to isnanl.
67382         * lib/ldexpl.c: Include isnanl.h.
67383         (ldexpl): Perform test for NaN through a call to isnanl.
67384         * lib/logl.c: Include isnanl.h.
67385         (logl): Perform test for NaN at the beginning of the function and
67386         through a call to isnanl.
67387         * lib/sinl.c: Include isnanl.h.
67388         (sinl): Perform test for NaN at the beginning of the function and
67389         through a call to isnanl.
67390         * lib/sqrtl.c: Include isnanl.h.
67391         (sqrtl): Perform test for NaN at the beginning of the function and
67392         through a call to isnanl.
67393         * lib/tanl.c: Include isnanl.h.
67394         (tanl): Perform test for NaN at the beginning of the function and
67395         through a call to isnanl.
67396         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
67397         * modules/mathl (Depends-on): Add isnanl.
67398
67399 2007-03-26  Eric Blake  <ebb9@byu.net>
67400
67401         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
67402         regression in logic sense of previous patch.
67403
67404 2007-03-26  Bruno Haible  <bruno@clisp.org>
67405
67406         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
67407         unportable shell command "if ! ...".
67408         Reported by Ralf Wildenhues.
67409
67410 2007-03-25  Bruno Haible  <bruno@clisp.org>
67411
67412         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
67413         <sysexits.h> file, and only add EX_CONFIG.
67414         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
67415         absolute file name and whether it is sufficient. Substitute also
67416         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
67417         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
67418         ABSOLUTE_SYSEXITS_H into sysexits.h.
67419
67420 2007-03-25  Bruno Haible  <bruno@clisp.org>
67421
67422         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
67423         hints is NULL.
67424
67425 2007-03-25  Bruno Haible  <bruno@clisp.org>
67426
67427         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
67428         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
67429
67430 2007-03-25  Bruno Haible  <bruno@clisp.org>
67431
67432         * lib/vasnprintf.c: Include langinfo.h.
67433         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
67434         multithread-safe.
67435         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
67436         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
67437         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
67438         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67439         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67440         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67441         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67442         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
67443         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67444         Reported by Simon Josefsson.
67445
67446 2007-03-25  Bruno Haible  <bruno@clisp.org>
67447
67448         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
67449         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
67450         * modules/vasnprintf (Depends-on): Add stdint.
67451
67452 2007-03-25  Bruno Haible  <bruno@clisp.org>
67453
67454         * modules/fpieee: New file.
67455         * m4/fpieee.m4: New file.
67456         * modules/isnan-nolibm (Depends-on): Add fpieee.
67457         * modules/isnanl-nolibm (Depends-on): Add fpieee.
67458         * modules/isnanl (Depends-on): Add fpieee.
67459
67460 2007-03-25  Bruno Haible  <bruno@clisp.org>
67461
67462         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
67463
67464 2007-03-25  Bruno Haible  <bruno@clisp.org>
67465
67466         Avoid test failures on IRIX 6.5.
67467         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
67468         (main): Use it.
67469         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
67470         macros.
67471         (main): Use them.
67472
67473 2007-03-25  Bruno Haible  <bruno@clisp.org>
67474
67475         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
67476         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
67477         exists but doesn't work.
67478         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
67479         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
67480         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
67481         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
67482         math.h.
67483
67484 2007-03-25  Bruno Haible  <bruno@clisp.org>
67485
67486         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
67487         returns inf. Needed on IRIX 6.5.
67488
67489 2007-03-25  Bruno Haible  <bruno@clisp.org>
67490
67491         * tests/test-frexpl.c: Include isnanl-nolibm.h.
67492         (main): Use isnanl instead of x != x idiom.
67493         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
67494
67495         * tests/test-frexp.c: Include isnan.h.
67496         (main): Use isnan instead of x != x idiom.
67497         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
67498
67499 2007-03-25  Bruno Haible  <bruno@clisp.org>
67500
67501         * tests/test-frexp.c (NaN): New function/macro.
67502         (main): Use it instead of 0.0 / 0.0.
67503         * tests/test-isnan.c (NaN): New function/macro.
67504         (main): Use it instead of 0.0 / 0.0.
67505         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
67506         (test_function): Use it instead of 0.0 / 0.0.
67507         * tests/test-vasprintf-posix.c (NaN): New function/macro.
67508         (test_function): Use it instead of 0.0 / 0.0.
67509         * tests/test-snprintf-posix.h (NaN): New function/macro.
67510         (test_function): Use it instead of 0.0 / 0.0.
67511         * tests/test-sprintf-posix.h (NaN): New function/macro.
67512         (test_function): Use it instead of 0.0 / 0.0.
67513         * tests/test-fprintf-posix.h (NaN): New function/macro.
67514         (test_function): Use it instead of 0.0 / 0.0.
67515         * tests/test-printf-posix.h (NaN): New function/macro.
67516         (test_function): Use it instead of 0.0 / 0.0.
67517
67518         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
67519
67520 2007-03-25  Bruno Haible  <bruno@clisp.org>
67521
67522         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
67523
67524 2007-03-25  Bruno Haible  <bruno@clisp.org>
67525
67526         * lib/regexec.c (merge_state_with_log): Make static.
67527
67528 2007-03-25  Bruno Haible  <bruno@clisp.org>
67529
67530         * lib/trigl.c (kernel_rem_pio2): Make static.
67531
67532 2007-03-25  Bruno Haible  <bruno@clisp.org>
67533
67534         * lib/sincosl.c (sincosl_table): Make static.
67535
67536 2007-03-25  Bruno Haible  <bruno@clisp.org>
67537
67538         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
67539         if the compiler does not support C99.
67540
67541 2007-03-25  Bruno Haible  <bruno@clisp.org>
67542
67543         * modules/time (Makefile.am): Ensure all rule action lines start with a
67544         tab.
67545
67546 2007-03-24  Bruno Haible  <bruno@clisp.org>
67547
67548         * modules/tsearch-tests: New file.
67549         * tests/test-tsearch.sh: New file.
67550         * tests/test-tsearch.c: New file, mostly copied from glibc.
67551
67552         * modules/search-tests: New file.
67553         * tests/test-search.c: New file.
67554
67555         * modules/search: New file.
67556         * lib/search_.h: New file, incorporating lib/tsearch.h.
67557         * m4/search_h.m4: New file.
67558         * lib/tsearch.h: Remove file.
67559         * lib/tsearch.c: Include search.h instead of tsearch.h.
67560         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
67561         HAVE_TSEARCH.
67562         * modules/tsearch (Files): Remove lib/tsearch.h.
67563         (Depends-on): Add search.
67564         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
67565         (Include): Change tsearch.h into search.h.
67566
67567 2007-03-24  Bruno Haible  <bruno@clisp.org>
67568
67569         * modules/fpucw: New file.
67570         * lib/fpucw.h: New file.
67571         * lib/frexp.c: Include fpucw.h.
67572         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
67573         (FUNC): Use them.
67574         * lib/printf-frexp.c: Include fpucw.h.
67575         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
67576         (FUNC): Use them.
67577         * lib/vasnprintf.c: Include fpucw.h.
67578         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
67579         'long double' calculations.
67580         * tests/test-frexpl.c: Include fpucw.h.
67581         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
67582         * tests/test-printf-frexpl.c: Include fpucw.h.
67583         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
67584         * modules/frexpl (Depends-on): Add fpucw.
67585         * modules/printf-frexpl (Depends-on): Likewise.
67586         * modules/fprintf-posix (Depends-on): Likewise.
67587         * modules/snprintf-posix (Depends-on): Likewise.
67588         * modules/sprintf-posix (Depends-on): Likewise.
67589         * modules/vasnprintf-posix (Depends-on): Likewise.
67590         * modules/vasprintf-posix (Depends-on): Likewise.
67591         * modules/vfprintf-posix (Depends-on): Likewise.
67592         * modules/vsnprintf-posix (Depends-on): Likewise.
67593         * modules/vsprintf-posix (Depends-on): Likewise.
67594         * modules/frexpl-tests (Depends-on): Likewise.
67595         * modules/printf-frexpl-tests (Depends-on): Likewise.
67596
67597 2007-03-24  Bruno Haible  <bruno@clisp.org>
67598
67599         * lib/float+.h: New file.
67600         * lib/isnan.c: Include float+.h.
67601         (SIZE): New macro.
67602         (FUNC): Compare only SIZE bytes of the value.
67603         * lib/vasnprintf.c: Include float+.h.
67604         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
67605         SIZEOF_LDBL or SIZEOF_DBL bytes.
67606         * modules/isnan-nolibm (Files): Add lib/float+.h.
67607         * modules/isnanl-nolibm (Files): Add lib/float+.h.
67608         * modules/isnanl (Files): Add lib/float+.h.
67609         * modules/vasnprintf (Files): Add lib/float+.h.
67610
67611 2007-03-24  Bruno Haible  <bruno@clisp.org>
67612
67613         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
67614         include isnanl-nolibm.h.
67615
67616 2007-03-24  Bruno Haible  <bruno@clisp.org>
67617
67618         * tests/test-read-file.c (main): Don't produce spurious output for
67619         expected situations. Make the test fail if it encountered unexpected
67620         results.
67621
67622 2007-03-24  Bruno Haible  <bruno@clisp.org>
67623
67624         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
67625         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
67626
67627 2007-03-24  Bruno Haible  <bruno@clisp.org>
67628
67629         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
67630
67631 2007-03-24  Bruno Haible  <bruno@clisp.org>
67632
67633         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
67634         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
67635
67636         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
67637         * modules/utf8-ucs4: Turn into a symbolic link to module
67638         unistr/u8-mbtouc.
67639
67640         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
67641         utf8-ucs4-unsafe.
67642         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
67643         unistr/u8-mbtouc-unsafe.
67644
67645         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
67646         * modules/utf16-ucs4: Turn into a symbolic link to module
67647         unistr/u16-mbtouc.
67648
67649         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
67650         utf16-ucs4-unsafe.
67651         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
67652         unistr/u16-mbtouc-unsafe.
67653
67654         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
67655         * modules/ucs4-utf8: Turn into a symbolic link to module
67656         unistr/u8-ubtomb.
67657
67658         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
67659         * modules/ucs4-utf16: Turn into a symbolic link to module
67660         unistr/u16-ubtomb.
67661
67662 2007-03-24  Bruno Haible  <bruno@clisp.org>
67663
67664         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
67665         Enable the function only if HAVE_INLINE.
67666         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
67667         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67668         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
67669         Enable the function only if HAVE_INLINE.
67670         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
67671         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67672         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
67673         Enable the function only if HAVE_INLINE.
67674         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
67675         Enable the function only if HAVE_INLINE.
67676         * modules/utf8-ucs4: Update.
67677         * modules/utf8-ucs4-unsafe: Update.
67678         * modules/utf16-ucs4: Update.
67679         * modules/utf16-ucs4-unsafe: Update.
67680         * modules/ucs4-utf8: Update.
67681         * modules/ucs4-utf16: Update.
67682
67683 2007-03-24  Bruno Haible  <bruno@clisp.org>
67684
67685         * lib/utf8-ucs4.h: Remove file.
67686         * lib/utf8-ucs4-unsafe.h: Remove file.
67687         * lib/utf16-ucs4.h: Remove file.
67688         * lib/utf16-ucs4-unsafe.h: Remove file.
67689         * lib/ucs4-utf8.h: Remove file.
67690         * lib/ucs4-utf16.h: Remove file.
67691         * lib/unistr.h: Include their previous contents.
67692         * m4/utf-ucs4.m4: Remove file.
67693         * m4/ucs4-utf.m4: Remove file.
67694         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
67695         (Depends-on): Add unistr/base.
67696         (configure.ac): Remove gl_UTF_UCS4.
67697         (Makefile.am): Update.
67698         (Include): Change to unistr.h.
67699         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
67700         (Depends-on): Add unistr/base.
67701         (configure.ac): Remove gl_UTF_UCS4.
67702         (Makefile.am): Update.
67703         (Include): Change to unistr.h.
67704         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
67705         (Depends-on): Add unistr/base.
67706         (configure.ac): Remove gl_UTF_UCS4.
67707         (Makefile.am): Update.
67708         (Include): Change to unistr.h.
67709         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
67710         (Depends-on): Add unistr/base.
67711         (configure.ac): Remove gl_UTF_UCS4.
67712         (Makefile.am): Update.
67713         (Include): Change to unistr.h.
67714         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
67715         (Depends-on): Add unistr/base.
67716         (configure.ac): Remove gl_UCS4_UTF.
67717         (Makefile.am): Update.
67718         (Include): Change to unistr.h.
67719         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
67720         (Depends-on): Add unistr/base.
67721         (configure.ac): Remove gl_UCS4_UTF.
67722         (Makefile.am): Update.
67723         (Include): Change to unistr.h.
67724         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
67725         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
67726         utf8-ucs4-unsafe.h.
67727         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
67728         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
67729         utf16-ucs4-unsafe.h.
67730         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
67731         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
67732         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
67733         * lib/unistr/u8-strchr.c: Likewise.
67734         * lib/unistr/u8-strrchr.c: Likewise.
67735         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
67736         * lib/unistr/u16-strchr.c: Likewise.
67737         * lib/unistr/u16-strrchr.c: Likewise.
67738         * lib/striconveh.c: Update.
67739         * lib/linebreak.c: Update.
67740
67741 2007-03-24  Bruno Haible  <bruno@clisp.org>
67742
67743         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
67744         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
67745
67746 2007-03-22  Bruno Haible  <bruno@clisp.org>
67747
67748         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
67749
67750 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
67751
67752         * MODULES.html.sh (File system functions): New module write-any-file.
67753         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
67754         * m4/write-any-file.m4: New files.
67755
67756 2007-03-23  Eric Blake  <ebb9@byu.net>
67757
67758         * gnulib-tool: Rearrange space-tab sequences, since some editors
67759         like to eat them.
67760
67761 2007-03-23  Eric Blake  <ebb9@byu.net>
67762
67763         * lib/version-etc.c (version_etc_va): Update license wording to
67764         be more concise.  Recommended by Richard Stallman.
67765
67766 2007-03-22  Bruno Haible  <bruno@clisp.org>
67767
67768         * lib/poll.c (MSG_PEEK): New fallback definition.
67769
67770 2007-03-22  Bruno Haible  <bruno@clisp.org>
67771
67772         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
67773         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
67774         (main): Update.
67775         Fixes a compilation error on BeOS.
67776
67777 2007-03-22  Bruno Haible  <bruno@clisp.org>
67778
67779         * modules/frexpl-tests: New file.
67780         * tests/test-frexpl.c: New file.
67781
67782         * modules/frexpl: New file.
67783         * m4/frexpl.m4: New file.
67784         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
67785         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
67786         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
67787         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
67788         (Depends-on): Add frexpl. Remove isnanl-nolibm.
67789         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
67790
67791 2007-03-22  Bruno Haible  <bruno@clisp.org>
67792
67793         * lib/frexpl.c: Share code with lib/frexp.c.
67794         * modules/mathl (Files): Add lib/frexp.c.
67795         (Depends-on): Add isnanl-nolibm.
67796
67797 2007-03-22  Bruno Haible  <bruno@clisp.org>
67798
67799         * modules/printf-frexp (Files): Add m4/frexp.m4.
67800         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
67801         only if the found frexp function actually works.
67802
67803 2007-03-22  Bruno Haible  <bruno@clisp.org>
67804
67805         * lib/frexp.c: Remove older implementation that uses divisions.
67806
67807 2007-03-21  Bruno Haible  <bruno@clisp.org>
67808
67809         * modules/frexp-tests: New file.
67810         * tests/test-frexp.c: New file.
67811
67812         * modules/frexp: New file.
67813         * lib/frexp.c: New file.
67814         * m4/frexp.m4: New file.
67815         * lib/math_.h (frexp): New declaration.
67816         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
67817         REPLACE_FREXP.
67818         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
67819
67820 2007-03-21  Bruno Haible  <bruno@clisp.org>
67821
67822         * modules/isnanl-tests: New file.
67823         * tests/test-isnanl.c: New file.
67824
67825         * modules/isnanl: New file.
67826         * lib/isnanl.h: New file.
67827         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
67828         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
67829         gl_FUNC_ISNANL_WORKS.
67830         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
67831         New macros.
67832
67833 2007-03-21  Bruno Haible  <bruno@clisp.org>
67834
67835         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
67836         lib/isnanl.h.
67837         (Include): Update.
67838         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
67839         * lib/vasnprintf.c: Update.
67840         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
67841         tests/test-isnanl.h, remove tests/test-isnanl.c.
67842         (Makefile.am): Update.
67843         * tests/test-isnanl-nolibm.c: New file.
67844         * tests/test-isnanl.h: New file.
67845         * tests/test-isnanl.c: Remove file.
67846
67847 2007-03-21  Jim Meyering  <jim@meyering.net>
67848
67849         When trying to open ".", treat ESTALE like EACCES.
67850         * lib/savewd.c (savewd_save): Resort to forking not just upon
67851         failure with EACCES, but also when errno is ESTALE.
67852
67853 2007-03-20  Bruno Haible  <bruno@clisp.org>
67854
67855         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
67856         Needed on AIX 5.1. Reported by Matthew Woehlke.
67857
67858 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67859
67860         Suggestions by Bruno Haible:
67861         * lib/acl-internal.h: Include "gettext.h" rather than rolling
67862         our own.
67863         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
67864         * modules/acl (Depends-on): Add gettext.
67865
67866 2007-03-19  Bruno Haible  <bruno@clisp.org>
67867
67868         * modules/iconvme: Remove file.
67869         * lib/iconvme.h: Remove file.
67870         * lib/iconvme.c: Remove file.
67871         * m4/iconvme.m4: Remove file.
67872
67873 2007-03-19  Bruno Haible  <bruno@clisp.org>
67874
67875         * doc/relocatable-maint.texi: Break long shell script line.
67876         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
67877
67878 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67879
67880         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
67881         handle file_has_acl.
67882         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
67883         * lib/acl.c: Move header inclusions and related macro defns into
67884         lib/acl-internal.h.
67885         (S_ISLNK): Remove defn, since that's now done for us.
67886         (file_has_acl): Move to lib/file-has-acl.c.
67887         Call acl_trivial if available.  This is the crucial part of the fix.
67888         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
67889         shared within the library.  Rewrite a bit, partly to make it compatible
67890         with the GNU coding style.
67891         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
67892         Remove unnecessary double-quotes.
67893         Don't test for acl_to_text; the build will catch that.
67894         Replace acl_entries if it doesn't exist and it is needed.
67895         Check for -lsec and acl_trivial (as used on Solaris 10).
67896         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
67897         lib/file-has-acl.c.
67898         (Depends-on): Add sys_stat, for S_ISLNK.
67899
67900 2007-03-19  Ben Pfaff  <blp@gnu.org>
67901
67902         * doc/gnulib.texi: Fix typos.
67903         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
67904
67905 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67906
67907         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
67908         If size is zero here, buf must be zero.
67909
67910 2007-03-19  Simon Josefsson  <simon@josefsson.org>
67911
67912         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
67913         <bruno@clisp.org>.
67914
67915 2007-03-18  Bruno Haible  <bruno@clisp.org>
67916
67917         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
67918         Suggested by Eric Blake.
67919
67920 2007-03-18  Ben Pfaff  <blp@gnu.org>
67921
67922         * doc/relocatable.texi: Recommend using as prefix a directory
67923         that does not exist and will never be created.  Based on
67924         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
67925         and others.
67926
67927 2007-03-17  Bruno Haible  <bruno@clisp.org>
67928
67929         * lib/fchownat.c: Include lchown.h.
67930
67931 2007-03-17  Bruno Haible  <bruno@clisp.org>
67932
67933         Fix endless loop when the given allocated size was > INT_MAX.
67934         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
67935         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
67936         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
67937         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
67938         * lib/sprintf.c (sprintf): Likewise.
67939
67940 2007-03-17  Bruno Haible  <bruno@clisp.org>
67941
67942         * tests/test-argp-2.sh (func_compare): Output a context diff.
67943
67944 2007-03-17  Bruno Haible  <bruno@clisp.org>
67945
67946         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
67947         locale's decimal-point character.
67948
67949 2007-03-17  Bruno Haible  <bruno@clisp.org>
67950
67951         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
67952         before comparing it. Needed because on some platforms (e.g. x86) a
67953         'long double' occupies less bytes than sizeof (long double).
67954
67955 2007-03-17  Bruno Haible  <bruno@clisp.org>
67956
67957         * tests/test-crc.c (main): Make printf statements 64-bit clean.
67958         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
67959         * tests/test-getaddrinfo.c (simple): Likewise.
67960         * tests/test-read-file.c (main): Likewise.
67961
67962 2007-03-17  Bruno Haible  <bruno@clisp.org>
67963
67964         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
67965
67966 2007-03-17  Bruno Haible  <bruno@clisp.org>
67967
67968         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
67969         unused variable.
67970
67971 2007-03-17  Bruno Haible  <bruno@clisp.org>
67972
67973         * tests/test-c-strcasecmp.c: Include c-strcase.h.
67974         * tests/test-c-strncasecmp.c: Likewise.
67975
67976 2007-03-17  Bruno Haible  <bruno@clisp.org>
67977
67978         * modules/stdlib (Depends-on): Add unistd.
67979         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
67980         Needed for MacOS X 10.3.
67981
67982 2007-03-17  Bruno Haible  <bruno@clisp.org>
67983
67984         * lib/unistr/u-strdup.h: Include <stdlib.h>.
67985
67986 2007-03-17  Bruno Haible  <bruno@clisp.org>
67987
67988         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
67989
67990 2007-03-17  Bruno Haible  <bruno@clisp.org>
67991
67992         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
67993         to reflect files copied from gnulib (with or without modifications).
67994         Suggested by Jim Meyering.
67995
67996 2007-03-17  Eric Blake  <ebb9@byu.net>
67997
67998         * NEWS: Document stdlib change from 2007-02-18.
67999
68000 2007-03-17  Jim Meyering  <jim@meyering.net>
68001
68002         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
68003         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
68004         someone uses a name containing shell meta-characters.
68005         Reported by Alfred M. Szmidt.
68006
68007         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
68008
68009 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
68010
68011         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
68012         and copy gettext configuration files only if configure.ac contains
68013         a use of AM_GNU_GETTEXT_VERSION.
68014
68015 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
68016
68017         * build-aux/bootstrap (gnulib_name): New variable.
68018         (gnulib_tool_options): Use it.
68019
68020 2007-03-13  Simon Josefsson  <simon@josefsson.org>
68021
68022         * tests/test-des.c: Use new namespace.
68023
68024 2007-03-15  Bruno Haible  <bruno@clisp.org>
68025
68026         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
68027         Reported by James Youngman <jay@gnu.org>.
68028
68029 2007-03-15  Bruno Haible  <bruno@clisp.org>
68030
68031         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
68032         declared prototype. Needed with cc on OSF/1 5.1.
68033
68034 2007-03-15  Bruno Haible  <bruno@clisp.org>
68035
68036         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
68037         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
68038         (struct gl_list_implementation): Add dispose_fn argument to the
68039         'create_empty', 'create' methods.
68040         (struct gl_list_impl_base): Add field 'dispose_fn'.
68041         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
68042         argument.
68043         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
68044         dispose_fn argument.
68045         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
68046         dispose_fn on the dropped values.
68047         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
68048         dispose_fn argument.
68049         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
68050         dropped values.
68051         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
68052         (gl_tree_remove_node): Call dispose_fn on the dropped value.
68053         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
68054         (gl_tree_remove_node): Call dispose_fn on the dropped value.
68055         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
68056         argument.
68057         (gl_tree_list_free): Call dispose_fn on the dropped values.
68058         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
68059         the dropped values.
68060         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
68061         Add dispose_fn argument.
68062         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
68063         Call dispose_fn on the dropped values.
68064         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
68065         Add dispose_fn argument.
68066         (gl_sublist_create): Initialize the 'dispose_fn' field.
68067         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
68068         * tests/test-array_list.c (main): Update.
68069         * tests/test-carray_list.c (main): Update.
68070         * tests/test-avltree_list.c (main): Update.
68071         * tests/test-rbtree_list.c (main): Update.
68072         * tests/test-avltreehash_list.c (main): Update.
68073         * tests/test-rbtreehash_list.c (main): Update.
68074         * tests/test-linked_list.c (main): Update.
68075         * tests/test-linkedhash_list.c (main): Update.
68076         * tests/test-array_oset.c (main): Update.
68077
68078 2007-03-15  Bruno Haible  <bruno@clisp.org>
68079
68080         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
68081         (gl_oset_create_empty): Add dispose_fn argument.
68082         (struct gl_oset_implementation): Add dispose_fn argument to
68083         'create_empty' method.
68084         (struct gl_oset_impl_base): Add dispose_fn field.
68085         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
68086         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
68087         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
68088         values.
68089         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
68090         (gl_tree_oset_free): Call dispose_fn on the dropped values.
68091         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
68092         dropped value.
68093         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
68094         dropped value.
68095         * tests/test-array_oset.c (main): Update.
68096         * tests/test-avltree_oset.c (main): Update.
68097         * tests/test-rbtree_oset.c (main): Update.
68098         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
68099
68100 2007-03-13  Bruno Haible  <bruno@clisp.org>
68101
68102         * tests/test-stdbool.c (i): Update after last patch.
68103
68104 2007-03-12  Bruno Haible  <bruno@clisp.org>
68105
68106         * lib/quotearg.c: Include <wctype.h> early, before the definition of
68107         the iswprint macro. Needed on Solaris 2.5.1.
68108
68109 2007-03-12  Bruno Haible  <bruno@clisp.org>
68110
68111         * tests/test-printf-frexp.c (main): Declare x as volatile.
68112
68113 2007-03-12  Simon Josefsson  <simon@josefsson.org>
68114
68115         * doc/gnulib.texi (Build robot for gnulib): New section.
68116
68117 2007-03-12  Jim Meyering  <jim@meyering.net>
68118
68119         * build-aux/bootstrap: New file.
68120         * build-aux/bootstrap.conf: New file, from coreutils.
68121
68122 2007-03-11  Bruno Haible  <bruno@clisp.org>
68123
68124         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
68125
68126 2007-03-12  Simon Josefsson  <simon@josefsson.org>
68127
68128         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
68129         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
68130         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
68131
68132 2007-03-11  Bruno Haible  <bruno@clisp.org>
68133
68134         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
68135         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
68136
68137 2007-03-11  Bruno Haible  <bruno@clisp.org>
68138
68139         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
68140         formula. Needed for SunPRO C 5.0.
68141
68142 2007-03-11  Bruno Haible  <bruno@clisp.org>
68143
68144         * modules/long-options (Depends-on): Add getopt.
68145
68146 2007-03-11  Bruno Haible  <bruno@clisp.org>
68147
68148         * modules/modechange (Depends-on): Add stdbool.
68149
68150 2007-03-11  Bruno Haible  <bruno@clisp.org>
68151
68152         * modules/i-ring (Depends-on): Add stdbool.
68153
68154 2007-03-11  Bruno Haible  <bruno@clisp.org>
68155
68156         * modules/gc-des (Depends-on): Add stdbool.
68157
68158 2007-03-11  Bruno Haible  <bruno@clisp.org>
68159
68160         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
68161
68162 2007-03-11  Bruno Haible  <bruno@clisp.org>
68163
68164         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
68165
68166 2007-03-11  Bruno Haible  <bruno@clisp.org>
68167
68168         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
68169
68170 2007-03-11  Bruno Haible  <bruno@clisp.org>
68171
68172         * lib/vasnprintf.c (sprintf): Undefine.
68173
68174 2007-03-11  Bruno Haible  <bruno@clisp.org>
68175
68176         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
68177         initializers in SunPRO C and Compaq C compilers.
68178
68179 2007-03-11  Bruno Haible  <bruno@clisp.org>
68180
68181         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
68182         decrementing code ANSI C compliant.
68183
68184 2007-03-11  Bruno Haible  <bruno@clisp.org>
68185
68186         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
68187         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
68188
68189 2007-03-11  Bruno Haible  <bruno@clisp.org>
68190
68191         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
68192         <stdbool.h> substitute doesn't pass.
68193
68194 2007-03-11  Bruno Haible  <bruno@clisp.org>
68195
68196         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
68197
68198 2007-03-11  Bruno Haible  <bruno@clisp.org>
68199
68200         * gnulib-tool (func_create_megatestdir): Create also an autobuild
68201         script, for submission to autobuild.josefsson.org.
68202
68203 2007-03-10  Bruno Haible  <bruno@clisp.org>
68204
68205         * modules/canonicalize-lgpl-tests: New file.
68206         * tests/test-canonicalize-lgpl.sh: New file.
68207         * tests/test-canonicalize-lgpl.c: New file.
68208
68209         * modules/c-strcase-tests: New file.
68210         * tests/test-c-strcase.sh: New file.
68211         * tests/test-c-strcasecmp.c: New file.
68212         * tests/test-c-strncasecmp.c: New file.
68213
68214         * modules/atexit-tests: New file.
68215         * tests/test-atexit.sh: New file.
68216         * tests/test-atexit.c: New file.
68217
68218 2007-03-10  Bruno Haible  <bruno@clisp.org>
68219
68220         * tests/test-binary-io.sh: Use temporary filenames that are not so
68221         likely to clash with those of other tests (in a parallel make).
68222         * tests/test-binary-io.c: Likewise.
68223
68224 2007-03-10  Bruno Haible  <bruno@clisp.org>
68225
68226         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
68227         fallback; use #error instead.
68228         Suggested by Simon Josefsson.
68229
68230 2007-03-10  Bruno Haible  <bruno@clisp.org>
68231
68232         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
68233         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
68234         first and the last.
68235
68236 2007-03-10  Bruno Haible  <bruno@clisp.org>
68237
68238         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
68239
68240 2007-03-10  Bruno Haible  <bruno@clisp.org>
68241
68242         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
68243         "make distcheck".
68244         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
68245         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
68246         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
68247
68248 2007-03-10  Bruno Haible  <bruno@clisp.org>
68249
68250         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
68251         variable.
68252         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
68253         variable.
68254
68255 2007-03-09  Eric Blake  <ebb9@byu.net>
68256         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
68257
68258         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
68259         types are not being provided by gnulib.
68260         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
68261         types are supported.
68262
68263 2007-03-10  Bruno Haible  <bruno@clisp.org>
68264
68265         * lib/stdio_.h (__attribute__): New macro.
68266         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
68267         vsprintf): Specify __attribute__ __format__ for GCC.
68268         Suggested by Eric Blake.
68269
68270 2007-03-09  Bruno Haible  <bruno@clisp.org>
68271
68272         * modules/printf-posix-tests: New file.
68273         * tests/test-printf-posix.sh: New file.
68274         * tests/test-printf-posix.c: New file.
68275
68276         * modules/printf-posix: New file.
68277         * lib/printf.c: New file.
68278         * m4/printf-posix-rpl.m4: New file.
68279         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
68280         REPLACE_PRINTF.
68281         * lib/stdio_.h (printf): New declaration.
68282         (format, __format__, ____printf____, ____scanf____, ____strftime____,
68283         ____strfmon____): New macros.
68284         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
68285         REPLACE_PRINTF.
68286
68287 2007-03-09  Bruno Haible  <bruno@clisp.org>
68288
68289         * tests/test-vasnprintf-posix2.sh: New file.
68290         * tests/test-vasnprintf-posix2.c: New file.
68291         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
68292         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
68293         (Makefile.am): Activate test-vasnprintf-posix2.sh.
68294
68295         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
68296         a locale dependent decimal point, rather than always '.'.
68297
68298 2007-03-09  Eric Blake  <ebb9@byu.net>
68299
68300         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
68301         spite of platforms like Tandem/NSK that define it to -1.
68302
68303 2007-03-08  Bruno Haible  <bruno@clisp.org>
68304
68305         * modules/vprintf-posix-tests: New file.
68306         * tests/test-vprintf-posix.sh: New file.
68307         * tests/test-vprintf-posix.c: New file.
68308         * tests/test-printf-posix.h: New file.
68309
68310         * modules/vprintf-posix: New file.
68311         * lib/vprintf.c: New file.
68312         * m4/vprintf-posix.m4: New file.
68313         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
68314         REPLACE_VPRINTF.
68315         * lib/stdio_.h (vprintf): New declaration.
68316         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
68317         REPLACE_VPRINTF.
68318
68319 2007-03-08  Bruno Haible  <bruno@clisp.org>
68320
68321         * modules/fprintf-posix-tests: New file.
68322         * tests/test-fprintf-posix.sh: New file.
68323         * tests/test-fprintf-posix.c: New file.
68324
68325         * modules/fprintf-posix: New file.
68326         * lib/fprintf.c: New file.
68327         * m4/fprintf-posix.m4: New file.
68328         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
68329         REPLACE_FPRINTF.
68330         * lib/stdio_.h (fprintf): New declaration.
68331         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
68332         REPLACE_FPRINTF.
68333
68334 2007-03-08  Bruno Haible  <bruno@clisp.org>
68335
68336         * modules/vfprintf-posix-tests: New file.
68337         * tests/test-vfprintf-posix.sh: New file.
68338         * tests/test-vfprintf-posix.c: New file.
68339         * tests/test-fprintf-posix.h: New file.
68340         * tests/test-fprintf-posix.out: New file.
68341
68342         * modules/vfprintf-posix: New file.
68343         * lib/vfprintf.c: New file.
68344         * m4/vfprintf-posix.m4: New file.
68345         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
68346         REPLACE_VFPRINTF.
68347         * lib/stdio_.h (vfprintf): New declaration.
68348         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
68349         REPLACE_VFPRINTF.
68350
68351 2007-03-08  Bruno Haible  <bruno@clisp.org>
68352
68353         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
68354
68355 2007-03-08  Bruno Haible  <bruno@clisp.org>
68356
68357         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
68358         instead of 'expr' invocations.
68359         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68360         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68361         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68362         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68363         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68364         Suggested by Paul Eggert.
68365
68366 2007-03-08  Bruno Haible  <bruno@clisp.org>
68367
68368         * modules/fseterr-tests: New file.
68369         * tests/test-fseterr.c: New file.
68370
68371         * modules/fseterr: New file.
68372         * lib/fseterr.h: New file.
68373         * lib/fseterr.c: New file.
68374
68375 2007-03-08  Bruno Haible  <bruno@clisp.org>
68376
68377         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
68378         * lib/getopt_.h: Likewise.
68379         * lib/mbswidth.h: Likewise.
68380         * lib/setenv.h: Likewise.
68381         * lib/vasnprintf.h: Likewise.
68382         * lib/vasprintf.h: Likewise.
68383         * lib/verror.h: Likewise.
68384         * lib/xsetenv.h: Likewise.
68385         * lib/xvasprintf.h: Likewise.
68386
68387 2007-03-08  Jim Meyering  <jim@meyering.net>
68388
68389         * users.txt: Add parted.
68390
68391         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
68392
68393 2007-03-07  Bruno Haible  <bruno@clisp.org>
68394
68395         * m4/printf.m4: Make the shell script snippets copy&pastable.
68396
68397 2007-03-02  Bruno Haible  <bruno@clisp.org>
68398
68399         * lib/netinet_in_.h: New file.
68400         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
68401         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
68402         * modules/netinet_in (Files): Add lib/netinet_in_.h.
68403         (Depends-on): Add absolute-header.
68404         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
68405         into netinet/in.h.
68406
68407 2007-03-03  Bruno Haible  <bruno@clisp.org>
68408
68409         * lib/sys_select_.h: New file.
68410         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
68411         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
68412         * modules/sys_select (Files): Add lib/sys_select_.h.
68413         (Depends-on): Add absolute-header.
68414         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
68415         into sys/select.h.
68416
68417 2007-03-02  Bruno Haible  <bruno@clisp.org>
68418
68419         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
68420         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
68421         values.
68422         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
68423         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
68424         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
68425         * modules/sys_socket (Depends-on): Add absolute-header.
68426         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
68427         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
68428         (Include): Remove requirement of inclusion of <sys/types.h>.
68429
68430 2007-03-02  Bruno Haible  <bruno@clisp.org>
68431
68432         * lib/byteswap_.h (bswap_32): Fix formula.
68433
68434 2007-03-06  Bruno Haible  <bruno@clisp.org>
68435
68436         * modules/sprintf-posix-tests: New file.
68437         * tests/test-sprintf-posix.c: New file.
68438
68439         * modules/sprintf-posix: New file.
68440         * lib/sprintf.c: New file.
68441         * m4/sprintf-posix.m4: New file.
68442         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
68443         REPLACE_SPRINTF.
68444         * lib/stdio_.h (sprintf): New declaration.
68445         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
68446         REPLACE_SPRINTF.
68447
68448 2007-03-06  Bruno Haible  <bruno@clisp.org>
68449
68450         * modules/vsprintf-posix-tests: New file.
68451         * tests/test-vsprintf-posix.c: New file.
68452         * tests/test-sprintf-posix.h: New file.
68453
68454         * modules/vsprintf-posix: New file.
68455         * lib/vsprintf.c: New file.
68456         * m4/vsprintf-posix.m4: New file.
68457         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
68458         REPLACE_VSPRINTF.
68459         * lib/stdio_.h (vsprintf): New declaration.
68460         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
68461         REPLACE_VSPRINTF.
68462
68463 2007-03-06  Bruno Haible  <bruno@clisp.org>
68464
68465         * modules/vsnprintf (Depend-on): Remove minmax.
68466
68467 2007-03-06  Bruno Haible  <bruno@clisp.org>
68468
68469         * modules/snprintf-posix-tests: New file.
68470         * tests/test-snprintf-posix.c: New file.
68471
68472         * modules/snprintf-posix: New file.
68473         * m4/snprintf-posix.m4: New file.
68474         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
68475         gl_FUNC_SNPRINTF.
68476         (gl_FUNC_SNPRINTF): Invoke it.
68477         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
68478         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
68479         is set.
68480         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
68481
68482 2007-03-06  Bruno Haible  <bruno@clisp.org>
68483
68484         * modules/vsnprintf-posix-tests: New file.
68485         * tests/test-vsnprintf-posix.c: New file.
68486         * tests/test-snprintf-posix.h: New file.
68487
68488         * modules/vsnprintf-posix: New file.
68489         * m4/vsnprintf-posix.m4: New file.
68490         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
68491         gl_FUNC_VSNPRINTF.
68492         (gl_FUNC_VSNPRINTF): Invoke it.
68493         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
68494         * lib/stdio_.h (vsnprintf): Define as a replacement if
68495         REPLACE_VSNPRINTF is set.
68496         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
68497
68498 2007-03-06  Bruno Haible  <bruno@clisp.org>
68499
68500         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
68501         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
68502
68503 2007-03-06  Bruno Haible  <bruno@clisp.org>
68504
68505         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
68506         (asinl): Declare also if HAVE_DECL_ASINL is set.
68507         (atanl): Declare also if HAVE_DECL_ATANL is set.
68508         (ceill): Declare also if HAVE_DECL_CEILL is set.
68509         (cosl): Declare also if HAVE_DECL_COSL is set.
68510         (expl): Declare also if HAVE_DECL_EXPL is set.
68511         (floorl): Declare also if HAVE_DECL_FLOORL is set.
68512         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
68513         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
68514         (logl): Declare also if HAVE_DECL_LOGL is set.
68515         (sinl): Declare also if HAVE_DECL_SINL is set.
68516         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
68517         (tanl): Declare also if HAVE_DECL_TANL is set.
68518         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
68519         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
68520         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
68521         declaration of frexpl, ldexpl.
68522         * modules/printf-frexpl (Depends-on): Add math.
68523         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
68524
68525 2007-03-05  Bruno Haible  <bruno@clisp.org>
68526
68527         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
68528         frexpl and ldexpl are declared.
68529         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
68530
68531 2007-03-05  Bruno Haible  <bruno@clisp.org>
68532
68533         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
68534         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
68535
68536 2007-03-05  Bruno Haible  <bruno@clisp.org>
68537
68538         * lib/stdio_.h: Include <stddef.h>.
68539
68540 2007-03-05  Bruno Haible  <bruno@clisp.org>
68541
68542         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
68543
68544 2007-03-05  Bruno Haible  <bruno@clisp.org>
68545
68546         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
68547         NetBSD 4, from Ralf Wildenhues.
68548
68549 2007-03-04  Bruno Haible  <bruno@clisp.org>
68550
68551         * lib/vasprintf.h: Update #if logic for the case when the functions
68552         exist but are overridden.
68553
68554 2007-03-04  Bruno Haible  <bruno@clisp.org>
68555
68556         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
68557         implementations: glibc-2.4 and MacOS X 10.3.
68558         * tests/test-vasnprintf-posix.c (test_function): Test also the case
68559         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
68560         * tests/test-vasprintf-posix.c (test_function): Likewise.
68561
68562 2007-03-04  Bruno Haible  <bruno@clisp.org>
68563
68564         * modules/vasprintf-posix-tests: New file.
68565         * tests/test-vasprintf-posix.c: New file.
68566
68567         * modules/vasprintf-posix: New file.
68568         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
68569         defined.
68570         * m4/vasprintf-posix.m4: New file.
68571         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
68572         gl_FUNC_VASPRINTF.
68573         (gl_FUNC_VASPRINTF): Invoke it.
68574         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
68575         here.
68576         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
68577
68578 2007-03-04  Bruno Haible  <bruno@clisp.org>
68579
68580         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
68581         REPLACE_GETTIMEOFDAY.
68582         * modules/sys_time (Makefile.am): Likewise.
68583         * m4/sys_time_h.m4: Likewise.
68584         * m4/gettimeofday.m4: Likewise.
68585
68586 2007-03-04  Bruno Haible  <bruno@clisp.org>
68587
68588         * modules/vasnprintf-posix-tests: New file.
68589         * tests/test-vasnprintf-posix.c: New file.
68590
68591         * modules/vasnprintf-posix: New file.
68592         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
68593         printf-frexpl.h.
68594         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
68595         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
68596         REPLACE_VASNPRINTF is defined.
68597         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
68598         gl_FUNC_VASNPRINTF.
68599         (gl_FUNC_VASNPRINTF): Invoke it.
68600         * m4/vasnprintf-posix.m4: New file.
68601         * m4/printf.m4: New file.
68602
68603 2007-03-04  Bruno Haible  <bruno@clisp.org>
68604
68605         Compile progreloc.c only if --enable-relocatable is specified.
68606         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
68607         if --enable-relocatable was specified.
68608         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
68609         lib_SOURCES.
68610
68611 2007-03-04  Jim Meyering  <jim@meyering.net>
68612
68613         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
68614         Use it consistently, rather than enumerating errno constants.
68615
68616 2007-03-04  Bruno Haible  <bruno@clisp.org>
68617
68618         * modules/xvasprintf-tests: New file.
68619         * tests/test-xvasprintf.c: New file.
68620
68621         * modules/vasprintf-tests: New file.
68622         * tests/test-vasprintf.c: New file.
68623
68624         * modules/vasnprintf-tests: New file.
68625         * tests/test-vasnprintf.c: New file.
68626
68627         * modules/vsnprintf-tests: New file.
68628         * tests/test-vsnprintf.c: New file.
68629
68630         * modules/snprintf-tests: New file.
68631         * tests/test-snprintf.c: New file.
68632
68633 2007-03-04  Bruno Haible  <bruno@clisp.org>
68634
68635         Compile relocatable.c only if --enable-relocatable is specified.
68636         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
68637         gl_RELOCATABLE_LIBRARY.
68638         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
68639         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
68640         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
68641         gl_RELOCATABLE_LIBRARY.
68642         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
68643         (Makefile.am): Remove lib_SOURCES.
68644         * modules/relocatable-lib-lgpl (configure.ac): Invoke
68645         gl_RELOCATABLE_LIBRARY.
68646         (Makefile.am): Remove lib_SOURCES.
68647         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
68648         always.
68649         * modules/relocatable-prog-wrapper (configure.ac): Invoke
68650         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
68651
68652 2007-03-04  Bruno Haible  <bruno@clisp.org>
68653
68654         * modules/argmatch-tests: New file.
68655         * tests/test-argmatch.c: New file.
68656
68657         * tests/test-allocsa.c (main): Halve the number of loop runs.
68658
68659         * modules/alloca-opt-tests: New file.
68660         * tests/test-alloca-opt.c: New file.
68661
68662 2007-03-04  Jim Meyering  <jim@meyering.net>
68663
68664         Work around difference between Linux ACLs and Solaris 10 ZFS.
68665         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
68666         for EINVAL.
68667
68668 2007-03-03  Bruno Haible  <bruno@clisp.org>
68669
68670         * modules/relocatable-prog (Depends-on): Add back progreloc's
68671         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
68672
68673 2007-03-03  Bruno Haible  <bruno@clisp.org>
68674
68675         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
68676         * modules/relocatable-lib: New file.
68677
68678 2007-03-03  Bruno Haible  <bruno@clisp.org>
68679
68680         * modules/relocatable-prog: Renamed from modules/relocatable.
68681         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
68682
68683 2007-03-03  Bruno Haible  <bruno@clisp.org>
68684
68685         * modules/relocatable-script (Files): Add doc/relocatable.texi,
68686         m4/relocatable-lib.m4.
68687         (Depends-on): Remove 'relocatable'.
68688         (configure.ac): Add gl_RELOCATABLE_NOP.
68689
68690 2007-03-03  Bruno Haible  <bruno@clisp.org>
68691
68692         * modules/relocatable-prog-wrapper: New file.
68693         * modules/relocatable (Depends-on): Add it. Remove all other
68694         dependencies except progname.
68695         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
68696
68697         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
68698         (gl_FUNC_STRERROR): Nop.
68699         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
68700
68701         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
68702         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
68703
68704         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
68705         (gl_FUNC_READLINK): Update.
68706
68707         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
68708
68709 2007-03-03  Bruno Haible  <bruno@clisp.org>
68710
68711         * lib/xreadlink.c: Include <unistd.h> unconditionally.
68712         * modules/xreadlink (Depends-on): Add unistd.
68713         * modules/xreadlink-with-size (Depends-on): Likewise.
68714
68715 2007-03-03  Bruno Haible  <bruno@clisp.org>
68716
68717         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
68718         extracted from gt_FUNC_SETENV.
68719         (gt_FUNC_SETENV): Remove macro.
68720         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
68721         remove gt_FUNC_SETENV.
68722
68723 2007-03-03  Bruno Haible  <bruno@clisp.org>
68724
68725         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
68726         ENABLE_RELOCATABLE here.
68727         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
68728
68729 2007-03-03  Bruno Haible  <bruno@clisp.org>
68730
68731         * modules/rbtreehash-list-tests (Depends-on): Add progname.
68732         * tests/test-rbtreehash_list.c: Include progname.h.
68733         (main): Call set_program_name.
68734
68735         * modules/rbtree-oset-tests (Depends-on): Add progname.
68736         * tests/test-rbtree_oset.c: Include progname.h.
68737         (main): Call set_program_name.
68738
68739         * modules/rbtree-list-tests (Depends-on): Add progname.
68740         * tests/test-rbtree_list.c: Include progname.h.
68741         (main): Call set_program_name.
68742
68743         * modules/linked-list-tests (Depends-on): Add progname.
68744         * tests/test-linked_list.c: Include progname.h.
68745         (main): Call set_program_name.
68746
68747 2007-03-03  Bruno Haible  <bruno@clisp.org>
68748
68749         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
68750         All uses of __restrict changed to _Restrict_.
68751         * lib/glob_.h (__restrict): Remove macro.
68752
68753 2007-03-02  Bruno Haible  <bruno@clisp.org>
68754
68755         * modules/gettext (configure.ac): Require gettext infrastructure
68756         from version 0.16.1.
68757
68758 2007-03-02  Bruno Haible  <bruno@clisp.org>
68759
68760         * modules/linkedhash-list-tests (Depends-on): Add progname.
68761         * tests/test-linkedhash_list.c: Include progname.h.
68762         (main): Call set_program_name.
68763
68764         * modules/carray-list-tests (Depends-on): Add progname.
68765         * tests/test-carray_list.c: Include progname.h.
68766         (main): Call set_program_name.
68767
68768         * modules/avltreehash-list-tests (Depends-on): Add progname.
68769         * tests/test-avltreehash_list.c: Include progname.h.
68770         (main): Call set_program_name.
68771
68772         * modules/avltree-oset-tests (Depends-on): Add progname.
68773         * tests/test-avltree_oset.c: Include progname.h.
68774         (main): Call set_program_name.
68775
68776         * modules/avltree-list-tests (Depends-on): Add progname.
68777         * tests/test-avltree_list.c: Include progname.h.
68778         (main): Call set_program_name.
68779
68780         * modules/array-oset-tests (Depends-on): Add progname.
68781         * tests/test-array_oset.c: Include progname.h.
68782         (main): Call set_program_name.
68783
68784         * modules/array-list-tests (Depends-on): Add progname.
68785         * tests/test-array_list.c: Include progname.h.
68786         (main): Call set_program_name.
68787
68788         * modules/argp-tests (Depends-on): Add progname.
68789         * tests/test-argp.c: Include argp.h first. Include progname.h.
68790         (main): Call set_program_name.
68791
68792 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
68793
68794         * doc/gnulib-tool.texi (Initial import): Reword description of
68795         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
68796         limited effect even if defined after the first system include.
68797
68798 2007-03-01  Bruno Haible  <bruno@clisp.org>
68799
68800         * build-aux/config.libpath: Update to libtool-1.5.22.
68801         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
68802
68803 2007-03-01  Bruno Haible  <bruno@clisp.org>
68804
68805         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
68806         foo_CFLAGS.
68807         Reported by Ralf Wildenhues.
68808
68809 2007-03-01  Bruno Haible  <bruno@clisp.org>
68810
68811         * build-aux/install-reloc: Remove object files left over by some
68812         compilers.
68813         Reported by Ralf Wildenhues.
68814
68815 2007-03-01  Bruno Haible  <bruno@clisp.org>
68816
68817         * build-aux/install-reloc: Break long lines.
68818
68819 2007-03-01  Bruno Haible  <bruno@clisp.org>
68820
68821         * doc/relocatable.texi: Document that it may not work on OpenBSD.
68822         Reported by Ralf Wildenhues.
68823
68824 2007-03-01  Bruno Haible  <bruno@clisp.org>
68825
68826         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
68827         include ordering constraints.
68828
68829 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68830
68831         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
68832         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
68833         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
68834         as another example.
68835         * lib/time_.h: Fix misspelling.
68836         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68837         Require gl_HEADER_TIME_H_DEFAULTS.
68838         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
68839         * m4/time_r.m4 (gl_TIME_R): Likewise.
68840         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
68841
68842 2007-03-01  Bruno Haible  <bruno@clisp.org>
68843
68844         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
68845         * m4/utimens.m4 (gl_UTIMENS): Likewise.
68846
68847 2007-03-01  Jim Meyering  <jim@meyering.net>
68848
68849         * modules/xreadlink (Maintainer): Add my name.
68850         * modules/xreadlink-with-size (Depends-on): Alphabetize.
68851
68852 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
68853             Bruno Haible  <bruno@clisp.org>
68854
68855         * build-aux/install-reloc: Compile also c-ctype.c.
68856         * build-aux/relocatable.sh.in: New file.
68857         * doc/relocatable.texi: New file.
68858         * doc/relocatable-maint.texi: New file.
68859         * doc/gnulib.texi: Include relocatable-maint.texi.
68860         * lib/progreloc.c: Include unistd.h unconditionally.
68861         * lib/relocwrapper.c: Include unistd.h unconditionally.
68862         Include c-ctype.h.
68863         (add_dotbin): Use c_tolower.
68864         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
68865         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
68866         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
68867         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
68868         to m4/relocatable-lib.m4.
68869         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
68870         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
68871         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
68872         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
68873         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
68874         * modules/relocatable: New file.
68875         * modules/relocatable-lib: New file.
68876         * modules/relocatable-script: New file.
68877
68878 2007-02-28  Bruno Haible  <bruno@clisp.org>
68879
68880         Import --enable-relocatable infrastructure.
68881         * build-aux/config.libpath: New file, from GNU gettext.
68882         * build-aux/install-reloc: New file, from GNU gettext.
68883         * build-aux/reloc-ldflags: New file, from GNU gettext.
68884         * lib/relocatable.h: New file, from GNU gettext.
68885         * lib/relocatable.c: New file, from GNU gettext.
68886         * lib/relocwrapper.c: New file, from GNU gettext.
68887         * m4/relocatable.m4: New file, from GNU gettext.
68888
68889 2007-02-28  Bruno Haible  <bruno@clisp.org>
68890
68891         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
68892
68893         * modules/xreadlink: New file, from GNU gettext with modifications.
68894         * lib/xreadlink.c: New file, from GNU gettext.
68895         * lib/xreadlink.h: Add comments.
68896         (xreadlink): New declaration.
68897
68898         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
68899         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
68900         lib/xreadlink-with-size.c.
68901         (configure.ac): Remove gl_XREADLINK invocation.
68902         (Makefile.am): Augment lib_SOURCES.
68903         * m4/xreadlink.m4: Remove file.
68904         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
68905         (xreadlink_with_size): Renamed from xreadink.
68906         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
68907         * modules/canonicalize (Depends-on): Replace xreadlink with
68908         xreadlink-with-size.
68909         * lib/canonicalize.c (canonicalize_filename_mode): Update.
68910
68911 2007-02-25  Jim Meyering  <jim@meyering.net>
68912
68913         * build-aux/announce-gen: When complaining about excess arguments,
68914         list them.
68915
68916 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68917
68918         * README: Document signed integer overflow situation more
68919         accurately.
68920
68921 2007-02-25  Bruno Haible  <bruno@clisp.org>
68922
68923         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
68924         'a' or 'A' conversion.
68925
68926 2007-02-25  Bruno Haible  <bruno@clisp.org>
68927
68928         * modules/filename: Renamed from modules/pathname.
68929         (Files): Replace lib/pathname.h with lib/filename.h. Replace
68930         lib/concatpath.c with lib/concat-filename.c.
68931         (Makefile.am): Update.
68932         (Include): Replace pathname.h with filename.h.
68933         * lib/filename.h: Renamed from lib/pathname.h.
68934         (concatenated_filename): Renamed from concatenated_pathname.
68935         * lib/concat-filename.c: Renamed from lib/concatpath.c.
68936         (concatenated_filename): Renamed from concatenated_pathname.
68937         * lib/findprog.c: Include filename.h instead of pathname.h.
68938         (find_in_path): Update.
68939         * lib/javacomp.c: Include filename.h instead of pathname.h.
68940         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
68941         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
68942         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
68943         is_oldgcj_14_13_usable, is_javac_usable): Update.
68944         * lib/javaexec.c: Include filename.h instead of pathname.h.
68945         (execute_java_class): Update.
68946         * modules/findprog: Update.
68947         * modules/javacomp: Update.
68948         * modules/javaexec: Update.
68949         * MODULES.html.sh (File system functions): Add 'filename', remove
68950         'pathname'.
68951
68952 2007-02-25  Bruno Haible  <bruno@clisp.org>
68953
68954         * modules/printf-frexpl-tests: New file.
68955         * tests/test-printf-frexpl.c: New file.
68956
68957         * modules/printf-frexpl: New file.
68958         * lib/printf-frexpl.h: New file.
68959         * lib/printf-frexpl.c: New file.
68960         * m4/printf-frexpl.m4: New file.
68961
68962 2007-02-25  Bruno Haible  <bruno@clisp.org>
68963
68964         * modules/printf-frexp-tests: New file.
68965         * tests/test-printf-frexp.c: New file.
68966
68967         * modules/printf-frexp: New file.
68968         * lib/printf-frexp.h: New file.
68969         * lib/printf-frexp.c: New file.
68970         * m4/printf-frexp.m4: New file.
68971
68972 2007-02-25  Bruno Haible  <bruno@clisp.org>
68973
68974         Assume automake >= 1.10 for the tests.
68975         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
68976         * modules/arctwo-tests: Likewise.
68977         * modules/argp-tests: Likewise.
68978         * modules/avltree-list-tests: Likewise.
68979         * modules/avltree-oset-tests: Likewise.
68980         * modules/avltreehash-list-tests: Likewise.
68981         * modules/carray-list-tests: Likewise.
68982         * modules/crc-tests: Likewise.
68983         * modules/des-tests: Likewise.
68984         * modules/gc-arcfour-tests: Likewise.
68985         * modules/gc-arctwo-tests: Likewise.
68986         * modules/gc-des-tests: Likewise.
68987         * modules/gc-hmac-md5-tests: Likewise.
68988         * modules/gc-hmac-sha1-tests: Likewise.
68989         * modules/gc-md2-tests: Likewise.
68990         * modules/gc-md4-tests: Likewise.
68991         * modules/gc-md5-tests: Likewise.
68992         * modules/gc-pbkdf2-sha1-tests: Likewise.
68993         * modules/gc-rijndael-tests: Likewise.
68994         * modules/gc-sha1-tests: Likewise.
68995         * modules/gc-tests: Likewise.
68996         * modules/getaddrinfo-tests: Likewise.
68997         * modules/hmac-md5-tests: Likewise.
68998         * modules/hmac-sha1-tests: Likewise.
68999         * modules/linked-list-tests: Likewise.
69000         * modules/linkedhash-list-tests: Likewise.
69001         * modules/lock-tests: Likewise.
69002         * modules/md2-tests: Likewise.
69003         * modules/md4-tests: Likewise.
69004         * modules/md5-tests: Likewise.
69005         * modules/rbtree-list-tests: Likewise.
69006         * modules/rbtree-oset-tests: Likewise.
69007         * modules/rbtreehash-list-tests: Likewise.
69008         * modules/read-file-tests: Likewise.
69009         * modules/rijndael-tests: Likewise.
69010         * modules/stdint-tests: Likewise.
69011         * modules/tls-tests: Likewise.
69012
69013 2007-02-24  Bruno Haible  <bruno@clisp.org>
69014
69015         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
69016         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
69017         function; instead check whether isnan with a double argument links.
69018         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
69019         function; instead check whether isnan with a 'long double' argument
69020         links.
69021         Reported by Eric Blake <ebb9@byu.net>.
69022
69023 2007-02-24  Bruno Haible  <bruno@clisp.org>
69024
69025         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
69026         defined.
69027         * lib/isnanl.c: Remove all code. Just include isnan.c.
69028         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
69029
69030 2007-02-25  Jim Meyering  <jim@meyering.net>
69031
69032         Avoid conflicting types for 'unsetenv' on FreeBSD.
69033         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
69034         conflicting with FreeBSD's (5.0 and 6.1) function declaration
69035         in stdlib.h.
69036
69037 2007-02-24  Bruno Haible  <bruno@clisp.org>
69038
69039         * modules/isnanl-nolibm-tests: New file.
69040         * tests/test-isnanl.c: New file.
69041
69042         * modules/isnanl-nolibm: New file.
69043         * lib/isnanl.h: New file.
69044         * lib/isnanl.c: New file.
69045         * m4/isnanl.m4: New file.
69046
69047 2007-02-24  Bruno Haible  <bruno@clisp.org>
69048
69049         * modules/isnan-nolibm-tests: New file.
69050         * tests/test-isnan.c: New file.
69051
69052         * modules/isnan-nolibm: New file.
69053         * lib/isnan.h: New file.
69054         * lib/isnan.c: New file.
69055         * m4/isnan.m4: New file.
69056
69057 2007-02-24  Bruno Haible  <bruno@clisp.org>
69058
69059         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
69060         assume that an exponent fits in 20 bits.
69061
69062 2007-02-24  Jim Meyering  <jim@meyering.net>
69063
69064         * m4/regex.m4: Update the description of the configure-time option,
69065         --without-included-regex, to state accurately what the defaults are,
69066         and perhaps to give people an idea why using this option is risky.
69067
69068 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
69069
69070         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
69071         loops on small arguments.  This attempts to avoid the problem
69072         Bruno Haible reported for AIX 4.3.2 in
69073         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
69074
69075 2007-02-23  Bruno Haible  <bruno@clisp.org>
69076
69077         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
69078         Needed for help2man.
69079
69080 2007-02-23  Karl Berry  <karl@gnu.org>
69081
69082         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
69083         exists, foo.h should be cvs-ignored, not committed.
69084
69085 2007-02-23  Eric Blake  <ebb9@byu.net>
69086
69087         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
69088         * lib/stat-time.h (includes): Likewise.
69089         * lib/utimecmp.c (includes): Likewise.
69090         * lib/utimens.h (includes): Likewise.
69091         * lib/getdate.y (includes): Also include "timespec.h" for use
69092         internal to the module.
69093         * modules/utimens (Depends-on): Revert yesterday's patch.
69094         * modules/nanosleep (Depends-on): Add missing dependency.
69095
69096 2007-02-22  Bruno Haible  <bruno@clisp.org>
69097
69098         * lib/glob.c: Don't include getlogin_r.h.
69099
69100 2007-02-22  Jim Meyering  <jim@meyering.net>
69101
69102         * modules/utimens (Depends-on): Add timespec, required for
69103         utimens.h's inclusion of timespec.h.
69104
69105 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
69106
69107         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
69108         long unreadable paths in GNU/Linux.  Problem reported by Andreas
69109         Schwab in
69110         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
69111         I'll try to think of a better way to fix the Solaris problem.
69112
69113         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
69114         like glibc; on Solaris 10, it fails with errno == EINVAL.
69115         POSIX says the behavior is unspecified if the first argument is NULL,
69116         so play it safe and never pass NULL to the system getcwd.
69117
69118 2007-02-21  Jim Meyering  <jim@meyering.net>
69119
69120         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
69121         of gettimeofday.  It would conflict with the one now always
69122         provided via sys_time_.h.  Reported by Matthew Woehlke, as
69123         an IRIX 6.5 build failure.
69124
69125 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
69126
69127         Minor fixups to port to Solaris 10 with Sun C 5.8.
69128         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
69129         * modules/getcwd (Depends-on): Add dirfd.
69130         * lib/putenv.c (putenv): #undef it.
69131         (rpl_putenv): New decl.
69132         (malloc, free): Include <stdlib.h> rather than prototyping separately.
69133
69134 2007-02-20  Bruno Haible  <bruno@clisp.org>
69135
69136         * modules/stdio-tests: New file.
69137         * tests/test-stdio.c: New file.
69138
69139         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
69140         (Depends-on): Add stdio.
69141         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69142         (Include): Use <stdio.h> instead of vsnprintf.h.
69143         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
69144         HAVE_DECL_VSNPRINTF.
69145         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
69146
69147         * modules/snprintf (Files): Remove lib/snprintf.h.
69148         (Depends-on): Add stdio.
69149         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69150         (Include): Use <stdio.h> instead of snprintf.h.
69151         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
69152         HAVE_DECL_SNPRINTF.
69153         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
69154         * lib/getaddrinfo.c: Likewise.
69155
69156         * modules/stdio: New file.
69157         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
69158         * lib/snprintf.h: Remove file.
69159         * lib/vsnprintf.h: Remove file.
69160         * lib/.cppi-disable: Remove snprintf.h.
69161         * m4/stdio_h.m4: New file.
69162         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
69163
69164 2007-02-20  Jim Meyering  <jim@meyering.net>
69165
69166         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
69167         used by e.g., mingw.  From Bruno Haible.
69168
69169 2007-02-19  Bruno Haible  <bruno@clisp.org>
69170
69171         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
69172         warnings.
69173         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69174
69175 2007-02-19  Bruno Haible  <bruno@clisp.org>
69176
69177         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
69178         from mingw users.
69179
69180 2007-02-19  Bruno Haible  <bruno@clisp.org>
69181
69182         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
69183         warnings.
69184         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
69185
69186 2007-02-19  Jim Meyering  <jim@meyering.net>
69187
69188         Don't use FD after a successful "fdopendir (fd)".
69189         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
69190         Reset it by calling dirfd on the just-obtained DIR*.
69191
69192         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
69193         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
69194
69195 2007-02-18  Bruno Haible  <bruno@clisp.org>
69196
69197         * lib/readlink.c: Include <unistd.h>.
69198         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
69199         HAVE_READLINK.
69200         * modules/readlink (Depends-on): Add unistd.
69201         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69202         (Include): Add <unistd.h>.
69203
69204         * lib/getlogin_r.h: Remove file.
69205         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
69206         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
69207         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
69208         HAVE_DECL_GETLOGIN_R.
69209         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
69210         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69211         (Include): Use <unistd.h> instead of getlogin_r.h.
69212
69213         * lib/getcwd.h: Remove file.
69214         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
69215         * lib/xgetcwd.c: Likewise.
69216         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
69217         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
69218         * modules/getcwd (Files): Remove lib/getcwd.h.
69219         (Depends-on): Add unistd.
69220         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69221         (Include): Use <unistd.h> instad of getcwd.h.
69222
69223         * lib/ftruncate.c: Include <unistd.h> first.
69224         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
69225         Set HAVE_FTRUNCATE.
69226         * modules/ftruncate (Depends-on): Add unistd.
69227         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69228
69229         * lib/fchdir.c: Include <unistd.h> first.
69230         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
69231         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
69232         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
69233         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69234         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
69235
69236         * lib/dup2.c: Include <unistd.h> first.
69237         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
69238         HAVE_DUP2.
69239         * modules/dup2 (Depends-on): Add unistd.
69240         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69241
69242         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
69243         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
69244         REPLACE_CHOWN. Don't define chown as a macro here.
69245         * modules/chown (Depends-on): Add unistd.
69246         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69247
69248         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
69249         Add definition for GL_LINK_WARNING.
69250         (chown, dup2): New declarations.
69251         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
69252         link warning.
69253         (ftruncate): New declaration.
69254         (getcwd): New declaration, taken from old getcwd.h.
69255         (getlogin_r): New declaration, taken from old getlogin_r.h.
69256         (readlink): New declaration.
69257         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
69258         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
69259         (gl_PREREQ_UNISTD): Remove macro.
69260         (gl_UNISTD_MODULE_INDICATOR): New macro.
69261         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
69262         many new variables. Don't set UNISTD_H.
69263         * modules/unistd (Description): Change.
69264         (Depends-on): Add link-warning.
69265         (configure.ac): Update.
69266         (Makefile.am): Create unistd.h always. Substitute many new variables
69267         into it.
69268
69269 2007-02-18  Bruno Haible  <bruno@clisp.org>
69270
69271         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
69272         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
69273         HAVE_GETSUBOPT.
69274         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
69275         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
69276         * lib/getsubopt.h: Remove file.
69277         * modules/getsubopt (Files): Remove lib/getsubopt.h.
69278         (Depends-on): Add stdlib.
69279         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69280         (Includes): Use <stdlib.h> instead of getsubopt.h.
69281         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
69282         Set HAVE_GETSUBOPT.
69283         * lib/getsubopt.c: Don't include getsubopt.h.
69284
69285 2007-02-18  Bruno Haible  <bruno@clisp.org>
69286
69287         * modules/fchdir (Depends-on): Add dup2.
69288
69289 2007-02-18  Bruno Haible  <bruno@clisp.org>
69290
69291         * lib/stdlib_.h: Handle glibc's special invocation convention
69292         specially.
69293
69294 2007-02-18  Bruno Haible  <bruno@clisp.org>
69295
69296         * modules/stdlib-tests: New file.
69297         * tests/test-stdlib.c: New file.
69298
69299         * modules/mkstemp (Files): Remove lib/mkstemp.h.
69300         (Depends-on): Add stdlib.
69301         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69302         (Includes): Use <stdlib.h> instead of mkstemp.h.
69303         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
69304         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
69305         * lib/mkstemp.c: Don't include mkstemp.h.
69306         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
69307         * lib/stdlib--.h: Don't include mkstemp.h.
69308
69309         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
69310         (Depends-on): Add stdlib.
69311         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69312         (Includes): Use <stdlib.h> instead of mkdtemp.h.
69313         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
69314         HAVE_MKDTEMP.
69315         * lib/mkdtemp.c: Don't include mkdtemp.h.
69316         * lib/clean-temp.c: Don't include mkdtemp.h.
69317
69318         * modules/exit (Files): Remove lib/exit.h.
69319         (Depends-on): Add stdlib.
69320         (Makefile.am): Remove lib_SOURCES.
69321         (Include): Use <stdlib.h> instead of exit.h.
69322         * lib/argmatch.c: Don't include exit.h.
69323         * lib/execute.c: Likewise.
69324         * lib/pagealign_alloc.c: Likewise.
69325         * lib/pipe.c: Likewise.
69326         * lib/wait-process.c: Likewise.
69327         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
69328         * lib/exitfail.c: Likewise.
69329         * lib/savewd.c: Likewise.
69330         * lib/xsetenv.c: Likewise.
69331
69332         * modules/stdlib: New file.
69333         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
69334         and extra comments about mkstemp().
69335         * lib/exit.h: Remove file.
69336         * lib/mkdtemp.h: Remove file.
69337         * lib/mkstemp.h: Remove file.
69338         * m4/stdlib_h.m4: New file.
69339         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
69340
69341 2007-02-18  Bruno Haible  <bruno@clisp.org>
69342
69343         * modules/math-tests: New file.
69344         * tests/test-math.c: New file.
69345
69346         * modules/math: New file.
69347         * modules/mathl (Files): Remove lib/mathl.h.
69348         (Depends-on): Add math.
69349         (Makefile.am): Don't mention mathl.h.
69350         (Include): Use <math.h> instead of mathl.h.
69351         * lib/math_.h: New file.
69352         * lib/mathl.h: Remove file.
69353         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
69354         mathl.h.
69355         * lib/asinl.c: Likewise.
69356         * lib/atanl.c: Likewise.
69357         * lib/ceill.c: Likewise.
69358         * lib/cosl.c: Likewise.
69359         * lib/expl.c: Likewise.
69360         * lib/floorl.c: Likewise.
69361         * lib/frexpl.c: Likewise.
69362         * lib/ldexpl.c: Likewise.
69363         * lib/logl.c: Likewise.
69364         * lib/sincosl.c: Likewise.
69365         * lib/sinl.c: Likewise.
69366         * lib/sqrtl.c: Likewise.
69367         * lib/tanl.c: Likewise.
69368         * lib/trigl.c: Likewise.
69369         * m4/math_h.m4: New file.
69370         * MODULES.html.sh (Mathematics): Add math.
69371
69372 2007-02-17  Bruno Haible  <bruno@clisp.org>
69373
69374         * modules/wctype-tests: New file.
69375         * tests/test-wctype.c: New file.
69376
69377         * modules/wchar-tests: New file.
69378         * tests/test-wchar.c: New file.
69379
69380         * modules/unistd-tests: New file.
69381         * tests/test-unistd.c: New file.
69382
69383         * modules/time-tests: New file.
69384         * tests/test-time.c: New file.
69385
69386         * modules/sysexits-tests: New file.
69387         * tests/test-sysexits.c: New file.
69388
69389         * modules/sys_time-tests: New file.
69390         * tests/test-sys_time.c: New file.
69391
69392         * modules/sys_stat-tests: New file.
69393         * tests/test-sys_stat.c: New file.
69394
69395         * modules/sys_socket-tests: New file.
69396         * tests/test-sys_socket.c: New file.
69397
69398         * modules/sys_select-tests: New file.
69399         * tests/test-sys_select.c: New file.
69400
69401         * modules/string-tests: New file.
69402         * tests/test-string.c: New file.
69403
69404         * modules/stdbool-tests: New file.
69405         * tests/test-stdbool.c: New file.
69406
69407         * modules/netinet_in-tests: New file.
69408         * tests/test-netinet_in.c: New file.
69409
69410         * modules/inttypes-tests: New file.
69411         * tests/test-inttypes.c: New file.
69412
69413         * modules/fcntl-tests: New file.
69414         * tests/test-fcntl.c: New file.
69415
69416         * modules/byteswap-tests: New file.
69417         * tests/test-byteswap.c: New file.
69418
69419         * modules/arpa_inet-tests: New file.
69420         * tests/test-arpa_inet.c: New file.
69421
69422 2007-02-17  Bruno Haible  <bruno@clisp.org>
69423
69424         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
69425         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
69426         if the corresponding module is not enabled. Emit link warnings if
69427         the function is used nevertheless.
69428         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
69429         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
69430         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
69431         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
69432         * modules/inttypes (Depends-on): Add link-warning.
69433         (Makefile.am): Copy the contents of build-aux/link-warning.h into
69434         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
69435         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
69436         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
69437         * modules/imaxdiv (configure.ac): Likewise.
69438         * modules/strtoimax (configure.ac): Likewise.
69439         * modules/strtoumax (configure.ac): Likewise.
69440
69441 2007-02-17  Bruno Haible  <bruno@clisp.org>
69442
69443         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
69444         gl_STRING_MODULE_INDICATOR_DEFAULTS.
69445         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
69446         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
69447
69448 2007-02-17  Bruno Haible  <bruno@clisp.org>
69449
69450         * modules/link-warning: New file.
69451         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
69452         * lib/string_.h (GL_LINK_WARNING): Remove definition.
69453         * modules/string (Depends-on): Add link-warning.
69454         (Makefile.am): Copy the contents of build-aux/link-warning.h into
69455         string.h.
69456         * MODULES.html.sh (Support for building libraries and executables): Add
69457         link-warning.
69458
69459 2007-02-17  Bruno Haible  <bruno@clisp.org>
69460
69461         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
69462         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
69463         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
69464         long lines.
69465
69466 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
69467             Bruno Haible  <bruno@clisp.org>
69468
69469         * modules/tmpfile: New file.
69470         * lib/tmpfile.c: New file.
69471         * m4/tmpfile.m4: New file.
69472         * MODULES.html.sh (func_all_modules): New section "Input/output".
69473
69474 2007-02-15  Bruno Haible  <bruno@clisp.org>
69475
69476         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
69477         (supports_delete_on_close): New function.
69478         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
69479
69480 2007-02-14  Bruno Haible  <bruno@clisp.org>
69481
69482         * modules/mbspcasecmp-tests: New file.
69483         * tests/test-mbspcasecmp.sh: New file.
69484         * tests/test-mbspcasecmp.c: New file.
69485
69486         New module mbspcasecmp.
69487         * modules/mbspcasecmp: New file.
69488         * lib/mbspcasecmp.c: New file.
69489         * lib/string_.h (strncasecmp): Change warning message.
69490         (mbspcasecmp): New declaration.
69491         * m4/mbspcasecmp.m4: New file.
69492         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69493         GNULIB_MBSPCASECMP.
69494         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
69495         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
69496
69497 2007-02-14  Bruno Haible  <bruno@clisp.org>
69498
69499         * modules/mbsncasecmp-tests: New file.
69500         * tests/test-mbsncasecmp.sh: New file.
69501         * tests/test-mbsncasecmp.c: New file.
69502
69503         New module mbsncasecmp.
69504         * modules/mbsncasecmp: New file.
69505         * lib/mbsncasecmp.c: New file.
69506         * lib/string_.h (mbsncasecmp): New declaration.
69507         * m4/mbsncasecmp.m4: New file.
69508         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69509         GNULIB_MBSNCASECMP.
69510         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
69511         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
69512
69513 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
69514
69515         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
69516         Verify that it doesn't overlap with our flags.
69517         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
69518         do not have the desired effect in multibyte locales; instead, use
69519         mbscasecmp.
69520         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
69521         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
69522         we don't require GNU fnmatch ourselves (if our users require it, they
69523         should do so explicitly).
69524
69525         Fix regex code so it doesn't rely on strcasecmp.
69526         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
69527         Otherwise, include gnulib's langinfo.h.
69528         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
69529         undesirable behavior in non-C locales.  Instead, rely on localecharset.
69530         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
69531         * modules/regex (FILES): Remove m4/codeset.m4.
69532         (Depends-on): Add localcharset.  Remove strcase.
69533
69534 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69535
69536         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
69537         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
69538
69539 2007-02-13  Bruno Haible  <bruno@clisp.org>
69540
69541         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
69542         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69543
69544 2007-02-12  Bruno Haible  <bruno@clisp.org>
69545
69546         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
69547         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
69548         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
69549         time warning rather than a link error.
69550
69551 2007-02-12  Bruno Haible  <bruno@clisp.org>
69552
69553         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
69554         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
69555         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69556
69557 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69558
69559         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
69560         args, not 2.
69561
69562 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69563
69564         New module 'time', so that apps can include <time.h> as per
69565         POSIX and GNU instead of separate include files like time_r.h
69566         and timegm.h.  This implementation tries out a simpler approach
69567         for replacing decls in standard include files (as compared to
69568         the string module), somewhat as an experiment.
69569
69570         * config/srclist.txt: Comment out mktime.c for now.
69571         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
69572         since it doesn't apply any more.  Use generic wording instead.
69573         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
69574         'time'.
69575         * lib/time_.h, m4/time_h.m4, modules/time: New files.
69576         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
69577         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
69578         Don't include <sys/types.h>; no longer needed since we assume C89.
69579         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
69580         * lib/strftime.c: Likewise.
69581         * lib/time_r.c: Likewise.
69582         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
69583         * lib/nanosleep.c: Include <time.h> first, to check interface.
69584         * lib/strptime.c: Likewise.
69585         * lib/time_r.c: Likewise.
69586         * lib/timegm.c: Likewise.
69587         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
69588         needed.
69589         * lib/timegm.c: Don't include timegm.h; no longer needed.
69590         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
69591         time.h now handles any problems in that area.
69592         (struct timespec, nanosleep): Remove; time.h now arranges for these.
69593         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
69594         that time.h defines struct timespec.
69595         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
69596         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
69597         handles that.
69598         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
69599         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
69600         needed.  Set REPLACE_LOCALTIME.
69601         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
69602         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
69603         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
69604         nanosleep; time_h.m4 now does that.  Don't require
69605         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
69606         module handles this now.
69607         * modules/getdate (Depends-on): Remove timespec.  Add time.
69608         * modules/nanosleep (Depends-on): Likewise.
69609         * modules/stat-time (Depends-on): Likewise.
69610         * modules/nanosleep (Include): Include time.h, not timespec.h.
69611         * modules/strptime (Files): Remove lib/strptime.h.
69612         (Depends-on): Add extensions, time.
69613         (Include): Include time.h, not strptime.h.
69614         * modules/time_r (Files): Remove lib/time_r.h.
69615         (Depends-on): Add time.
69616         (Include): Include time.h, not time_r.h.
69617         * modules/timegm: Likewise.
69618         * modules/timespec (Description): Now does timespec-related decls
69619         of our own, instead of struct timespec itself.
69620         (Depends-on): Add time; remove extensions.
69621         (Maintainer): Add self.
69622         * modules/utimecmp (Depends-on): Add time; remove timespec.
69623         * modules/utimens (Depends-on): Likewise.
69624         * modules/xnanosleep (Depends-on): Likewise.
69625
69626 2007-02-11  Bruno Haible  <bruno@clisp.org>
69627
69628         * lib/c-strstr.c: Include allocsa.h.
69629         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69630         * lib/c-strcasestr.c: Include allocsa.h.
69631         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69632         * lib/strcasestr.c: Include allocsa.h.
69633         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69634         * lib/mbsstr.c: Include allocsa.h.
69635         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69636         allocsa/freesa instead of malloc/free.
69637         * lib/mbscasestr.c: Include allocsa.h.
69638         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69639         allocsa/freesa instead of malloc/free.
69640         * modules/c-strstr (Depends-on): Add allocsa.
69641         * modules/c-strcasestr (Depends-on): Likewise.
69642         * modules/strcasestr (Depends-on): Likewise.
69643         * modules/mbsstr (Depends-on): Likewise.
69644         * modules/mbscasestr (Depends-on): Likewise.
69645
69646 2007-02-11  Bruno Haible  <bruno@clisp.org>
69647
69648         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
69649
69650         * modules/mbsspn-tests: New file.
69651         * tests/test-mbsspn.sh: New file.
69652         * tests/test-mbsspn.c: New file.
69653
69654 2007-02-11  Bruno Haible  <bruno@clisp.org>
69655
69656         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
69657
69658         * modules/mbspbrk-tests: New file.
69659         * tests/test-mbspbrk.sh: New file.
69660         * tests/test-mbspbrk.c: New file.
69661
69662 2007-02-11  Bruno Haible  <bruno@clisp.org>
69663
69664         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
69665         unneeded cast.
69666
69667         * modules/mbscspn-tests: New file.
69668         * tests/test-mbscspn.sh: New file.
69669         * tests/test-mbscspn.c: New file.
69670
69671 2007-02-11  Bruno Haible  <bruno@clisp.org>
69672
69673         * modules/mbscasecmp-tests: New file.
69674         * tests/test-mbscasecmp.sh: New file.
69675         * tests/test-mbscasecmp.c: New file.
69676
69677 2007-02-11  Bruno Haible  <bruno@clisp.org>
69678
69679         Ensure O(n) worst-case complexity of mbscasestr.
69680         * lib/mbscasestr.c: Include stdbool.h.
69681         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69682         functions.
69683         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
69684         the bookkeeping indicates that it's worth it.
69685         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
69686
69687         * modules/mbscasestr-tests: New file.
69688         * tests/test-mbscasestr1.c: New file.
69689         * tests/test-mbscasestr2.sh: New file.
69690         * tests/test-mbscasestr2.c: New file.
69691         * tests/test-mbscasestr3.sh: New file.
69692         * tests/test-mbscasestr3.c: New file.
69693         * tests/test-mbscasestr4.sh: New file.
69694         * tests/test-mbscasestr4.c: New file.
69695         * m4/locale-tr.m4: New file.
69696
69697 2007-02-11  Bruno Haible  <bruno@clisp.org>
69698
69699         Ensure O(n) worst-case complexity of mbsstr.
69700         * lib/mbsstr.c: Include stdbool.h.
69701         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69702         functions.
69703         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
69704         bookkeeping indicates that it's worth it.
69705         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
69706
69707         * modules/mbsstr-tests: New file.
69708         * tests/test-mbsstr1.c: New file.
69709         * tests/test-mbsstr2.sh: New file.
69710         * tests/test-mbsstr2.c: New file.
69711         * tests/test-mbsstr3.sh: New file.
69712         * tests/test-mbsstr3.c: New file.
69713         * m4/locale-fr.m4: New file.
69714
69715 2007-02-11  Bruno Haible  <bruno@clisp.org>
69716
69717         * lib/mbsrchr.c (mbsrchr): Fix bug.
69718
69719         * modules/mbsrchr-tests: New file.
69720         * tests/test-mbsrchr.sh: New file.
69721         * tests/test-mbsrchr.c: New file.
69722
69723 2007-02-11  Bruno Haible  <bruno@clisp.org>
69724
69725         * lib/mbschr.c (mbschr): Fix bug.
69726
69727         * modules/mbschr-tests: New file.
69728         * tests/test-mbschr.sh: New file.
69729         * tests/test-mbschr.c: New file.
69730         * m4/locale-zh.m4: New file.
69731
69732 2007-02-11  Bruno Haible  <bruno@clisp.org>
69733
69734         Support for copying multibyte string iterators.
69735         * lib/mbiter.h: Include <string.h>.
69736         (mbiter_multi_copy): New function.
69737         (mbi_copy): New macro.
69738         * lib/mbuiter.h: Include <string.h>.
69739         (mbuiter_multi_copy): New function.
69740         (mbui_copy): New macro.
69741
69742 2007-02-11  Bruno Haible  <bruno@clisp.org>
69743
69744         New module mbslen.
69745         * modules/mbslen: New file.
69746         * lib/mbslen.c: New file.
69747         * lib/string_.h (mbslen): New declaration.
69748         * m4/mbslen.m4: New file.
69749         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69750         GNULIB_MBSLEN.
69751         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
69752         * MODULES.html.sh (Internationalization functions): Add mbslen.
69753
69754 2007-02-11  Bruno Haible  <bruno@clisp.org>
69755
69756         Ensure O(n) worst-case complexity of strcasestr substitute.
69757         * lib/strcasestr.c: Include stdbool.h.
69758         (knuth_morris_pratt): New function.
69759         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
69760         bookkeeping indicates that it's worth it.
69761         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
69762
69763         * modules/strcasestr-tests: New file.
69764         * tests/test-strcasestr.c: New file.
69765
69766 2007-02-11  Bruno Haible  <bruno@clisp.org>
69767
69768         Ensure O(n) worst-case complexity of c_strcasestr.
69769         * lib/c-strcasestr.c: Include stdbool.h, string.h.
69770         (knuth_morris_pratt): New function.
69771         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
69772         the bookkeeping indicates that it's worth it.
69773         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
69774
69775         * modules/c-strcasestr-tests: New file.
69776         * tests/test-c-strcasestr.c: New file.
69777
69778 2007-02-11  Bruno Haible  <bruno@clisp.org>
69779
69780         Ensure O(n) worst-case complexity of c_strstr.
69781         * lib/c-strstr.c: Include stdbool.h, string.h.
69782         (knuth_morris_pratt): New function.
69783         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
69784         bookkeeping indicates that it's worth it.
69785         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
69786
69787         * lib/c-strstr.c: Complete rewrite for maintainability.
69788
69789         * modules/c-strstr-tests: New file.
69790         * tests/test-c-strstr.c: New file.
69791
69792 2007-02-11  Bruno Haible  <bruno@clisp.org>
69793
69794         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
69795         5.2.1 and earlier, whereby \055 was treated just like the range
69796         delimiter '-'.
69797         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
69798
69799 2007-02-08  Bruno Haible  <bruno@clisp.org>
69800
69801         * modules/regex (Depends-on): Add stdbool.
69802         Reported by Dalibor Topic <robilad@kaffe.org>.
69803
69804 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
69805
69806         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
69807         Prefer returning from main to exiting from it.
69808         Remove unnecessary parens after sizeof.
69809
69810 2007-02-05  Bruno Haible  <bruno@clisp.org>
69811
69812         New module mbssep.
69813         * modules/mbssep: New file.
69814         * lib/mbssep.c: New file.
69815         * lib/string_.h (strsep): Add a conditional link warning.
69816         (mbssep): New declaration.
69817         * m4/mbssep.m4: New file.
69818         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69819         GNULIB_MBSSEP.
69820         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
69821         * MODULES.html.sh (Internationalization functions): Add mbssep.
69822
69823 2007-02-05  Bruno Haible  <bruno@clisp.org>
69824
69825         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
69826         Optimize search in case of 1 delimiter.
69827
69828 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
69829
69830         * lib/acl.h: Include sys/types.h before sys/acl.h.
69831
69832 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
69833
69834         Merge upstream fix for glibc bugzilla #3957:
69835
69836         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
69837
69838         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
69839         bit for RE_HAT_LISTS_NOT_NEWLINE.
69840         (build_charclass_op): Remove bogus comment.
69841
69842 2007-02-05  Simon Josefsson  <simon@josefsson.org>
69843
69844         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
69845
69846 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
69847
69848         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
69849         * lib/memmem.c [!defined _LIBC]: Include config.h.
69850
69851 2007-02-04  Bruno Haible  <bruno@clisp.org>
69852
69853         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
69854         warning message.
69855
69856 2007-02-04  Bruno Haible  <bruno@clisp.org>
69857
69858         New module mbstok_r.
69859         * modules/mbstok_r: New file.
69860         * lib/mbstok_r.c: New file.
69861         * lib/string_.h (strtok_r): Change argument names to match the
69862         comments. Add a conditional link warning.
69863         (mbstok_r): New declaration.
69864         * m4/mbstok_r.m4: New file.
69865         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69866         GNULIB_MBSTOK_R.
69867         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
69868         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
69869
69870 2007-02-04  Bruno Haible  <bruno@clisp.org>
69871
69872         New module mbsspn.
69873         * modules/mbsspn: New file.
69874         * lib/mbsspn.c: New file.
69875         * lib/string_.h (strspn): Add a conditional link warning.
69876         (mbsspn): New declaration.
69877         * m4/mbsspn.m4: New file.
69878         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69879         GNULIB_MBSSPN.
69880         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
69881         * MODULES.html.sh (Internationalization functions): Add mbsspn.
69882
69883 2007-02-04  Bruno Haible  <bruno@clisp.org>
69884
69885         New module mbspbrk.
69886         * modules/mbspbrk: New file.
69887         * lib/mbspbrk.c: New file.
69888         * lib/string_.h (strpbrk): Add a conditional link warning.
69889         (mbspbrk): New declaration.
69890         * m4/mbspbrk.m4: New file.
69891         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69892         GNULIB_MBSPBRK.
69893         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
69894         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
69895
69896 2007-02-04  Bruno Haible  <bruno@clisp.org>
69897
69898         New module mbscspn.
69899         * modules/mbscspn: New file.
69900         * lib/mbscspn.c: New file.
69901         * lib/string_.h (strcspn): Add a conditional link warning.
69902         (mbscspn): New declaration.
69903         * m4/mbscspn.m4: New file.
69904         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69905         GNULIB_MBSCSPN.
69906         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
69907         * MODULES.html.sh (Internationalization functions): Add mbscspn.
69908
69909 2007-02-04  Bruno Haible  <bruno@clisp.org>
69910
69911         New module mbscasestr, reduced goal of strcasestr.
69912         * modules/mbscasestr: New file.
69913         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
69914         (mbscasestr): Renamed from strcasestr.
69915         * lib/strcasestr.c: Don't include mbuiter.h.
69916         (strcasestr): Remove support for multibyte locales.
69917         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
69918         Change the conditional link warning.
69919         (mbscasestr): New declaration.
69920         * m4/mbscasestr.m4: New file.
69921         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
69922         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
69923         REPLACE_STRCASESTR.
69924         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
69925         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69926         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
69927         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
69928         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
69929         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
69930         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
69931         (Depends-on): Remove mbuiter.
69932         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
69933
69934 2007-02-04  Bruno Haible  <bruno@clisp.org>
69935
69936         Simplify handling of strncasecmp.
69937         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
69938         the conditional link warning.
69939         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69940         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
69941         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
69942         * modules/strcase (configure.ac): Don't invoke
69943         gl_STRING_MODULE_INDICATOR.
69944         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
69945
69946 2007-02-04  Bruno Haible  <bruno@clisp.org>
69947
69948         New module mbscasecmp, reduced goal of strcasecmp.
69949         * modules/mbscasecmp: New file.
69950         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
69951         (mbscasecmp): Renamed from strcasecmp.
69952         * lib/strcasecmp.c: Don't include mbuiter.h.
69953         (strcasecmp): Remove support for multibyte locales.
69954         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
69955         Change the conditional link warning.
69956         (mbscasecmp): New declaration.
69957         * m4/mbscasecmp.m4: New file.
69958         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
69959         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
69960         REPLACE_STRCASECMP.
69961         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
69962         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69963         GNULIB_MBSCASECMP.
69964         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
69965         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
69966         * modules/strcase (Files): Remove m4/mbrtowc.m4.
69967         (Depends-on): Remove mbuiter.
69968         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
69969
69970 2007-02-04  Bruno Haible  <bruno@clisp.org>
69971
69972         New module mbsstr. Remove module strstr.
69973         * modules/mbsstr: New file.
69974         * modules/strstr: Remove file.
69975         * lib/mbsstr.c: Renamed from lib/strstr.c.
69976         (mbsstr): Renamed from strstr.
69977         * lib/string_.h (strstr): Remove declaration. Change the conditional
69978         link warning.
69979         (mbsstr): New declaration.
69980         * m4/mbsstr.m4: New file.
69981         * m4/strstr.m4: Remove file.
69982         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
69983         REPLACE_STRSTR.
69984         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
69985         Don't initialize GNULIB_STRSTR.
69986         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
69987         substitute GNULIB_STRSTR and REPLACE_STRSTR.
69988         * MODULES.html.sh (Internationalization functions): Add mbsstr.
69989         (Support for systems lacking ANSI C 89): Remove strstr.
69990
69991 2007-02-04  Bruno Haible  <bruno@clisp.org>
69992
69993         New module mbsrchr.
69994         * modules/mbsrchr: New file.
69995         * lib/mbsrchr.c: New file.
69996         * lib/string_.h (strrchr): Add a conditional link warning.
69997         (mbsrchr): New declaration.
69998         * m4/mbsrchr.m4: New file.
69999         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70000         GNULIB_MBSRCHR.
70001         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
70002         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
70003
70004 2007-02-04  Bruno Haible  <bruno@clisp.org>
70005
70006         New module mbschr.
70007         * modules/mbschr: New file.
70008         * lib/mbschr.c: New file.
70009         * lib/string_.h (strchr): Add a conditional link warning.
70010         (mbschr): New declaration.
70011         * m4/mbschr.m4: New file.
70012         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70013         GNULIB_MBSCHR.
70014         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
70015         * MODULES.html.sh (Internationalization functions): Add mbschr.
70016
70017 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
70018
70019         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
70020
70021         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
70022
70023 2007-02-04  Bruno Haible  <bruno@clisp.org>
70024
70025         New module description section 'configure.ac-early'.
70026         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
70027         (func_get_autoconf_early_snippet): New function.
70028         (func_import, func_create_testdir): Use it. Remove special cases for
70029         modules 'extensions' and 'lock'.
70030         * modules/extensions (configure.ac-early): Require
70031         gl_USE_SYSTEM_EXTENSIONS.
70032         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
70033
70034 2007-02-04  Bruno Haible  <bruno@clisp.org>
70035
70036         Make use of gcj-4.3's -fsource and -ftarget option.
70037         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
70038         and if so try the options -fsource and -ftarget.
70039         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
70040         source_version, ftarget_option, target_version arguments.
70041         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
70042         (is_envjavac_oldgcj_14_14_usable): Renamed from
70043         is_envjavac_gcj_14_14_usable.
70044         (is_envjavac_oldgcj_14_13_usable): Renamed from
70045         is_envjavac_gcj_14_13_usable.
70046         (is_gcj_present): Update.
70047         (is_gcj_43, is_gcj43_usable): New functions.
70048         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
70049         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
70050         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
70051         try the options -fsource and -ftarget.
70052
70053 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70054
70055         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
70056         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
70057         larger value.
70058
70059 2007-02-03  Jim Meyering  <jim@meyering.net>
70060
70061         Give tools a better chance to allocate space for very large buffers.
70062         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
70063
70064         Make pwd and readlink work also when run with an unreadable parent dir
70065         on systems with openat support.
70066         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
70067         provided getcwd function, even when we have openat support.
70068         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
70069
70070 2007-02-02  Bruno Haible  <bruno@clisp.org>
70071
70072         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
70073         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
70074         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
70075         portability problems if one of these functions is only used on specific
70076         platforms.
70077         Reported by Paul Eggert.
70078
70079 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
70080
70081         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
70082         is causing more trouble than it's curing.
70083         * lib/regex_internal.h (__mempcpy): Remove.
70084         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
70085         (and make the code a tad smaller to boot).
70086         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
70087
70088 2007-02-02  Jim Meyering  <jim@meyering.net>
70089
70090         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
70091         section, not in the Makefile.am: one.
70092
70093 2007-02-02  Eric Blake  <ebb9@byu.net>
70094
70095         * lib/strchrnul.c: Always include config.h first.
70096
70097         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
70098         gnulib strstr is not necessary here.
70099
70100 2007-02-02  Simon Josefsson  <simon@josefsson.org>
70101
70102         * m4/socklen.m4: Fix typo.
70103
70104 2007-02-02  Eric Blake  <ebb9@byu.net>
70105
70106         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
70107         * modules/netinet_in (Makefile.am): Likewise.
70108
70109 2007-02-01  Bruno Haible  <bruno@clisp.org>
70110
70111         * lib/string_.h (GL_LINK_WARNING): New macro.
70112         (strcasecmp, strstr, strcasestr): If provided by the system,
70113         conditionally define as a macro that leads to a warning instead of to
70114         an error.
70115         (strncasecmp): Conditionally define as a macro that leads to a warning.
70116
70117 2007-02-01  Karl Berry  <karl@gnu.org>
70118
70119         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
70120
70121 2007-02-01  Bruno Haible  <bruno@clisp.org>
70122
70123         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
70124         renamings.
70125
70126 2007-02-01  Eric Blake  <ebb9@byu.net>
70127
70128         * modules/regex (Depends-on): Revert dependence on mempcpy.
70129         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
70130         module's definition of mempcpy.
70131         Reported by Paul Eggert.
70132
70133 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
70134
70135         * lib/string_.h: If the gnulib module XYZ is not present, undefine
70136         the symbol XYZ before redefining it.  This fixes a problem with
70137         programs that don't use XYZ, when compiled on systems that define
70138         XYZ to something else.
70139
70140 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
70141
70142         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
70143         occurs when "mkdir -m foo" creates a setgid directory that is (1)
70144         writeable to group or other and (2) is intended to have a special
70145         mode bit that is set or cleared.  In such a case, the directory
70146         should be neither group- nor other-writeable until the special
70147         mode bits are right.
70148
70149 2007-01-31  Eric Blake  <ebb9@byu.net>
70150
70151         * modules/mountlist (Depends-on): Add strstr.
70152
70153         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
70154         bug.
70155         * modules/string (Makefile.am): Remove redundant replacement.
70156         * modules/regex (Depends-on): Add mempcpy.
70157
70158 2007-01-31  Bruno Haible  <bruno@clisp.org>
70159
70160         New module description field 'Link'.
70161         * gnulib-tool (func_usage): Document --extract-link-directive.
70162         (sed_extract_prog): Recognize 'Link' directive.
70163         (func_get_link_directive): New function.
70164         (func_import): Show summary of link directives.
70165         Handle --extract-link-directive option.
70166         * modules/acl (Link): New section.
70167         * modules/clock-time (Link): New section.
70168         * modules/euidaccess (Link): New section.
70169         * modules/gettext (Link): New section.
70170         * modules/iconv (Link): New section.
70171         * modules/lock (Link): New section.
70172         * modules/nanosleep (Link): New section.
70173         * modules/readline (Link): New section.
70174
70175 2007-01-27  Bruno Haible  <bruno@clisp.org>
70176
70177         Enforce the use of gnulib modules for unportable <string.h> functions.
70178         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
70179         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
70180         (gl_HEADER_STRING_H_BODY): Require it.
70181         * lib/string_.h: If the gnulib module XYZ is not present, redefine
70182         the symbol XYZ to one that gives a link error.
70183         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
70184         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
70185         * modules/mempcpy (configure.ac): Likewise.
70186         * modules/memrchr (configure.ac): Likewise.
70187         * modules/stpcpy (configure.ac): Likewise.
70188         * modules/stpncpy (configure.ac): Likewise.
70189         * modules/strcase (configure.ac): Likewise.
70190         * modules/strcasestr (configure.ac): Likewise.
70191         * modules/strchrnul (configure.ac): Likewise.
70192         * modules/strdup (configure.ac): Likewise.
70193         * modules/strndup (configure.ac): Likewise.
70194         * modules/strnlen (configure.ac): Likewise.
70195         * modules/strpbrk (configure.ac): Likewise.
70196         * modules/strsep (configure.ac): Likewise.
70197         * modules/strstr (configure.ac): Likewise.
70198         * modules/strtok_r (configure.ac): Likewise.
70199
70200 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
70201
70202         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
70203
70204 2007-01-30  Jim Meyering  <jim@meyering.net>
70205
70206         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
70207
70208 2007-01-29  Bruno Haible  <bruno@clisp.org>
70209
70210         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
70211         * lib/execute.c: Likewise.
70212         * lib/pipe.c: Likewise.
70213         * lib/printf-args.h: Likewise.
70214         * lib/printf-args.c: Likewise.
70215         * lib/printf-parse.c: Likewise.
70216         * lib/vasnprintf.c: Likewise.
70217
70218 2007-01-29  Eric Blake  <ebb9@byu.net>
70219
70220         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
70221         declaration.
70222
70223 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
70224
70225         * lib/strptime.h (strptime): Use 'restrict' for args where
70226         POSIX requires this.
70227         * lib/strptime.c (strptime): Likewise.
70228         Change license notice from LGPL to GPL, since gnulib-tool will
70229         change this as needed.
70230         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
70231         defined.
70232         Include "strptime.h" first, to check interface.
70233         Do not #undef _LIBC and _NL_CURRENT.
70234         Do not include <stdlib.h>; no longer needed.
70235         Include "time_r.h" and declare ptime_locale_status
70236         only if _LIBC is not defined.
70237         (__P): Remove unused macro.
70238         (match_string): Bring back glibc version, but use it only if _LIBC
70239         is defined.
70240         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
70241         Remove unnecessary assertion and abort() call.
70242         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
70243         * m4/strptime.m4: Fix serial number comment.
70244         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
70245         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
70246         (Depends-on): Add time_r.
70247
70248 2007-01-29  Bruno Haible  <bruno@clisp.org>
70249
70250         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70251         strptime.
70252         * modules/strptime (Depends-on): Add stdbool.
70253         * lib/strptime.h: Include <time.h> always. Add comments.
70254
70255 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70256
70257         * modules/strptime: New file.
70258         * lib/strptime.h: New file.
70259         * lib/strptime.c: New file.
70260         * m4/strptime.m4: New file.
70261
70262 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
70263
70264         * MODULES.html.sh: New module mpsort.
70265         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
70266
70267         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
70268         a circularity problem with HP-UX ia64 reported by Bob Proulx in
70269         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
70270         All uses changed.
70271         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
70272         All uses changed.
70273         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
70274         to _Restrict_.
70275         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
70276         the parameter matches the prototype.
70277
70278 2007-01-28  Jim Meyering  <jim@meyering.net>
70279
70280         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
70281         sys/time.h here, reverting that part of the previous patch:
70282         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
70283
70284 2007-01-28  Bruno Haible  <bruno@clisp.org>
70285
70286         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
70287         value of $(SYS_TIME_H).
70288         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
70289         remove it conditionally, too. [added by Jim Meyering]
70290         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
70291         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
70292         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
70293         GETTIMEOFDAY_REPLACEMENT to 1.
70294
70295 2007-01-28  Bruno Haible  <bruno@clisp.org>
70296
70297         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
70298         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
70299         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
70300         Set UNISTD_H instead of UNISTD_H2.
70301         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
70302
70303 2007-01-28  Bruno Haible  <bruno@clisp.org>
70304
70305         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
70306         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
70307
70308 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70309
70310         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
70311         (func_create_testdir): Ensure C locale for `grep' and `tr'
70312         character ranges.
70313         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
70314         ACLOCAL_AMFLAGS parsing state machine.
70315
70316 2007-01-27  Bruno Haible  <bruno@clisp.org>
70317
70318         * modules/unistr/base: Update.
70319
70320 2007-01-27  Bruno Haible  <bruno@clisp.org>
70321
70322         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
70323         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
70324         * modules/unistr/u32-mbtouc-unsafe: Renamed from
70325         modules/unistr/u32-mbtouc.
70326         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
70327         * lib/unistr.h: Update.
70328         * lib/linebreak.c: Update.
70329         * modules/unistr/u32-mbtouc: Renamed from
70330         modules/unistr/u32-mbtouc-safe.
70331         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
70332         * lib/unistr.h: Update.
70333         * lib/unistr/u32-to-u8.c: Update.
70334         * lib/unistr/u32-to-u16.c: Update.
70335
70336 2007-01-27  Bruno Haible  <bruno@clisp.org>
70337
70338         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
70339         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
70340         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
70341         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
70342         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
70343         * modules/unistr/u16-mbtouc-unsafe: Renamed from
70344         modules/unistr/u16-mbtouc.
70345         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
70346         * lib/unistr.h: Update.
70347         * lib/linebreak.c: Update.
70348         * modules/linebreak: Update.
70349         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
70350         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
70351         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
70352         * modules/unistr/u16-mbtouc: Renamed from
70353         modules/unistr/u16-mbtouc-safe.
70354         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
70355         * lib/unistr.h: Update.
70356         * lib/unistr/u16-to-u8.c: Update.
70357         * modules/unistr/u16-to-u8: Update.
70358         * lib/unistr/u16-to-u32.c: Update.
70359         * modules/unistr/u16-to-u32: Update.
70360
70361 2007-01-27  Bruno Haible  <bruno@clisp.org>
70362
70363         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
70364         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
70365         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
70366         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
70367         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
70368         * modules/unistr/u8-mbtouc-unsafe: Renamed from
70369         modules/unistr/u8-mbtouc.
70370         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
70371         * lib/unistr.h: Update.
70372         * lib/striconveh.c: Update.
70373         * modules/striconveh: Update.
70374         * lib/linebreak.c: Update.
70375         * modules/linebreak: Update.
70376         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
70377         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
70378         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
70379         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
70380         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
70381         * lib/unistr.h: Update.
70382         * lib/striconveh.c: Update.
70383         * modules/striconveh: Update.
70384         * lib/unistr/u8-to-u16.c: Update.
70385         * modules/unistr/u8-to-u16: Update.
70386         * lib/unistr/u8-to-u32.c: Update.
70387         * modules/unistr/u8-to-u32: Update.
70388
70389 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70390
70391         Sync from Libtool.
70392         * lib/argz.c: Do not include strings.h nor memory.h, include
70393         string.h unconditionally.  Patch by Simon Josefsson.
70394
70395 2007-01-27  Bruno Haible  <bruno@clisp.org>
70396
70397         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
70398         from gl_HEADER_STRING_H_BODY.
70399         (gl_HEADER_STRING_H_BODY): Require it.
70400         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
70401         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
70402         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
70403         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
70404         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
70405         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
70406         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
70407         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
70408         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
70409         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
70410         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
70411         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
70412         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
70413         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
70414         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
70415
70416 2007-01-27  Bruno Haible  <bruno@clisp.org>
70417
70418         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
70419         check_PROGRAMS into noinst_PROGRAMS.
70420         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
70421         check_PROGRAMS in this case.
70422         (func_import): Set for_test to false.
70423         (func_create_testdir): Set for_test to true.
70424
70425 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
70426             Bruno Haible  <bruno@clisp.org>
70427
70428         * modules/strcasestr (Files): Remove lib/strcasestr.h.
70429         (Depends-on): Add string.
70430         (Includes): Use <string.h> instead of strcasestr.h.
70431         * modules/string (Makefile.am): Also substitute the value of
70432         REPLACE_STRCASESTR.
70433         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
70434         assume strcasestr is declared in <string.h> not <strings.h>. Also
70435         set REPLACE_STRCASESTR.
70436         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
70437         REPLACE_STRCASESTR.
70438         * lib/strcasestr.h: Remove file.
70439         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
70440         * lib/string_.h (strcasestr): New declaration.
70441
70442 2007-01-27  Bruno Haible  <bruno@clisp.org>
70443
70444         * lib/string_.h: Use 'extern'.
70445
70446 2007-01-27  Jim Meyering  <jim@meyering.net>
70447
70448         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
70449         of set-but-not-used local, "q".
70450
70451         * lib/mempcpy.c: Include <config.h> before <string.h>.
70452         This fixes a compilation error on HP-UX, due to the system's
70453         "restrict"-using mempcpy prototype.
70454
70455 2007-01-26  Bruno Haible  <bruno@clisp.org>
70456
70457         Small optimization.
70458         * lib/javacomp.c: Include c-strstr.h.
70459          (is_envjavac_gcj): Use c_strstr instead of strstr.
70460         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
70461
70462 2007-01-26  Bruno Haible  <bruno@clisp.org>
70463
70464         * MODULES.html.sh (Unicode string functions): Add the new modules.
70465
70466         * modules/uniconv/u32-strconv-to-locale: New file.
70467         * lib/uniconv/u32-strconv-to-locale.c: New file.
70468
70469         * modules/uniconv/u16-strconv-to-locale: New file.
70470         * lib/uniconv/u16-strconv-to-locale.c: New file.
70471
70472         * modules/uniconv/u8-strconv-to-locale: New file.
70473         * lib/uniconv/u8-strconv-to-locale.c: New file.
70474
70475         * modules/uniconv/u32-strconv-from-locale: New file.
70476         * lib/uniconv/u32-strconv-from-locale.c: New file.
70477
70478         * modules/uniconv/u16-strconv-from-locale: New file.
70479         * lib/uniconv/u16-strconv-from-locale.c: New file.
70480
70481         * modules/uniconv/u8-strconv-from-locale: New file.
70482         * lib/uniconv/u8-strconv-from-locale.c: New file.
70483
70484         * modules/uniconv/u32-strconv-to-enc: New file.
70485         * lib/uniconv/u32-strconv-to-enc.c: New file.
70486         * modules/uniconv/u32-strconv-to-enc-tests: New file.
70487         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
70488
70489         * modules/uniconv/u16-strconv-to-enc: New file.
70490         * lib/uniconv/u16-strconv-to-enc.c: New file.
70491         * lib/uniconv/u-strconv-to-enc.h: New file.
70492         * modules/uniconv/u16-strconv-to-enc-tests: New file.
70493         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
70494
70495         * modules/uniconv/u8-strconv-to-enc: New file.
70496         * lib/uniconv/u8-strconv-to-enc.c: New file.
70497         * modules/uniconv/u8-strconv-to-enc-tests: New file.
70498         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
70499
70500         * modules/uniconv/u32-strconv-from-enc: New file.
70501         * lib/uniconv/u32-strconv-from-enc.c: New file.
70502         * modules/uniconv/u32-strconv-from-enc-tests: New file.
70503         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
70504
70505         * modules/uniconv/u16-strconv-from-enc: New file.
70506         * lib/uniconv/u16-strconv-from-enc.c: New file.
70507         * modules/uniconv/u16-strconv-from-enc-tests: New file.
70508         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
70509
70510         * modules/uniconv/u8-strconv-from-enc: New file.
70511         * lib/uniconv/u8-strconv-from-enc.c: New file.
70512         * lib/uniconv/u-strconv-from-enc.h: New file.
70513         * modules/uniconv/u8-strconv-from-enc-tests: New file.
70514         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
70515
70516         * modules/uniconv/u32-conv-from-enc: New file.
70517         * lib/uniconv/u32-conv-from-enc.c: New file.
70518         * modules/uniconv/u32-conv-from-enc-tests: New file.
70519         * tests/uniconv/test-u32-conv-from-enc.c: New file.
70520
70521         * modules/uniconv/u16-conv-from-enc: New file.
70522         * lib/uniconv/u16-conv-from-enc.c: New file.
70523         * lib/uniconv/u-conv-from-enc.h: New file.
70524         * modules/uniconv/u16-conv-from-enc-tests: New file.
70525         * tests/uniconv/test-u16-conv-from-enc.c: New file.
70526
70527         * modules/uniconv/u8-conv-from-enc: New file.
70528         * lib/uniconv/u8-conv-from-enc.c: New file.
70529         * modules/uniconv/u8-conv-from-enc-tests: New file.
70530         * tests/uniconv/test-u8-conv-from-enc.c: New file.
70531
70532         * modules/uniconv/base: New file.
70533         * lib/uniconv.h: New file.
70534
70535 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
70536
70537         * doc/gnulib-tool.texi (Initial import): Update to match current
70538         behavior with strdup module.
70539         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
70540         * lib/memmem.h: Remove; all uses removed.  This is now done
70541         by <string.h>.
70542         * lib/mempcpy.h: Likewise.
70543         * lib/memrchr.h: Likewise.
70544         * lib/stpcpy.h: Likewise.
70545         * lib/stpncpy.h: Likewise.
70546         * lib/strcase.h: Likewise.
70547         * lib/strchrnul.h: Likewise.
70548         * lib/strdup.h: Likewise.
70549         * lib/strndup.h: Likewise.
70550         * lib/strnlen.h: Likewise.
70551         * lib/strpbrk.h: Likewise.
70552         * lib/strsep.h: Likewise.
70553         * lib/strstr.h: Likewise.
70554         * lib/strtok_r.h: Likewise.
70555         * lib/string_.h: New file.
70556         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
70557         Rely on <string.h> instead.
70558         * lib/canon-host.c: Likewise.
70559         * lib/chdir-long.c: Likewise.
70560         * lib/concatpath.c: Likewise.
70561         * lib/exclude.c: Likewise.
70562         * lib/fchdir.c: Likewise.
70563         * lib/getaddrinfo.c: Likewise.
70564         * lib/getcwd.c: Likewise.
70565         * lib/getsubopt.c: Likewise.
70566         * lib/glob.c: Likewise.
70567         * lib/hard-locale.c: Likewise.
70568         * lib/iconvme.c: Likewise.
70569         * lib/javacomp.c: Likewise.
70570         * lib/mempcpy.c: Likewise.
70571         * lib/memrchr.c: Likewise.
70572         * lib/regex_internal.h: Likewise.
70573         * lib/stpncpy.c: Likewise.
70574         * lib/strcasecmp.c: Likewise.
70575         * lib/strchrnul.c: Likewise.
70576         * lib/strdup.c: Likewise.
70577         * lib/striconv.c: Likewise.
70578         * lib/striconveh.c: Likewise.
70579         * lib/striconveha.c: Likewise.
70580         * lib/strncasecmp.c: Likewise.
70581         * lib/strndup.c: Likewise.
70582         * lib/strnlen.c: Likewise.
70583         * lib/strsep.c: Likewise.
70584         * lib/strstr.c: Likewise.
70585         * lib/strtok_r.c: Likewise.
70586         * lib/userspec.c: Likewise.
70587         * lib/w32spawn.h: Likewise.
70588         * lib/xstrndup.c: Likewise.
70589         * lib/mountlist.c (strstr): Remove decl.
70590         * m4/string_h.m4: New file.
70591         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
70592         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
70593         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
70594         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
70595         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
70596         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
70597         Set REPLACE_STRCASECMP if necessary.
70598         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
70599         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
70600         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
70601         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
70602         HAVE_DECL_STRDUP if necessary.
70603         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
70604         since gl_FUNC_STRNDUP does that now.
70605         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
70606         Check for decl here...
70607         (gl_PREREQ_STRNLEN): ... not here.
70608         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
70609         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
70610         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
70611         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
70612         necessary.
70613         * modules/string: New file.
70614         * modules/memmem (Files): Remove special-purpose include file.
70615         (Depends-on): Add string.
70616         (Include): Include <string.h>, not the removed file.
70617         * modules/mempcpy: Likewise.
70618         * modules/memrchr: Likewise.
70619         * modules/stpcpy: Likewise.
70620         * modules/stpncpy: Likewise.
70621         * modules/strcase: Likewise.
70622         * modules/strchrnul: Likewise.
70623         * modules/strdup: Likewise.
70624         * modules/strndup: Likewise.
70625         * modules/strnlen: Likewise.
70626         * modules/strpbrk: Likewise.
70627         * modules/strsep: Likewise.
70628         * modules/strstr: Likewise.
70629         * modules/strtok_r: Likewise.
70630         * tests/test-dirname.c: Don't include "strdup.h", since
70631         <string.h> now suffices.
70632         * tests/test-memmem.c: Don't include "memmem.h", since
70633         <string.h> now suffices.
70634
70635 2007-01-25  Bruno Haible  <bruno@clisp.org>
70636
70637         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
70638         *resultp is 0.
70639
70640         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
70641         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
70642         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
70643         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
70644
70645         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
70646         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
70647         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
70648         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
70649         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
70650         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
70651
70652 2007-01-24  Bruno Haible  <bruno@clisp.org>
70653
70654         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
70655         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
70656         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
70657         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
70658         gl_FUNC_FTS_CORE.
70659         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
70660         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
70661         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70662         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
70663         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
70664         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
70665         gl_FUNC_FCHOWNAT.
70666         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
70667         gl_FUNC_STRFTIME.
70668         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
70669         Reported by Ralf Wildenhues.
70670
70671 2007-01-24  Bruno Haible  <bruno@clisp.org>
70672
70673         Drop AC_REQUIRE calls that are redundant with the module dependencies.
70674         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
70675         gl_GETADDRINFO.
70676         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
70677         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
70678         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
70679
70680 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
70681
70682         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
70683         Don't use 'exit'; just return from 'main'.
70684         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
70685
70686         * lib/fnmatch_.h: Readjust white space and comments to match
70687         glibc, to avoid spurious diffs.
70688
70689 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70690
70691         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
70692         2004-12-01 change by Jakub Jelinek, since this code won't compile
70693         if !LIBC.  Problem reported by Bob Proulx.
70694
70695 2007-01-23  Bruno Haible  <bruno@clisp.org>
70696
70697         * lib/striconveh.c: Include c-strcaseeq.h.
70698         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
70699         * modules/striconveh (Depends-on): Add c-strcaseeq.
70700
70701 2007-01-23  Bruno Haible  <bruno@clisp.org>
70702
70703         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
70704
70705         * modules/c-strcaseeq: New file.
70706         * lib/c-strcaseeq.h: New file.
70707
70708         * modules/streq: New file.
70709         * lib/streq.h: New file.
70710
70711 2007-01-23  Bruno Haible  <bruno@clisp.org>
70712
70713         * modules/striconveha-tests: New file.
70714         * tests/test-striconveha.c: New file.
70715
70716         * lib/striconveha.h: Include <stdbool.h>.
70717         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
70718         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
70719         (mem_iconveha_notranslit): Renamed from mem_iconveha.
70720         (mem_iconveha): New function.
70721         (str_iconveha_notranslit): Renamed from str_iconveha.
70722         (str_iconveha): New function.
70723         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
70724         c-strcase.
70725
70726 2007-01-23  Bruno Haible  <bruno@clisp.org>
70727
70728         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
70729         encodings without forgiving before trying any encoding with handler.
70730         (str_iconveha): Try all encodings without forgiving before trying any
70731         encoding with handler.
70732
70733 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70734
70735         Import the following changes from libc.
70736
70737         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
70738
70739         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
70740
70741         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
70742
70743         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
70744         normal_bracket label.
70745
70746         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
70747
70748         [BZ #361]
70749         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
70750         to normal_bracket after fetching the next character.
70751
70752 2007-01-22  Bruno Haible  <bruno@clisp.org>
70753
70754         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
70755         argument.
70756         * lib/striconveh.c (iconv_carefully_1): New function.
70757         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
70758         argument.
70759         (str_cd_iconveh): Update.
70760         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
70761         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
70762         * tests/test-striconveh.c (MAGIC): New macro.
70763         (new_offsets): New function.
70764         (main): Test call with and without offsets.
70765
70766 2007-01-22  Bruno Haible  <bruno@clisp.org>
70767
70768         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
70769         * modules/sys_select (Makefile.am): Likewise.
70770         * modules/sys_socket (Makefile.am): Likewise.
70771         * modules/sys_time (Makefile.am): Likewise.
70772
70773 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
70774
70775         * modules/gettimeofday (License): Change from GPL to LGPL, since
70776         gettimeofday is a library function.
70777
70778 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70779
70780         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
70781
70782 2007-01-21  Bruno Haible  <bruno@clisp.org>
70783
70784         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
70785
70786 2007-01-21  Bruno Haible  <bruno@clisp.org>
70787
70788         * modules/striconveha: New file.
70789         * lib/striconveha.h: New file.
70790         * lib/striconveha.c: New file.
70791         * MODULES.html.sh (Internationalization functions): Add striconveha.
70792         * lib/striconv.c (str_iconv): Optimize the case of an empty input
70793         string.
70794         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
70795
70796 2007-01-21  Bruno Haible  <bruno@clisp.org>
70797
70798         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
70799         * lib/striconveh.c (str_iconveh): Likewise.
70800
70801 2007-01-21  Bruno Haible  <bruno@clisp.org>
70802
70803         * lib/striconveh.h (mem_iconveh): New declaration.
70804         * lib/striconveh.c (mem_iconveh): New function.
70805         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
70806
70807 2007-01-21  Bruno Haible  <bruno@clisp.org>
70808
70809         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
70810
70811         * lib/striconveh.h (mem_cd_iconveh): Change specification.
70812         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
70813         original result buffer.
70814         (str_cd_iconveh): Update.
70815         * tests/test-striconveh.c (main): Update.
70816
70817         * lib/striconv.h (mem_cd_iconv): Change specification.
70818         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
70819         result buffer.
70820         (str_cd_iconv): Update.
70821         * tests/test-striconv.c (main): Update.
70822
70823 2007-01-21  Bruno Haible  <bruno@clisp.org>
70824
70825         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
70826
70827 2007-01-20  Jim Meyering  <jim@meyering.net>
70828
70829         * lib/userspec.c (parse_with_separator): If a user or group string
70830         starts with "+", skip the corresponding name-to-ID look-up, since
70831         such a look-up must fail: user and group names may not include "+".
70832
70833 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
70834
70835         * lib/poll.c: Include sys/time.h and time.h unconditionally,
70836         since we now assume the sys_time module.
70837         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
70838         check for sys/time.h; no longer needed.
70839         * modules/poll (Depends-on): Depend on sys_time.
70840
70841 2007-01-18  Bruno Haible  <bruno@clisp.org>
70842
70843         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
70844         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
70845
70846         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
70847         gettimeofday.
70848
70849         * tests/test-gettimeofday.c: Include <time.h>.
70850         (dummy): Remove variable.
70851
70852         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
70853         gl_HEADER_SYS_TIME_H.
70854         (gl_HEADER_SYS_TIME_H): New macro.
70855
70856         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
70857         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70858         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
70859         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
70860         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70861         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
70862         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
70863         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70864         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
70865         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
70866         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70867
70868         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
70869         last change; it caused a compilation error when cross-compiling to
70870         Cygwin.
70871
70872 2007-01-18  Jim Meyering  <jim@meyering.net>
70873
70874         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
70875         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
70876         than the race-prone "test -d sys || mkdir sys".
70877         (configure.ac): Use AC_PROG_MKDIR_P.
70878         * modules/sys_select: Likewise.
70879         * modules/sys_socket: Likewise.
70880         * modules/sys_time: Likewise.
70881
70882 2007-01-18  Eric Blake  <ebb9@byu.net>
70883
70884         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
70885         replace gettimeofday.
70886         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
70887         name, to avoid infinite recursion.
70888
70889 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
70890
70891         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
70892         module sys_time.
70893         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
70894         assume timespec.h defines struct timeval.
70895         * lib/settime.c: Likewise.
70896         * lib/utimens.c: Likewise.
70897         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
70898         since we now assume the gettimeofday module.
70899         * lib/tempname.c (__gen_tempname): Likewise.
70900         * lib/gettimeofday.h: Remove.
70901         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
70902         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
70903         Include <time.h>, for 'time()'.
70904         (localtime_buffer_addr): Also use this workaround if
70905         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
70906         to simplify the uses.  All uses changed.
70907         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
70908         that #undef is inside {}, and 'const' follows type name consistently.
70909         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
70910         (gettimeofday): Do not use the maximum possible value for
70911         tv->tv_usec, since that might break usages other than ls.c.
70912         Instead, we'll leave ls.c alone.  This undoes today's patch
70913         by Bruno.  Add a compile-time warning for 1s-clock resolution;
70914         we've never observed the problem but might as well keep the
70915         canary.
70916         * lib/nanosleep.c: Include timespec.h first, for interface check.
70917         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
70918         now assume the sys_time module.
70919         * lib/tempname.c: Likewise.
70920         * lib/timespec.h: Likewise.
70921         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
70922         needed.
70923         * lib/strftime.c: Likewise.
70924         * lib/timespec.h: Likewise.
70925         * lib/posixtm.c: Include posixtm.h first, for interface check.
70926         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
70927         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
70928         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
70929         * lib/sys_time_.h: New file.
70930         * lib/timespec.h (struct timespec): Use long int, not long.
70931         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
70932         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
70933         Remove obsolescent call to AC_HEADER_TIME.
70934         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
70935         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
70936         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
70937         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
70938         Likewise.
70939         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
70940         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
70941         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
70942         into the sys_time module.  Check for gettimeofday just once.
70943         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
70944         for gettimeofday signature to just check the signature.  Merely
70945         compile it, since linking doesn't test signature.  Improve test for
70946         whether gettimeofday.o is actually needed.
70947         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
70948         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
70949         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
70950         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70951         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
70952         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
70953         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
70954         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
70955         than worrying about sys/time.h.
70956         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
70957         Don't bother worrying about TIME_WITH_SYS_TIME.
70958         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
70959         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
70960         * m4/sys_time_h.m4: New file.
70961         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
70962         Don't include sys/time.h.  Return from main rather than exiting.
70963         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
70964         all uses changed.
70965         * modules/gethrxtime (Depends-on): Add sys_time.
70966         * modules/gettime (Depends-on): Likewise.
70967         * modules/gettimeofday (Depends-on): Likewise.
70968         * modules/nanosleep (Depends-on): Likewise.
70969         * modules/settime (Depends-on): Likewise.
70970         * modules/tempname (Depends-on): Likewise.
70971         * modules/utimens (Depends-on): Likewise.
70972         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
70973         (Include): Change back to <sys/time.h>.
70974         (Maintainer): Add self.
70975         * modules/sys_time: New file.
70976         * modules/tempname (Depends-on): Add gettimeofday.
70977         * tests/test-gettimeofday.c: Include <sys/time.h>
70978         rather than gettimeofday.h.
70979
70980 2007-01-17  Bruno Haible  <bruno@clisp.org>
70981
70982         * gnulib-tool (func_get_license): Revert last patch. Instead, let
70983         the license default to GPL.
70984         (func_create_testdir): Don't complain if a module is LGPL and its
70985         tests module depends on GPLed modules.
70986
70987 2007-01-17  Bruno Haible  <bruno@clisp.org>
70988
70989         * lib/gettimeofday.c (gettimeofday): Add code for the case
70990         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
70991         maximum possible value for tv->tv_usec, rather than the minimum one.
70992
70993 2005-10-08  Martin Lambers  <marlam@marlam.de>
70994 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
70995 2007-01-16  Bruno Haible  <bruno@clisp.org>
70996
70997         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
70998         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
70999         gl_FUNC_GETTIMEOFDAY.
71000         (Include): Add gettimeofday.h.
71001         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
71002         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
71003         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
71004         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
71005         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
71006         * lib/gettimeofday.h: New file.
71007         * lib/gettimeofday.c: Include <sys/timeb.h>.
71008         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
71009         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71010         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
71011         fall back on time().
71012
71013         * tests/test-gettimeofday.c: New file.
71014         * modules/gettimeofday-tests: New file.
71015
71016 2007-01-16  Eric Blake  <ebb9@byu.net>
71017
71018         * modules/fnmatch (Depends-on): Depend on wchar.
71019         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
71020         * m4/fnmatch.m4: Likewise.
71021         * modules/mbchar (Makefile.am): Assume <wchar.h>.
71022         * m4/mbchar.m4: Likewise.
71023         * modules/mbswidth (Depends-on): Depend on wchar.
71024         * lib/mbswidth.c: Assume <wchar.h>.
71025         * m4/mbswidth.m4: Likewise.
71026         * modules/quotearg (Depends-on): Depend on wchar.
71027         * lib/quotearg.c: Assume <wchar.h>.
71028         * m4/quotearg.m4: Likewise.
71029         * modules/regex (Depends-on): Depend on wchar.
71030         * lib/regex_internal.h: Assume <wchar.h>.
71031         * m4/regex.m4: Likewise.
71032         * modules/stdint (Depends-on): Depend on wchar.
71033         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
71034         * m4/stdint.m4: Likewise.
71035         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
71036         * modules/strftime (Depends-on): Depend on wchar.
71037         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
71038         * modules/strtol (Depends-on): Depend on wchar.
71039         * lib/strtol.c: Assume <wchar.h>.
71040         * modules/wcwidth (Depends-on): Depend on wchar.
71041         * lib/wcwidth.h: Assume <wchar.h>.
71042         * m4/wcwidth.m4: Likewise.
71043
71044 2007-01-16  Bruno Haible  <bruno@clisp.org>
71045
71046         * modules/csharpexec-script: New, created from...
71047         * modules/csharpexec: ... this.
71048
71049 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
71050
71051         * modules/javaexec-script: New, created from...
71052         * modules/javaexec: ... this.
71053
71054 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71055
71056         * modules/poll (Dependencies): Add sys_select.
71057
71058 2007-01-15  Jim Meyering  <jim@meyering.net>
71059
71060         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
71061         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
71062         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
71063         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
71064
71065 2007-01-15  Bruno Haible  <bruno@clisp.org>
71066
71067         * modules/striconveh: New file.
71068         * lib/striconveh.h: New file.
71069         * lib/striconveh.c: New file.
71070         * MODULES.html.sh (Internationalization functions): Add striconveh.
71071
71072         * modules/striconveh-tests: New file.
71073         * tests/test-striconveh.c: New file.
71074
71075 2007-01-15  Bruno Haible  <bruno@clisp.org>
71076
71077         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
71078         not from GNU libiconv or GNU libc.
71079
71080 2007-01-15  Bruno Haible  <bruno@clisp.org>
71081
71082         * doc/gnulib-intro.texi (Copyright): Explain the different license
71083         terms for module descriptions, autoconf macros, tests, documentation.
71084
71085 2007-01-14  Bruno Haible  <bruno@clisp.org>
71086
71087         * modules/striconv-tests: New file.
71088         * tests/test-striconv.c: New file.
71089
71090 2007-01-14  Bruno Haible  <bruno@clisp.org>
71091
71092         * modules/iconv-tests: New file.
71093         * tests/test-iconv.c: New file.
71094
71095 2007-01-14  Bruno Haible  <bruno@clisp.org>
71096
71097         * gnulib-tool (func_get_license): For test modules, use the license of
71098         the main module.
71099
71100 2007-01-14  Bruno Haible  <bruno@clisp.org>
71101
71102         * modules/iconv (Include): Clarify that <iconv.h> can only be included
71103         if iconv is found to exist.
71104
71105 2007-01-14  Bruno Haible  <bruno@clisp.org>
71106
71107         * modules/c-ctype-tests: New file.
71108         * tests/test-c-ctype.c: New file.
71109
71110 2007-01-14  Bruno Haible  <bruno@clisp.org>
71111
71112         * modules/binary-io-tests: New file.
71113         * tests/test-binary-io.sh: New file.
71114         * tests/test-binary-io.c: New file.
71115
71116 2007-01-14  Bruno Haible  <bruno@clisp.org>
71117
71118         * modules/array-oset-tests: New file.
71119         * tests/test-array_oset.c: New file.
71120
71121 2007-01-14  Bruno Haible  <bruno@clisp.org>
71122
71123         * modules/array-list-tests: New file.
71124         * tests/test-array_list.c: New file.
71125
71126 2007-01-14  Bruno Haible  <bruno@clisp.org>
71127
71128         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
71129         and make.
71130         Reported by Simon Josefsson in
71131         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
71132
71133 2007-01-14  Bruno Haible  <bruno@clisp.org>
71134
71135         * modules/allocsa-tests: New file.
71136         * tests/test-allocsa.c: New file.
71137
71138 2007-01-14  Bruno Haible  <bruno@clisp.org>
71139
71140         * modules/fchdir (Depends-on): Add absolute-header.
71141         * modules/unistd (Depends-on): Likewise.
71142
71143 2006-12-30  Bruno Haible  <bruno@clisp.org>
71144
71145         * modules/fchdir: New file.
71146         * modules/unistd (Files): Add lib/unistd_.h.
71147         (Makefile.am): Generate unistd.h from unistd_.h.
71148         * lib/fchdir.c: New file.
71149         * lib/dirent_.h: New file.
71150         * lib/unistd_.h: New file.
71151         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
71152         * m4/fchdir.m4: New file.
71153         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
71154         (gl_HEADER_UNISTD): Invoke it.
71155         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
71156         function.
71157         * lib/backupfile.c (opendir, closedir): Undefine.
71158         * lib/chown.c (open, close): Undefine.
71159         * lib/clean-temp.c (open, close): Undefine.
71160         * lib/copy-file.c (open, close): Undefine.
71161         * lib/execute.c (open, close): Undefine.
71162         * lib/fsusage.c (open, close): Undefine.
71163         * lib/gc-gnulib.c (open, close): Undefine.
71164         * lib/getcwd.c (opendir, closedir): Undefine.
71165         * lib/glob.c (opendir, closedir): Undefine.
71166         * lib/javacomp.c (open, close): Undefine.
71167         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
71168         * lib/openat-proc.c (open, close): Undefine.
71169         * lib/pagealign_alloc.c (open, close): Undefine.
71170         * lib/pipe.c (open, close): Undefine.
71171         * lib/progreloc.c (open, close): Undefine.
71172         * lib/savedir.c (opendir, closedir): Undefine.
71173         * lib/utime.c (open, close): Undefine.
71174         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
71175
71176 2007-01-10  Bruno Haible  <bruno@clisp.org>
71177
71178         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
71179
71180 2007-01-12  Eric Blake  <ebb9@byu.net>
71181
71182         Provide a robust <wchar.h>.  Further simplifications are now
71183         possible in other modules, but not included here.
71184         * modules/wchar: New module.
71185         * m4/wchar.m4: New file.
71186         * lib/wchar_.h: Likewise.
71187         * modules/mbchar (Depends-on): Depend on wchar, as the first use
71188         of the new module.
71189         * MODULES.html.sh (Extended multibyte and wide character utilities):
71190         New section.
71191
71192 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
71193
71194         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
71195         to a reasonable default for memory allocation.
71196         (xreadlink): Don't allocate a huge buffer, to work around a buggy
71197         file system that reports garbage st_size values for symlinks.
71198         Problem reported by Liyang Hu.
71199
71200 2007-01-11  Simon Josefsson  <simon@josefsson.org>
71201
71202         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
71203         Emacs .#* auto-save files).
71204
71205 2007-01-11  Bruno Haible  <bruno@clisp.org>
71206
71207         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
71208         directory.
71209
71210 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
71211
71212         Use @...@ consistently in lib/wctype_.h.
71213         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
71214         on it being set to 1 or 0.
71215         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
71216         go back to AC_SUBSTing it.
71217         * modules/wctype (Makefile.am): Undo previous change.
71218
71219 2007-01-10  Eric Blake  <ebb9@byu.net>
71220
71221         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
71222         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
71223         * modules/wctype (Makefile.am): Likewise.
71224         Reported by Chris McGuire.
71225
71226 2007-01-10  Jim Meyering  <jim@meyering.net>
71227
71228         fts.c: a small readability/maintainability improvement
71229         * lib/fts.c (fts_read): Make this code slightly more readable and
71230         maintainable by hoisting the "sp->fts_cur = p" assignments to
71231         immediately follow the statements that set P.  Derived from
71232         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
71233
71234 2007-01-10  Eric Blake  <ebb9@byu.net>
71235
71236         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
71237         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
71238         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
71239         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
71240         Reported by Chris McGuire.
71241
71242 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71243
71244         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
71245         in sed script.
71246
71247 2007-01-09  Bruno Haible  <bruno@clisp.org>
71248
71249         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
71250         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
71251         variables.
71252         (func_module): Use them.
71253
71254 2007-01-09  Bruno Haible  <bruno@clisp.org>
71255
71256         * modules/unistr/base: New file.
71257         * lib/unistr.h: New file.
71258
71259         * modules/unistr/u8-to-u16: New file.
71260         * lib/unistr/u8-to-u16.c: New file.
71261
71262         * modules/unistr/u8-to-u32: New file.
71263         * lib/unistr/u8-to-u32.c: New file.
71264
71265         * modules/unistr/u16-to-u8: New file.
71266         * lib/unistr/u16-to-u8.c: New file.
71267
71268         * modules/unistr/u16-to-u32: New file.
71269         * lib/unistr/u16-to-u32.c: New file.
71270
71271         * modules/unistr/u32-to-u8: New file.
71272         * lib/unistr/u32-to-u8.c: New file.
71273
71274         * modules/unistr/u32-to-u16: New file.
71275         * lib/unistr/u32-to-u16.c: New file.
71276
71277         * modules/unistr/u8-check: New file.
71278         * modules/unistr/u16-check: New file.
71279         * modules/unistr/u32-check: New file.
71280         * lib/unistr/u8-check.c: New file.
71281         * lib/unistr/u16-check.c: New file.
71282         * lib/unistr/u32-check.c: New file.
71283
71284         * modules/unistr/u8-chr: New file.
71285         * modules/unistr/u16-chr: New file.
71286         * modules/unistr/u32-chr: New file.
71287         * lib/unistr/u8-chr.c: New file.
71288         * lib/unistr/u16-chr.c: New file.
71289         * lib/unistr/u32-chr.c: New file.
71290
71291         * modules/unistr/u8-cmp: New file.
71292         * modules/unistr/u16-cmp: New file.
71293         * modules/unistr/u32-cmp: New file.
71294         * lib/unistr/u8-cmp.c: New file.
71295         * lib/unistr/u16-cmp.c: New file.
71296         * lib/unistr/u32-cmp.c: New file.
71297
71298         * modules/unistr/u8-cpy: New file.
71299         * modules/unistr/u16-cpy: New file.
71300         * modules/unistr/u32-cpy: New file.
71301         * lib/unistr/u8-cpy.c: New file.
71302         * lib/unistr/u16-cpy.c: New file.
71303         * lib/unistr/u32-cpy.c: New file.
71304         * lib/unistr/u-cpy.h: New file.
71305
71306         * modules/unistr/u8-cpy-alloc: New file.
71307         * modules/unistr/u16-cpy-alloc: New file.
71308         * modules/unistr/u32-cpy-alloc: New file.
71309         * lib/unistr/u8-cpy-alloc.c: New file.
71310         * lib/unistr/u16-cpy-alloc.c: New file.
71311         * lib/unistr/u32-cpy-alloc.c: New file.
71312         * lib/unistr/u-cpy-alloc.h: New file.
71313
71314         * modules/unistr/u8-endswith: New file.
71315         * modules/unistr/u16-endswith: New file.
71316         * modules/unistr/u32-endswith: New file.
71317         * lib/unistr/u8-endswith.c: New file.
71318         * lib/unistr/u16-endswith.c: New file.
71319         * lib/unistr/u32-endswith.c: New file.
71320         * lib/unistr/u-endswith.h: New file.
71321
71322         * modules/unistr/u8-mblen: New file.
71323         * modules/unistr/u16-mblen: New file.
71324         * modules/unistr/u32-mblen: New file.
71325         * lib/unistr/u8-mblen.c: New file.
71326         * lib/unistr/u16-mblen.c: New file.
71327         * lib/unistr/u32-mblen.c: New file.
71328
71329         * modules/unistr/u8-mbtouc: New file.
71330         * modules/unistr/u16-mbtouc: New file.
71331         * modules/unistr/u32-mbtouc: New file.
71332         * lib/unistr/u8-mbtouc.c: New file.
71333         * lib/unistr/u16-mbtouc.c: New file.
71334         * lib/unistr/u32-mbtouc.c: New file.
71335
71336         * modules/unistr/u8-mbtouc-safe: New file.
71337         * modules/unistr/u16-mbtouc-safe: New file.
71338         * modules/unistr/u32-mbtouc-safe: New file.
71339         * lib/unistr/u8-mbtouc-safe.c: New file.
71340         * lib/unistr/u16-mbtouc-safe.c: New file.
71341         * lib/unistr/u32-mbtouc-safe.c: New file.
71342
71343         * modules/unistr/u8-move: New file.
71344         * modules/unistr/u16-move: New file.
71345         * modules/unistr/u32-move: New file.
71346         * lib/unistr/u8-move.c: New file.
71347         * lib/unistr/u16-move.c: New file.
71348         * lib/unistr/u32-move.c: New file.
71349         * lib/unistr/u-move.h: New file.
71350
71351         * modules/unistr/u8-next: New file.
71352         * modules/unistr/u16-next: New file.
71353         * modules/unistr/u32-next: New file.
71354         * lib/unistr/u8-next.c: New file.
71355         * lib/unistr/u16-next.c: New file.
71356         * lib/unistr/u32-next.c: New file.
71357
71358         * modules/unistr/u8-prev: New file.
71359         * modules/unistr/u16-prev: New file.
71360         * modules/unistr/u32-prev: New file.
71361         * lib/unistr/u8-prev.c: New file.
71362         * lib/unistr/u16-prev.c: New file.
71363         * lib/unistr/u32-prev.c: New file.
71364
71365         * modules/unistr/u8-set: New file.
71366         * modules/unistr/u16-set: New file.
71367         * modules/unistr/u32-set: New file.
71368         * lib/unistr/u8-set.c: New file.
71369         * lib/unistr/u16-set.c: New file.
71370         * lib/unistr/u32-set.c: New file.
71371         * lib/unistr/u-set.h: New file.
71372
71373         * modules/unistr/u8-startswith: New file.
71374         * modules/unistr/u16-startswith: New file.
71375         * modules/unistr/u32-startswith: New file.
71376         * lib/unistr/u8-startswith.c: New file.
71377         * lib/unistr/u16-startswith.c: New file.
71378         * lib/unistr/u32-startswith.c: New file.
71379         * lib/unistr/u-startswith.h: New file.
71380
71381         * modules/unistr/u8-stpcpy: New file.
71382         * modules/unistr/u16-stpcpy: New file.
71383         * modules/unistr/u32-stpcpy: New file.
71384         * lib/unistr/u8-stpcpy.c: New file.
71385         * lib/unistr/u16-stpcpy.c: New file.
71386         * lib/unistr/u32-stpcpy.c: New file.
71387         * lib/unistr/u-stpcpy.h: New file.
71388
71389         * modules/unistr/u8-stpncpy: New file.
71390         * modules/unistr/u16-stpncpy: New file.
71391         * modules/unistr/u32-stpncpy: New file.
71392         * lib/unistr/u8-stpncpy.c: New file.
71393         * lib/unistr/u16-stpncpy.c: New file.
71394         * lib/unistr/u32-stpncpy.c: New file.
71395         * lib/unistr/u-stpncpy.h: New file.
71396
71397         * modules/unistr/u8-strcat: New file.
71398         * modules/unistr/u16-strcat: New file.
71399         * modules/unistr/u32-strcat: New file.
71400         * lib/unistr/u8-strcat.c: New file.
71401         * lib/unistr/u16-strcat.c: New file.
71402         * lib/unistr/u32-strcat.c: New file.
71403         * lib/unistr/u-strcat.h: New file.
71404
71405         * modules/unistr/u8-strchr: New file.
71406         * modules/unistr/u16-strchr: New file.
71407         * modules/unistr/u32-strchr: New file.
71408         * lib/unistr/u8-strchr.c: New file.
71409         * lib/unistr/u16-strchr.c: New file.
71410         * lib/unistr/u32-strchr.c: New file.
71411
71412         * modules/unistr/u8-strcmp: New file.
71413         * modules/unistr/u16-strcmp: New file.
71414         * modules/unistr/u32-strcmp: New file.
71415         * lib/unistr/u8-strcmp.c: New file.
71416         * lib/unistr/u16-strcmp.c: New file.
71417         * lib/unistr/u32-strcmp.c: New file.
71418
71419         * modules/unistr/u8-strcpy: New file.
71420         * modules/unistr/u16-strcpy: New file.
71421         * modules/unistr/u32-strcpy: New file.
71422         * lib/unistr/u8-strcpy.c: New file.
71423         * lib/unistr/u16-strcpy.c: New file.
71424         * lib/unistr/u32-strcpy.c: New file.
71425         * lib/unistr/u-strcpy.h: New file.
71426
71427         * modules/unistr/u8-strcspn: New file.
71428         * modules/unistr/u16-strcspn: New file.
71429         * modules/unistr/u32-strcspn: New file.
71430         * lib/unistr/u8-strcspn.c: New file.
71431         * lib/unistr/u16-strcspn.c: New file.
71432         * lib/unistr/u32-strcspn.c: New file.
71433         * lib/unistr/u-strcspn.h: New file.
71434
71435         * modules/unistr/u8-strdup: New file.
71436         * modules/unistr/u16-strdup: New file.
71437         * modules/unistr/u32-strdup: New file.
71438         * lib/unistr/u8-strdup.c: New file.
71439         * lib/unistr/u16-strdup.c: New file.
71440         * lib/unistr/u32-strdup.c: New file.
71441         * lib/unistr/u-strdup.h: New file.
71442
71443         * modules/unistr/u8-strlen: New file.
71444         * modules/unistr/u16-strlen: New file.
71445         * modules/unistr/u32-strlen: New file.
71446         * lib/unistr/u8-strlen.c: New file.
71447         * lib/unistr/u16-strlen.c: New file.
71448         * lib/unistr/u32-strlen.c: New file.
71449         * lib/unistr/u-strlen.h: New file.
71450
71451         * modules/unistr/u8-strmblen: New file.
71452         * modules/unistr/u16-strmblen: New file.
71453         * modules/unistr/u32-strmblen: New file.
71454         * lib/unistr/u8-strmblen.c: New file.
71455         * lib/unistr/u16-strmblen.c: New file.
71456         * lib/unistr/u32-strmblen.c: New file.
71457
71458         * modules/unistr/u8-strmbtouc: New file.
71459         * modules/unistr/u16-strmbtouc: New file.
71460         * modules/unistr/u32-strmbtouc: New file.
71461         * lib/unistr/u8-strmbtouc.c: New file.
71462         * lib/unistr/u16-strmbtouc.c: New file.
71463         * lib/unistr/u32-strmbtouc.c: New file.
71464
71465         * modules/unistr/u8-strncat: New file.
71466         * modules/unistr/u16-strncat: New file.
71467         * modules/unistr/u32-strncat: New file.
71468         * lib/unistr/u8-strncat.c: New file.
71469         * lib/unistr/u16-strncat.c: New file.
71470         * lib/unistr/u32-strncat.c: New file.
71471         * lib/unistr/u-strncat.h: New file.
71472
71473         * modules/unistr/u8-strncmp: New file.
71474         * modules/unistr/u16-strncmp: New file.
71475         * modules/unistr/u32-strncmp: New file.
71476         * lib/unistr/u8-strncmp.c: New file.
71477         * lib/unistr/u16-strncmp.c: New file.
71478         * lib/unistr/u32-strncmp.c: New file.
71479
71480         * modules/unistr/u8-strncpy: New file.
71481         * modules/unistr/u16-strncpy: New file.
71482         * modules/unistr/u32-strncpy: New file.
71483         * lib/unistr/u8-strncpy.c: New file.
71484         * lib/unistr/u16-strncpy.c: New file.
71485         * lib/unistr/u32-strncpy.c: New file.
71486         * lib/unistr/u-strncpy.h: New file.
71487
71488         * modules/unistr/u8-strnlen: New file.
71489         * modules/unistr/u16-strnlen: New file.
71490         * modules/unistr/u32-strnlen: New file.
71491         * lib/unistr/u8-strnlen.c: New file.
71492         * lib/unistr/u16-strnlen.c: New file.
71493         * lib/unistr/u32-strnlen.c: New file.
71494         * lib/unistr/u-strnlen.h: New file.
71495
71496         * modules/unistr/u8-strpbrk: New file.
71497         * modules/unistr/u16-strpbrk: New file.
71498         * modules/unistr/u32-strpbrk: New file.
71499         * lib/unistr/u8-strpbrk.c: New file.
71500         * lib/unistr/u16-strpbrk.c: New file.
71501         * lib/unistr/u32-strpbrk.c: New file.
71502         * lib/unistr/u-strpbrk.h: New file.
71503
71504         * modules/unistr/u8-strrchr: New file.
71505         * modules/unistr/u16-strrchr: New file.
71506         * modules/unistr/u32-strrchr: New file.
71507         * lib/unistr/u8-strrchr.c: New file.
71508         * lib/unistr/u16-strrchr.c: New file.
71509         * lib/unistr/u32-strrchr.c: New file.
71510
71511         * modules/unistr/u8-strspn: New file.
71512         * modules/unistr/u16-strspn: New file.
71513         * modules/unistr/u32-strspn: New file.
71514         * lib/unistr/u8-strspn.c: New file.
71515         * lib/unistr/u16-strspn.c: New file.
71516         * lib/unistr/u32-strspn.c: New file.
71517         * lib/unistr/u-strspn.h: New file.
71518
71519         * modules/unistr/u8-strstr: New file.
71520         * modules/unistr/u16-strstr: New file.
71521         * modules/unistr/u32-strstr: New file.
71522         * lib/unistr/u8-strstr.c: New file.
71523         * lib/unistr/u16-strstr.c: New file.
71524         * lib/unistr/u32-strstr.c: New file.
71525         * lib/unistr/u-strstr.h: New file.
71526
71527         * modules/unistr/u8-strtok: New file.
71528         * modules/unistr/u16-strtok: New file.
71529         * modules/unistr/u32-strtok: New file.
71530         * lib/unistr/u8-strtok.c: New file.
71531         * lib/unistr/u16-strtok.c: New file.
71532         * lib/unistr/u32-strtok.c: New file.
71533         * lib/unistr/u-strtok.h: New file.
71534
71535         * modules/unistr/u8-uctomb: New file.
71536         * modules/unistr/u16-uctomb: New file.
71537         * modules/unistr/u32-uctomb: New file.
71538         * lib/unistr/u8-uctomb.c: New file.
71539         * lib/unistr/u16-uctomb.c: New file.
71540         * lib/unistr/u32-uctomb.c: New file.
71541
71542         * MODULES.html.sh (Unicode string functions): Add the new modules.
71543
71544 2007-01-08  Bruno Haible  <bruno@clisp.org>
71545
71546         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
71547         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
71548         subdirectories.
71549
71550 2007-01-08  Karl Berry  <karl@gnu.org>
71551
71552         * doc/error.texi: mention that main() fns must set program_name
71553         when progname is used.
71554
71555 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
71556
71557         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
71558         WCTYPE_H is empty, for the benefit of builds from non-distclean
71559         directories.  Problem reported by Eric Blake in
71560         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
71561
71562 2007-01-08  Bruno Haible  <bruno@clisp.org>
71563
71564         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
71565         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
71566         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
71567         PROVIDE_CANONICALIZE_FILENAME_MODE.
71568         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
71569
71570 2007-01-08  Bruno Haible  <bruno@clisp.org>
71571
71572         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
71573         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
71574         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
71575         * lib/fts.c: Likewise.
71576         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
71577
71578 2006-12-25  Bruno Haible  <bruno@clisp.org>
71579
71580         * modules/utf8-ucs4-safe: New file.
71581         * lib/utf8-ucs4-safe.h: New file.
71582         * lib/unistr/utf8-ucs4-safe.c: New file.
71583
71584         * modules/utf16-ucs4-safe: New file.
71585         * lib/utf16-ucs4-safe.h: New file.
71586         * lib/unistr/utf16-ucs4-safe.c: New file.
71587
71588         * MODULES.html.sh (Unicode string functions): Add the new modules.
71589
71590 2007-01-08  Bruno Haible  <bruno@clisp.org>
71591
71592         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
71593         (Depends-on): Add unitypes.
71594         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
71595         (u8_mbtouc_aux): Move out to separate file.
71596         (u8_mbtouc): Use ucs4_t, uint8_t types.
71597         * lib/unistr/utf8-ucs4.c: New file.
71598
71599         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
71600         (Depends-on): Add unitypes.
71601         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
71602         (u16_mbtouc_aux): Move out to separate file.
71603         (u16_mbtouc): Use ucs4_t, uint16_t types.
71604         * lib/unistr/utf16-ucs4.c: New file.
71605
71606         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
71607         (Depends-on): Add unitypes.
71608         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
71609         (u8_uctomb_aux): Move out to separate file.
71610         (u8_uctomb): Use ucs4_t, uint8_t types.
71611         * lib/unistr/ucs4-utf8.c: New file.
71612
71613         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
71614         (Depends-on): Add unitypes.
71615         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
71616         (u16_uctomb_aux): Move out to separate file.
71617         (u16_uctomb): Use ucs4_t, uint16_t types.
71618         * lib/unistr/ucs4-utf16.c: New file.
71619
71620 2006-12-25  Bruno Haible  <bruno@clisp.org>
71621
71622         * modules/unitypes: New file.
71623         * lib/unitypes.h: New file.
71624         * MODULES.html.sh (func_all_modules): New section "Unicode string
71625         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
71626         this section. Add unitypes.
71627
71628 2007-01-08  Bruno Haible  <bruno@clisp.org>
71629
71630         Avoid variable names that conflict with those from libtool.
71631         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
71632         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
71633         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
71634         library_names_spec to acl_library_names_spec, hardcode_* to
71635         acl_hardcode_*.
71636         Reported by Ralf Wildenhues.
71637
71638 2007-01-08  Bruno Haible  <bruno@clisp.org>
71639
71640         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
71641         definition.
71642         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
71643         definition.
71644         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
71645         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
71646         definition.
71647         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
71648         definition.
71649         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
71650         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
71651         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
71652         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
71653         definition.
71654         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
71655         definition.
71656         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
71657         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
71658         GC_USE_<algorithm>.
71659         * lib/gc-libgcrypt.c: Likewise.
71660         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
71661         * modules/gc-arctwo (configure.ac): Likewise.
71662         * modules/gc-des (configure.ac): Likewise.
71663         * modules/gc-hmac-md5 (configure.ac): Likewise.
71664         * modules/gc-hmac-sha1 (configure.ac): Likewise.
71665         * modules/gc-md2 (configure.ac): Likewise.
71666         * modules/gc-md4 (configure.ac): Likewise.
71667         * modules/gc-md5 (configure.ac): Likewise.
71668         * modules/gc-random (configure.ac): Likewise.
71669         * modules/gc-rijndael (configure.ac): Likewise.
71670         * modules/gc-sha1 (configure.ac): Likewise.
71671
71672 2007-01-08  Bruno Haible  <bruno@clisp.org>
71673
71674         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
71675         macro definition.
71676         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
71677         definition.
71678         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
71679         definition.
71680         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
71681         * modules/fcntl-safer (configure.ac): Likewise.
71682         * modules/fopen-safer (configure.ac): Likewise.
71683         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
71684         GNULIB_FWRITEERROR macro definition.
71685
71686 2007-01-08  Bruno Haible  <bruno@clisp.org>
71687
71688         * m4/gnulib-common.m4: New file.
71689         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
71690         (func_get_filelist): Add m4/gnulib-common.m4.
71691
71692 2007-01-08  Bruno Haible  <bruno@clisp.org>
71693
71694         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
71695         command.
71696
71697 2007-01-08  Jim Meyering  <jim@meyering.net>
71698
71699         Use a more robust test for a "can't happen" condition.
71700         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
71701         narrowed the st_size value.  Presuming the "can't happen" condition
71702         is true, that narrowing could conceivably convert an invalid st_size
71703         value into a valid one.  Instead, use a change based on Matthew
71704         Woehlke's original patch.
71705
71706         Slight readability improvement: use an assert-like macro
71707         in place of literal "abort ()" uses.
71708         * lib/fts.c (fts_assert): Define.
71709         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
71710         Use this macro instead of a bare 'abort'.
71711
71712 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
71713
71714         Don't worry about using IRIX 5.3's wctype.h broken definitions;
71715         simply work around them.
71716         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
71717         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
71718         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
71719         declaring.
71720         Don't bother to define as macros, since the standard doesn't require it.
71721         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
71722         longer worry about IRIX 5.3.
71723         (HAVE_WCTYPE_CTMP_BUG): Remove.
71724
71725 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
71726
71727         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
71728         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
71729         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
71730         Problems reported by Georg Schwarz for IRIX 5.3.
71731
71732         * gnulib-tool (autoconf_minversion): Take the maximum version number
71733         found, not the minimum.  Problem reported by James Youngman.
71734
71735 2007-01-03  Karl Berry  <karl@gnu.org>
71736
71737         * doc/error.texi: new file, explaining interaction with progname.
71738         * doc/gnulib.texi: include it.  Update copyright.
71739
71740 2007-01-03  Simon Josefsson  <simon@josefsson.org>
71741
71742         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
71743         AC_CANONICAL_HOST, to improve autobuild outputs.
71744
71745 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
71746             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
71747
71748         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
71749         sockets, server sockets, and other file descriptors.  Count errors
71750         to compute the return value.  Reorder the code a bit to be easier
71751         to follow.  Don't set event bits that were not requested (except
71752         POLLERR and POLLHUP).
71753
71754 2007-01-01  Bruno Haible  <bruno@clisp.org>
71755
71756         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
71757
71758 2007-01-03  Jim Meyering  <jim@meyering.net>
71759
71760         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
71761
71762 2007-01-02  Bruno Haible  <bruno@clisp.org>
71763
71764         * modules/settime (Include): Require timespec.h.
71765         * modules/nanosleep (Include): Likewise.
71766
71767 2007-01-01  Bruno Haible  <bruno@clisp.org>
71768
71769         * gnulib-tool (func_emit_copyright_notice): Bump year.
71770         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
71771
71772 2007-01-01  Bruno Haible  <bruno@clisp.org>
71773
71774         Improve support for OpenBSD.
71775         * build-aux/config.rpath (libname_spec): Export.
71776         (library_names_spec): New variable. Export.
71777         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
71778         library_names_spec from the config.rpath output. Locate shared library
71779         through the name pattern in library_names_spec.
71780
71781 2007-01-01  Eric Blake  <ebb9@byu.net>
71782
71783         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
71784
71785 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
71786
71787         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
71788         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
71789         assume the C locale, and avoid an "eval" that could cause trouble.
71790         Problem with SORT reported by Bob Proulx.
71791
71792         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
71793         Define.  Trivial patch from Henning Nielsen Lund, originally
71794         sent to bug-grep@gnu.org today.
71795
71796 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
71797
71798         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
71799         struct stat.  Problem reported by Henning Nielsen Lund.
71800         * lib/acl.c: Include acl.h first, to check interface.  Don't
71801         bother to include sys/types.h and sys/stat.h again.
71802
71803 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
71804
71805         Import the following change from libc; problem reported by
71806         Sven Verdoolaege.
71807
71808         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
71809
71810         [BZ #1373]
71811         * lib/argp.h: Remove __NTH for __argp_usage inline function.
71812
71813 2006-12-28  Jim Meyering  <jim@meyering.net>
71814
71815         * build-aux/announce-gen: Do not assume that the package
71816         builds any of tar.gz, tar.bz2, and .xdelta files.
71817         Suggestion from Simon Josefsson.
71818
71819 2006-12-28  Simon Josefsson  <simon@josefsson.org>
71820
71821         * modules/announce-gen: New file.
71822
71823 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
71824
71825         * lib/mbchar.h: Just include <wctype.h>; the wctype module
71826         handles its gotchas now.
71827         * lib/mbswidth.c: Likewise.
71828         * lib/wcwidth.h: Likewise.
71829         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
71830         and iswcntrl; the wctype module does this stuff now.
71831         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71832         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
71833         * modules/mbchar (Depends-on): Add wctype.
71834         * modules/mbswidth (Depends-on): Likewise.
71835         * modules/wcwidth (Depends-on): Likewise.
71836
71837 2006-12-27  Eric Blake  <ebb9@byu.net>
71838
71839         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
71840         module uses more than what <wctype.h> is required to provide.
71841
71842 2006-12-26  Eric Blake  <ebb9@byu.net>
71843
71844         * gnulib-tool (sed_extract_prog): Avoid space-tab.
71845
71846 2006-12-26  Eric Blake  <ebb9@byu.net>
71847
71848         * modules/absolute-header: New module.
71849         * modules/fcntl (Depends-on): Depend on it.
71850         * modules/inttypes (Depends-on): Likewise.
71851         * modules/stdint (Depends-on): Likewise.
71852         * modules/sys_stat (Depends-on): Likewise.
71853         * modules/wctype (Depends-on): Likewise.
71854         * MODULES.html.sh (Support for building libraries and
71855         executables): Document it.
71856
71857 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
71858
71859         * gnulib-tool (SED): Remove, undoing previous change.
71860         The problem was that it broke coreutils on Solaris, because
71861         "sed --posix" leaked into a makefile.
71862         (sed): New alias, if 'alias' and GNU sed.
71863
71864 2006-12-24  Jim Meyering  <jim@meyering.net>
71865
71866         Work around an fchownat bug in glibc-2.4:
71867         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
71868         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
71869         in spite of the -P option.
71870         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
71871         New macros.
71872         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
71873         * modules/openat (Files): Add lib/fchownat.c.
71874         * lib/openat.c (fchownat): Don't define here.  Move to...
71875         * lib/fchownat.c: ...this new file.
71876
71877 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71878
71879         Fix bug reported by Bruno Haible in
71880         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
71881         where quotearg.c didn't compile on Mac OS X 10.2 because it
71882         lacks <wchar.h> and wint_t.
71883         * lib/wctype_.h (__wctype_wint_t): New type.
71884         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
71885         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
71886         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
71887         Arg is now of type __wctype_wint_t, not wint_t.
71888         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
71889         substitute HAVE_WINT_T.
71890         * modules/wctype (Files): Add m4/wint_t.m4.
71891         (wctype.h): Substitute HAVE_WINT_T.
71892
71893 2006-12-23  Bruno Haible  <bruno@clisp.org>
71894
71895         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
71896
71897 2006-12-23  Bruno Haible  <bruno@clisp.org>
71898
71899         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
71900         S_ISLNK.
71901         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
71902         mingw.
71903
71904 2006-12-22  Bruno Haible  <bruno@clisp.org>
71905
71906         * lib/copy-file.c: Include acl.h.
71907         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
71908         Close the file descriptors only after being done with copy_acl.
71909         * modules/copy-file (Depends-on): Add acl.
71910
71911 2006-12-22  Bruno Haible  <bruno@clisp.org>
71912
71913         * gnulib-tool (SED): New variable.
71914         Use $SED instead of sed everywhere.
71915
71916 2006-12-22  Bruno Haible  <bruno@clisp.org>
71917
71918         * modules/no-c++: New file.
71919         * m4/no-c++.m4: New file.
71920         * MODULES.html.sh (Support for building libraries and executables):
71921         Add no-c++.
71922
71923 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
71924
71925         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
71926         Include <limits.h>, and use its INT_MAX to rewrite the
71927         j loop so that it does not overflow 'int'.  Problem reported by
71928         Ralf Wildenhues in
71929         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
71930         Play it safe by shifting left by 1 rather than multiplying by 2,
71931         as GCC is less likely to optimize this away when the value
71932         is signed (when it assumes overflow leads to undefined behavior).
71933         Also, don't assume time_t uses two's complement.
71934
71935 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
71936
71937         * MODULES.html.sh: New module wctype.
71938         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
71939         * lib/fnmatch.c: Don't bother to include <wchar.h> before
71940         <wctype.h>, since the new wctype module should fix this.
71941         * lib/quotearg.c: Include <wctype.h> unconditionally, since
71942         the wctype module should arrange for it.
71943         * lib/regex_internal.h: Likewise.
71944         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
71945         since the wctype module should handle this now.
71946         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
71947         * modules/fnmatch (Depends-on): Add wctype.
71948         * modules/quotearg (Depends-on): Likewise.
71949         * modules/regex (Depends-on): Likewise.
71950
71951 2006-12-19  Bruno Haible  <bruno@clisp.org>
71952
71953         * lib/strdup.h [C++]: Wrap definitions in extern "C".
71954         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
71955
71956 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71957
71958         * modules/savewd (Depends-on): Fix dependency on fcntl.
71959
71960 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
71961
71962         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
71963         conforms to C99, rather than relying on the user's environment
71964         setting of STDINT_H.
71965
71966 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
71967         and Eric Blake  <ebb9@byu.net>
71968
71969         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
71970         This is more consistent with the other defines here.
71971         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
71972         Port to z/OS.  Problem reported by Paul Gilmartin.
71973         Change local vars to use gl_ prefix rather than ac_.
71974         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
71975         with other defines.
71976         * modules/double-slash-root: New module.
71977         * modules/dirname (Files): Remove m4/double-slash-root.m4.
71978         (Depends-on): Add double-slash-root.
71979         * MODULES.html.sh (File system functions): Mention new module.
71980
71981 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
71982
71983         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
71984         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
71985         This is for the benefit of gzip, which doesn't do i18n.
71986
71987 2006-12-12  Jim Meyering  <jim@meyering.net>
71988
71989         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
71990         Reported by Andreas Schwab <schwab@suse.de>.
71991
71992 2006-12-12  Bruno Haible  <bruno@clisp.org>
71993
71994         Merge these changes.
71995         2006-09-05  Bruno Haible  <bruno@clisp.org>
71996         * lib/iconvme.c (iconv_string): No need to save and restore errno when
71997         iconv_alloc succeeded.
71998         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
71999         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
72000         test for " && dest " at the end - dest is always != NULL there. Call
72001         iconv with 4xNULL arguments initially, to reset the state. Call iconv
72002         with 2xNULL arguments, also to flush the state storage. Handle the
72003         IRIX iconv behaviour. Realloc the final result, to throw away unused
72004         memory.
72005
72006 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
72007
72008         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
72009         and fchmodat unconditionally, since glibc 2.4 has them.
72010         Problem reported by Arkadiusz Miskiewicz.
72011
72012 2006-12-10  Bruno Haible  <bruno@clisp.org>
72013
72014         * gnulib-tool (func_import): Show the include files only for those
72015         modules that are copied and specified.
72016         Reported by Karl Berry.
72017
72018 2006-12-08  Jim Meyering  <jim@meyering.net>
72019
72020         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
72021         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
72022
72023         * build-aux/announce-gen: Add two new options, both optional:
72024         --bootstrap-tools=TOOL_LIST
72025               a comma-separated list of tools, e.g.,
72026               autoconf,automake,bison,gnulib
72027         --gnulib-snapshot-date=DATE
72028               if gnulib is in the bootstrap tool list,
72029               then report this as the snapshot date.
72030               If not specified, use the current date/time.
72031               If you specify a date here, be sure it's UTC.
72032
72033 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72034
72035         * tests/test-argp-2.sh: Fix test to match actual output.
72036         (func_compare): Fix sed script to be portable.
72037
72038 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
72039
72040         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
72041         workaround for this case.  It is not autoconfigured now; offhand
72042         it's hard to see how to autoconfigure it.
72043
72044 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
72045
72046         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
72047         a directory that is about to be chowned.  Such a directory's
72048         initial file permissions should permit the owner only and this
72049         should not be changed until after the chown, since the group and
72050         other bits would be incorrect if they granted permission before
72051         the chown.
72052
72053         Fix porting problem for iswctype reported by Georg Schwarz in:
72054         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
72055         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
72056         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
72057         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
72058         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
72059
72060 2006-12-03  Jim Meyering  <jim@meyering.net>
72061
72062         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
72063         p->fts_statp may not yet be defined.
72064         (fts_read): Instead, set it in the caller, once p->fts_statp is
72065         sure to be defined, and corresponds to a top-level directory.
72066         This bug made du -x fail.  Here's the coreutils test case:
72067         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
72068         Reported by Mike Frysinger.
72069
72070 2006-12-01  Jim Meyering  <jim@meyering.net>
72071
72072         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
72073         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
72074         Reported by Simon Josefsson.
72075
72076 2006-11-30  Jim Meyering  <jim@meyering.net>
72077
72078         * m4/warning.m4: Use the all-permissive copyright notice
72079         recommended by RMS (rather than LGPL).
72080         * m4/vararrays.m4: Likewise.
72081         * m4/flexmember.m4: Likewise.
72082
72083 2006-11-29  Bruno Haible  <bruno@clisp.org>
72084
72085         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72086         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
72087         using +=.
72088         Reported by Simon Josefsson <simon@josefsson.org>.
72089
72090 2006-11-28  James Youngman <jay@gnu.org>
72091
72092         * README: Advise users that they might find the bug-gnulib@gnu.org
72093         and autotools-announce@gnu.org mailing lists useful.
72094
72095 2006-11-28  Bruno Haible  <bruno@clisp.org>
72096
72097         * m4/ptrdiff_max.m4: Remove file.
72098
72099 2006-11-21  Bruno Haible  <bruno@clisp.org>
72100
72101         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
72102         _AC_COMPUTE_INT.
72103         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72104         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
72105         _AC_COMPUTE_INT.
72106         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72107         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
72108         _AC_COMPUTE_INT.
72109         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72110
72111 2006-11-28  Jim Meyering  <jim@meyering.net>
72112
72113         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
72114         warning from "gcc -Wshadow" about shadowing the builtin.
72115
72116 2006-11-27  Bruno Haible  <bruno@clisp.org>
72117
72118         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
72119         _AC_COMPUTE_INT.
72120         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72121
72122 2006-11-27  Bruno Haible  <bruno@clisp.org>
72123             Paul Eggert  <eggert@cs.ucla.edu>
72124
72125         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
72126
72127 2006-11-26  Bruno Haible  <bruno@clisp.org>
72128
72129         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72130         noinst_LTLIBRARIES.
72131
72132 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
72133             Bruno Haible  <bruno@clisp.org>
72134
72135         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
72136         if compiling with "gcc -ansi".
72137
72138 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
72139
72140         Fix some incompatibilities with gcc -ansi -pedantic.
72141         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
72142         if compiling pedantically with GCC, unless it's C99 or later.
72143         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
72144         it mishandles gcc -ansi -pedantic as well.
72145         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
72146         if gcc -pedantic.
72147         * lib/regexec.c (check_node_accept_bytes): Don't use auto
72148         initializers for struct if -pedantic, unless it's C99 or later.
72149
72150 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
72151
72152         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
72153         Don't close an fd more than once. Identical atimes indicate
72154         success, not failure.
72155
72156 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
72157
72158         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
72159
72160 2006-11-23  Jim Meyering  <jim@meyering.net>
72161
72162         * build-aux/announce-gen: New file.  From coreutils.
72163
72164 2006-11-22  Jim Meyering  <jim@meyering.net>
72165
72166         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
72167         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
72168         (fts_read): Use a temporary to narrow the overused st_size member
72169         before using it in a switch statement.  Reported by Matthew Woehlke.
72170
72171         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
72172         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
72173
72174 2006-11-20  Bruno Haible  <bruno@clisp.org>
72175
72176         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
72177         changequote instead of pairs of brackets.
72178         Reported by Andreas Schwab <schwab@suse.de>.
72179
72180 2006-11-21  Jim Meyering  <jim@meyering.net>
72181
72182         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
72183         so as to remain compatible with older compilers.
72184         Patch from Michael Deutschmann.
72185
72186 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
72187
72188         * MODULES.html.sh (File system functions): Add openat.
72189
72190         * lib/openat.h (rpl_fstatat): New macro, if
72191         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
72192         (fstatat): Define to rpl_fstatat under the same conditions,
72193         unless COMPILING_FSTATAT.
72194         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
72195         seems to have the bug.
72196         * lib/fstatat.c: New file.
72197         * modules/openat (Files): Add it.
72198
72199 2006-11-20  Bruno Haible  <bruno@clisp.org>
72200
72201         * Makefile: New file.
72202
72203 2006-11-20  Jim Meyering  <jim@meyering.net>
72204
72205         The beginnings of syntax-related checks for gnulib.
72206         * lib/Makefile: New file.
72207         * lib/t-idcache: New script.  Ensure that the two halves of
72208         idcache.c stay in sync.
72209
72210         * lib/idcache.c: Adjust comments in user- and group- portions to
72211         be more accurate, and to be consistent with one another.
72212
72213 2006-11-20  Jim Meyering  <jim@meyering.net>
72214
72215         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
72216         continue using the flexible array member (thus, this module performs
72217         half as many malloc calls), with the addition that...
72218         (getgroup, getuser): Consistently record a non-match via an empty
72219         "name" string, and map an empty string match to a NULL return value.
72220         * modules/idcache (Depends-on): Re-add flexmember.
72221
72222         * lib/idcache.c (getuser): Remove all uses of the register keyword.
72223         (getuidbyname, getgroup, getgidbyname): Likewise.
72224
72225         Use cleaner syntax: NULL rather than 0.
72226         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
72227
72228 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
72229
72230         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
72231         It mishandled the case where the group was missing.
72232         Problem reported by Greg Schafer.
72233         * modules/idcache: Likewise.
72234
72235 2006-11-18  Jim Meyering  <jim@meyering.net>
72236
72237         * check-module (%exempt_header): Add exception for some
72238         conditionally-included headers.
72239
72240         * modules/i-ring (Depends-on): Add verify.
72241         (License): Change to LGPL.
72242
72243 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
72244
72245         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
72246         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
72247         and inttostr.h.  Use snprintf rather than uinttostr, so that
72248         LGPLed code doesn't depend on GPLed.
72249
72250 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
72251
72252         * modules/inline (License): Change from GPL to LGPL.
72253
72254 2006-11-17  Jim Meyering  <jim@meyering.net>
72255
72256         * modules/d-type (License): Switch to LGPL.
72257
72258 2006-11-15  Bruno Haible  <bruno@clisp.org>
72259
72260         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
72261
72262 2006-11-15  Eric Blake  <ebb9@byu.net>
72263
72264         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
72265         the module dependency.
72266
72267 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72268             Bruno Haible  <bruno@clisp.org>
72269
72270         * gnulib-tool (func_create_testdir): Add license consistency check.
72271
72272 2006-11-15  Eric Blake  <ebb9@byu.net>
72273
72274         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
72275         random "(cached)" in configure output.
72276
72277 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72278
72279         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
72280         test for conforming inttypes.h is both announced and cached.
72281
72282         * MODULES.html.sh (seen_modules, seen_files): New variables.
72283         (func_module): Rewrite to use a few less gnulib-tool and sed
72284         invocations.  Avoid a couple of quadratic algorithms for ...
72285         (missed_modules, missed_files): ... these, with ...
72286         (func_append, func_tmpdir): ... these new functions, from
72287         gnulib-tool.  Analogously, install traps for cleanup.
72288
72289         * tests/test-gc.c (main): Remove unused variables.
72290         * tests/test-read-file.c: Include stdlib.h, for 'free'.
72291
72292 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
72293
72294         * modules/inttostr (License): Change to LGPL.
72295
72296 2006-11-14  Eric Blake  <ebb9@byu.net>
72297
72298         * modules/tempname (License): Change to LGPL.
72299
72300 2006-11-14  Eric Blake  <ebb9@byu.net>
72301
72302         * doc/functions.texi (Function Portability): *printf functions on
72303         Cygwin now understand all POSIX size specifiers.
72304
72305 2006-11-14  Bruno Haible  <bruno@clisp.org>
72306
72307         * modules/c-ctype (License): Change to LGPL.
72308
72309 2006-11-12  Bruno Haible  <bruno@clisp.org>
72310
72311         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
72312         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
72313         for GNOME libraries, for which the include files are installed in
72314         subdirectories of $prefix/include.
72315
72316 2006-11-12  Bruno Haible  <bruno@clisp.org>
72317
72318         * m4/lib-link.m4: Require at least autoconf-2.54.
72319         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
72320         name to underscores for the --with option.
72321
72322 2006-11-13  Bruno Haible  <bruno@clisp.org>
72323
72324         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
72325         the tests directory.
72326         Reported by Ralf Wildenhues.
72327
72328 2006-11-13  Bruno Haible  <bruno@clisp.org>
72329
72330         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
72331         (func_emit_initmacro_end): Undo the override here.
72332         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
72333         Works around the famous automake error in coreutils.
72334
72335 2006-11-13  Eric Blake  <ebb9@byu.net>
72336
72337         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
72338         element, not its node.
72339
72340 2006-11-12  Bruno Haible  <bruno@clisp.org>
72341
72342         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
72343         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
72344
72345 2006-11-12  Bruno Haible  <bruno@clisp.org>
72346
72347         * gnulib-tool: New option --local-symlink.
72348         (func_usage): Document it.
72349         (lsymbolic): New variable.
72350         (func_import, func_create_testdir): If --symlink was not specified,
72351         test whether --local-symlink was specified and the file comes from
72352         the local_gnulib_dir.
72353
72354 2006-11-12  Bruno Haible  <bruno@clisp.org>
72355
72356         * gnulib-tool (func_ln): New function.
72357         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
72358
72359 2006-11-12  Bruno Haible  <bruno@clisp.org>
72360
72361         Finish support for source files in subdirectories.
72362         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
72363         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
72364         AUTOMAKE_OPTIONS.
72365         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
72366
72367 2006-11-12  Bruno Haible  <bruno@clisp.org>
72368
72369         * gnulib-tool (func_get_automake_snippet): Synthesize also an
72370         EXTRA_lib_SOURCES augmentation.
72371         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
72372
72373 2006-11-12  Jim Meyering  <jim@meyering.net>
72374
72375         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
72376         file descriptors.  This also averts a failure on systems with
72377         native openat support when a traversed directory lacks "x" access.
72378         * lib/fts_.h: Include "i-ring.h"
72379         (struct FTS) [fts_fd_ring]: New member.
72380         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
72381         (FCHDIR): Add parentheses.
72382         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
72383         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
72384         When descending, rather than simply closing the previous
72385         fts_cwd_fd value, push that file descriptor onto the ring.
72386         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
72387         (fts_open): Initialize the new fd_ring member.
72388         (fts_close): Clear the ring.
72389         (fts_safe_changedir): When possible, use our new fd_ring to skip
72390         the diropen and fstat and dev/ino comparison that would normally
72391         accompany a virtual `chdir ("..")'.
72392
72393         * modules/fts (Depends-on): Add i-ring.
72394         * modules/i-ring: New module.
72395         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
72396         * m4/i-ring.m4: New file.
72397
72398 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72399
72400         * gnulib-tool (func_create_testdir): Fix replacement of
72401         `build-aux' in configure.ac.  Run autotools in gltests
72402         subdirectory.
72403         (func_create_testdir, func_create_megatestdir, test): There is
72404         no need for '--force' in most autotool invocations in a new
72405         tree.  Actually fail the whole test if any of the tools, or the
72406         configure or make stages fail.
72407
72408         Sync from Automake.
72409         * build-aux/gnupload: Revert last change.  Add pointer to upload
72410         instructions of the GNU Maintenance Instructions.
72411         Suggestion by Karl Berry.
72412
72413 2006-11-10  Jim Meyering  <jim@meyering.net>
72414
72415         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
72416
72417 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
72418
72419         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
72420         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
72421         (bind_textdomain_codeset) [! ENABLE_NLS]:
72422         Evaluate all the arguments.  That way, callers get compatible behavior
72423         if the arguments have side effects.  Also, it avoids some GCC
72424         diagnostics in some cases; Joel E. Denny reported problems when Bison
72425         was configured with --enable-gcc-warnigs.
72426
72427 2006-11-10  Jim Meyering  <jim@meyering.net>
72428
72429         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
72430         relevant options in CFLAGS (like -O, -fno-inline) are taken into
72431         account.
72432
72433 2006-11-10  Jim Meyering  <jim@meyering.net>
72434
72435         * modules/inline: New file/module.
72436         * modules/xalloc (Files): Remove m4/inline.m4.
72437         (Depends-on): Add inline, instead.
72438         * modules/oset: Likewise.
72439         * modules/list: Likewise.
72440
72441 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
72442
72443         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
72444         Problem reported by Matthew Woehlke.
72445
72446 2006-11-09  Bruno Haible  <bruno@clisp.org>
72447
72448         * lib/tempname.c (gen_tempname): Remove variant that invokes
72449         __gen_tempname.
72450         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
72451         __gen_tempname.
72452
72453 2006-11-08  Bruno Haible  <bruno@clisp.org>
72454
72455         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
72456         to 'yes' instead of 'cross-compiling'.
72457
72458 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
72459
72460         * lib/quotearg.h (quotearg_free): New decl.
72461         * lib/quotearg.c (quotearg_free): New function.
72462         (slot0, nslots, slotvec0, slotvec):
72463         Now file-scope so that quotearg_free can get at them.
72464
72465 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72466
72467         Sync from Automake.
72468         * build-aux/gnupload: Add missing 'gnu' to example URL.
72469         Report by Karl Berry.
72470
72471 2006-11-08  Bruno Haible  <bruno@clisp.org>
72472
72473         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
72474         Suggested by Paul Eggert.
72475
72476 2006-11-08  Jim Meyering  <jim@meyering.net>
72477
72478         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
72479         It's already included if !_LIBC.
72480         (fts_safe_changedir): Add a comment.
72481
72482 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
72483
72484         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
72485         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
72486         Matthew Woehlke.
72487
72488         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
72489         definitions up, to avoid colliding with change below.
72490         (static_inline) [HAVE_INLINE]: New macro.
72491         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
72492         Provide extern decls when !HAVE_INLINE.  Do not define unless
72493         static_inline is defined, either by us or by xmalloc.c.  Use
72494         static_inline rather than static inline.
72495         (XCALLOC): Optimize sizeof(T) = 1 case.
72496         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
72497
72498 2006-11-07  Bruno Haible  <bruno@clisp.org>
72499
72500         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
72501         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
72502         AC_C_INLINE.
72503         * modules/xalloc (Files): Add m4/inline.m4.
72504
72505 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72506
72507         * README: Fix typo.
72508         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
72509         (Miscellanous Notes): ...from this.
72510
72511 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
72512
72513         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
72514         Mention that offsetof should be used instead of sizeof.
72515         From Bruno Haible.
72516
72517 2006-11-07  Bruno Haible  <bruno@clisp.org>
72518
72519         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
72520
72521 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
72522
72523         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
72524         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
72525         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
72526         (gl_tree_add_before, gl_tree_add_after):
72527         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
72528         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
72529         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
72530         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
72531         (gl_linked_add_after, gl_linked_add_at): Likewise.
72532         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
72533         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
72534         (gl_tree_add_before, gl_tree_add_after): Likewise.
72535         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
72536         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
72537         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
72538
72539 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72540
72541         * lib/gl_oset.h: Use C comment style, not C++ comment style.
72542
72543 2006-11-06  Bruno Haible  <bruno@clisp.org>
72544
72545         * m4/inline.m4: New file.
72546         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
72547         * modules/list (Files): Add m4/inline.m4.
72548         * modules/oset (Files): Likewise.
72549
72550 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
72551
72552         * lib/idcache.c: Include <stddef.h>, for offsetof.
72553         (struct userid.name): Change from char * to a flexible array member.
72554         All uses changed.
72555         * modules/idcache (Depends-on): Add flexmember.
72556
72557         * MODULES.html.sh (Core language properties): New module flexmember.
72558         * modules/flexmember, m4/flexmember.m4: New files.
72559
72560         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
72561         inline functions that are identical with the old xnmalloc_inline,
72562         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
72563         that we can avoid some unnecessary integer multiplications and
72564         divisions in the common case where the element size is known at
72565         compile time.
72566         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
72567         needed.
72568         (xnboundedmalloc): Remove.
72569         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
72570         arguments, for consistency with rest of this header.
72571         (xcharalloc): Rewrite using XNMALLOC.
72572         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
72573         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
72574         versions have been moved to lib/xalloc.h and renamed to be the
72575         non-*_inline versions.
72576         (xmalloc, xrealloc): Implement without reference to the xnmalloc
72577         and xnrealloc functions, since those functions are now inline and
72578         now call us.
72579         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
72580         renaming described above.
72581         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
72582         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
72583         captures the dependency in AC_C_INLINE.
72584
72585         New module canonicalize-lgpl, proposed by Charles Wilson in
72586         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
72587         with a few small changes afterwards.
72588         * MODULES.html.sh (File system functions): New module
72589         canonicalize-lgpl.
72590         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
72591         and canonicalize_file_name.
72592         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
72593         * modules/canonicalize-lgpl: New files.
72594
72595 2006-11-05  Bruno Haible  <bruno@clisp.org>
72596
72597         * gnulib-tool (func_import, func_create_testdir): Create directories
72598         also for files in subdirectories of lib/.
72599
72600 2006-11-05  Bruno Haible  <bruno@clisp.org>
72601
72602         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
72603         ANSI C compliant.
72604
72605 2006-11-03  Bruno Haible  <bruno@clisp.org>
72606
72607         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
72608         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
72609         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
72610         (xnboundedmalloc): New inline function.
72611         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
72612         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
72613         xmalloc.
72614         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
72615         xmalloc.
72616         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
72617         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
72618         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
72619         xmalloc.
72620         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72621         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
72622         xmalloc.
72623         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
72624         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72625         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
72626         xmalloc.
72627         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72628         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
72629         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72630         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
72631         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
72632         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
72633         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
72634
72635 2006-11-03  Bruno Haible  <bruno@clisp.org>
72636
72637         * lib/c-ctype.h [C++]: Define functions without name mangling.
72638         * lib/fwriteerror.h [C++]: Likewise.
72639         * lib/gcd.h [C++]: Likewise.
72640         * lib/linebreak.h [C++]: Likewise.
72641
72642 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
72643
72644         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
72645         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
72646         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
72647         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
72648         Check for functions and headers just once.
72649         Check for declaration of canonicalize_file_name.
72650         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
72651
72652 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72653
72654         * gnulib-tool (func_import): Fix typo in actioncmd.
72655
72656 2006-11-02  Bruno Haible  <bruno@clisp.org>
72657
72658         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
72659         newline sequence in the Makefile.am snippet as a space, like "make"
72660         does.
72661         Reported by Roger Persson <perrog@gmail.com>.
72662
72663 2006-11-01  Bruno Haible  <bruno@clisp.org>
72664
72665         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
72666         already declared in <string.h>.
72667         * lib/strcase.h (strncasecmp): Don't declare it if yes.
72668
72669 2006-11-01  Bruno Haible  <bruno@clisp.org>
72670
72671         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
72672         * lib/strcase.h: Include <string.h>.
72673         (strcasecmp): Define to rpl_strcasecmp here.
72674
72675 2006-11-01  Bruno Haible  <bruno@clisp.org>
72676
72677         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
72678
72679 2006-11-01  Eric Blake  <ebb9@byu.net>
72680
72681         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
72682
72683         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
72684
72685 2006-10-29  Bruno Haible  <bruno@clisp.org>
72686
72687         Make it compile in C++ mode.
72688         * lib/full-write.c (full_rw): Add a cast.
72689
72690 2006-11-01  Bruno Haible  <bruno@clisp.org>
72691
72692         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
72693         be POSIX compliant.
72694         Reported by Roger Persson <perrog@gmail.com>.
72695
72696 2006-11-01  Eric Blake  <ebb9@byu.net>
72697
72698         * lib/getopt_.h: Fix comments.
72699
72700 2006-10-31  Eric Blake  <ebb9@byu.net>
72701
72702         * modules/tmpdir (Depends-on): Add sys_stat.
72703         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
72704         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
72705         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
72706         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
72707         tempname.
72708
72709 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
72710
72711         Avoid some C++ diagnostics reported by Bruno Haible.
72712         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
72713         xmalloc.
72714         (quotearg_alloc): Use xcharalloc rather than xmalloc.
72715         (struct slotvec): Move to top level.
72716         (quotearg_n_options): Rewrite to avoid xmalloc.
72717         * lib/xalloc.h (xcharalloc): New function.
72718         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
72719         [defined __cplusplus]: Add function template that provides result
72720         type propagation.  This part of the change is from Bruno Haible.
72721
72722 2006-10-29  Bruno Haible  <bruno@clisp.org>
72723
72724         Make it compile in C++ mode.
72725         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
72726         * lib/strnlen1.c (strnlen1): Cast memchr result.
72727         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
72728         * lib/clean-temp.c (string_equals, string_hash): Add casts.
72729         (create_temp_dir): Rename local variable 'template'.
72730         (compile_csharp_using_sscli): Add cast.
72731         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
72732         * lib/findprog.c (find_in_path): Likewise.
72733         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
72734         * lib/wait-process.c (register_slave_subprocess): Likewise.
72735
72736 2006-10-22  Bruno Haible  <bruno@clisp.org>
72737
72738         * modules/tsearch: New file.
72739         * lib/tsearch.h: New file.
72740         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
72741         * m4/tsearch.m4: New file.
72742         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
72743
72744 2006-10-29  Eric Blake  <ebb9@byu.net>
72745
72746         * lib/arcfour.c: Assume config.h.
72747         * lib/arctwo.c: Likewise.
72748         * lib/base64.c: Likewise.
72749         * lib/check-version.c: Likewise.
72750         * lib/crc.c: Likewise.
72751         * lib/des.c: Likewise.
72752         * lib/gc-gnulib.c: Likewise.
72753         * lib/gc-libgcrypt.c: Likewise.
72754         * lib/gc-pbkdf2-sha1.c: Likewise.
72755         * lib/getaddrinfo.c: Likewise.
72756         * lib/getdelim.c: Likewise.
72757         * lib/getline.c: Likewise.
72758         * lib/hmac-md5.c: Likewise.
72759         * lib/hmac-sha1.c: Likewise.
72760         * lib/iconvme.c: Likewise.
72761         * lib/md2.c: Likewise.
72762         * lib/md4.c: Likewise.
72763         * lib/memxor.c: Likewise.
72764         * lib/read-file.c: Likewise.
72765         * lib/readline.c: Likewise.
72766         * lib/rijndael-alg-fst.c: Likewise.
72767         * lib/rijndael-api-fst.c: Likewise.
72768         * lib/xgetdomainname.c: Likewise.
72769
72770 2006-10-28  Eric Blake  <ebb9@byu.net>
72771
72772         * lib/xstrndup.c: Assume config.h.
72773
72774 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
72775
72776         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
72777         stat-macros.h is now for our own macros, whereas stat_h is for
72778         macros in the <sys/stat.h> name space.
72779         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
72780         (STAT_MACROS_H): Remove.
72781         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
72782         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
72783         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
72784         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
72785         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
72786         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
72787         Move these macros to ...
72788         * lib/stat_.h: here.  Don't include stat-macros.h.
72789         * lib/canonicalize.c: Don't include stat-macros.h.
72790         * lib/chown.c: Likewise.
72791         * lib/euidaccess.c: Likewise.
72792         * lib/file-type.c: Likewise.
72793         * lib/filemode.c: Likewise.
72794         * lib/glob.c: Likewise.
72795         * lib/isapipe.c: Likewise.
72796         * lib/lchown.c: Likewise.
72797         * lib/lstat.c: Likewise.
72798         * lib/mkdir-p.c: Likewise.
72799         * lib/rmdir.c: Likewise.
72800         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
72801         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
72802         unless mkdir isn't declared, to speed up 'configure'.
72803         Always create sys/stat.h, since it's unlikely any real sys/stat.h
72804         would define all the S_* symbols.
72805         * modules/canonicalize (Depends-on):
72806         Depend on sys_stat, not stat-macros.
72807         * modules/chown: Likewise.
72808         * modules/euidaccess: Likewise.
72809         * modules/filemode: Likewise.
72810         * modules/file-type: Likewise.
72811         * modules/glob: Likewise.
72812         * modules/isapipe: Likewise.
72813         * modules/lchown: Likewise.
72814         * modules/lstat: Likewise.
72815         * modules/mkancesdirs: Likewise.
72816         * modules/rmdir: Likewise.
72817         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
72818         * modules/modechange: Likewise.
72819         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
72820         (configure.ac): Remove gl_STAT_MACROS.
72821         * modules/sys_stat (Depends-on): Remove stat-macros.
72822
72823 2006-10-27  Bruno Haible  <bruno@clisp.org>
72824
72825         * m4/signed.m4: Remove file.
72826         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
72827         invocation.
72828         * modules/vasnprintf (Files): Remove m4/signed.m4.
72829
72830 2006-10-27  Bruno Haible  <bruno@clisp.org>
72831
72832         Update to GNU gettext 0.16.
72833         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
72834         m4/inttypes-h.m4, m4/signed.m4.
72835         * m4/gettext.m4: Update to GNU gettext 0.16.
72836         * m4/intl.m4: New file, from GNU gettext.
72837         * m4/intldir.m4: New file, from GNU gettext.
72838         * config/srclist.txt: Update
72839
72840 2006-10-27  Eric Blake  <ebb9@byu.net>
72841
72842         * MODULES.html.sh: Document tempname.
72843         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
72844         dependencies.
72845         (Files): Move lib/tempname.c...
72846         * modules/tempname: ...to this new module.
72847         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
72848         (gl_PREREQ_TEMPNAME): Move...
72849         * m4/tempname.m4: ...to this new file.
72850         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
72851         * modules/sys_stat (Depends-on): Add stat-macros.
72852         * lib/stat_.h (includes): Pick up stat macros.
72853         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
72854         if stat macros are broken.
72855         * lib/tempname.c (includes): No need to include "stat-macros.h".
72856         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
72857         (direxists, __path_search) [!_LIBC]: Don't compile these in
72858         gnulib; the tmpdir module covers that.
72859         * lib/tempname.h: New file.
72860
72861 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
72862
72863         * COPYING: Explain how gnulib-tool converts licence headers.
72864         Almost all wording by Eric Blake.
72865
72866 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
72867
72868         * lib/mbchar.h (is_basic_table): Make read-only.
72869         * lib/mbchar.c (is_basic_table): Likewise.
72870         Reported by John Darrington.
72871
72872 2006-10-25  Bruno Haible  <bruno@clisp.org>
72873
72874         * lib/progname.h (set_program_name): Undefine before defining.
72875
72876 2006-10-25  Bruno Haible  <bruno@clisp.org>
72877
72878         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
72879         false for non-gcc C++ compilers.
72880         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
72881
72882 2006-10-24  Bruno Haible  <bruno@clisp.org>
72883
72884         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
72885         iconv implementations like Irix iconv.
72886
72887 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72888
72889         * modules/vararrays: New file.
72890         * m4/vararrays.m4: New file, taken from diffutils.
72891         * MODULES.html.sh: New module vararrays.
72892
72893 2006-10-24  Karl Berry  <karl@gnu.org>
72894
72895         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
72896         Don't call GNU Unix.
72897
72898 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72899
72900         * users.txt: Add Libtool.
72901
72902         Sync from Libtool:
72903
72904         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72905
72906         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
72907         to gnulib's policy of including config.h unconditionally.
72908
72909 2006-10-24  Bruno Haible  <bruno@clisp.org>
72910
72911         * modules/wcwidth (Files): Add m4/wint_t.m4.
72912         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
72913         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
72914
72915 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72916
72917         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
72918         to pacify GCC with some -W flags enabled.  Problem reported by
72919         Bruno Haible.
72920
72921 2006-10-24  Jim Meyering  <jim@meyering.net>
72922
72923         * MODULES.html.sh: Remove uinttostr.  It's not a module.
72924         Reported by Karl Berry.
72925
72926 2006-10-23  Bruno Haible  <bruno@clisp.org>
72927
72928         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
72929
72930 2006-10-24  Bruno Haible  <bruno@clisp.org>
72931
72932         * lib/gl_list.h: Use C comment style, not C++ comment style.
72933
72934 2006-10-23  Eric Blake  <ebb9@byu.net>
72935
72936         * lib/getaddrinfo.c (includes): Add missing include.
72937
72938 2006-10-23  Bruno Haible  <bruno@clisp.org>
72939             Paul Eggert  <eggert@cs.ucla.edu>
72940
72941         Ability to rename obstack_free.
72942         * lib/obstack.h (__obstack_free): New macro. Declare instead of
72943         obstack_free.
72944         (obstack_free): Invoke the __obstack_free macro.
72945         * lib/obstack.c (obstack_free): Use __obstack_free macro.
72946
72947 2006-10-23  Bruno Haible  <bruno@clisp.org>
72948             Paul Eggert  <eggert@cs.ucla.edu>
72949
72950         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
72951         __argc, __argv from the declaration. (They are defined as macros on
72952         mingw.)
72953
72954 2006-10-22  Bruno Haible  <bruno@clisp.org>
72955
72956         * doc/gnulib-intro.texi: New file.
72957         * doc/gnulib.texi: Include it.
72958
72959 2006-10-21  Bruno Haible  <bruno@clisp.org>
72960
72961         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
72962         "Introduction", "Miscellanous Notes", "Particular Modules".
72963
72964 2006-10-21  Bruno Haible  <bruno@clisp.org>
72965
72966         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72967         Change mostlyclean-local rule to avoid sh syntax error from bash
72968         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
72969
72970 2006-10-23  Jim Meyering  <jim@meyering.net>
72971
72972         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
72973         in place of snprintf.
72974
72975         * modules/inttostr (Files): Add lib/uinttostr.c.
72976         * lib/uinttostr.c (inttostr): New file/function.
72977         * lib/inttostr.h (uinttostr): Declare.
72978         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
72979         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
72980         Add uinttostr.
72981         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
72982
72983 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
72984
72985         * lib/canonicalize.c (ELOOP): Define if not already defined.
72986         Problem reported by Bruno Haible in
72987         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
72988
72989 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
72990
72991         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
72992         Problem reported by Perry Smith and Ville Laurikari.
72993
72994         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
72995         uses.
72996
72997 2006-10-19  Bruno Haible  <bruno@clisp.org>
72998
72999         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
73000         for mingw.
73001
73002 2006-10-19  Bruno Haible  <bruno@clisp.org>
73003
73004         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
73005         Needed for mingw.
73006
73007 2006-10-19  Bruno Haible  <bruno@clisp.org>
73008
73009         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
73010
73011 2006-10-19  Bruno Haible  <bruno@clisp.org>
73012
73013         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
73014         it.
73015
73016 2006-10-19  Bruno Haible  <bruno@clisp.org>
73017
73018         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
73019         invocation.
73020
73021 2006-10-19  Bruno Haible  <bruno@clisp.org>
73022
73023         * gnulib-tool (func_create_testdir): Don't include ftruncate and
73024         mountlist by default.
73025
73026 2006-10-16  Bruno Haible  <bruno@clisp.org>
73027
73028         * lib/c-strstr.c: Include c-strstr.h.
73029
73030 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73031
73032         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
73033         in a slash.
73034
73035 2006-10-18  Bruno Haible  <bruno@clisp.org>
73036
73037         * lib/lock.h [C++]: Wrap definitions in extern "C".
73038
73039 2006-10-18  Bruno Haible  <bruno@clisp.org>
73040
73041         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
73042         gl_LIBOBJS list.
73043
73044 2006-10-18  Bruno Haible  <bruno@clisp.org>
73045
73046         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
73047
73048 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
73049
73050         * lib/xstrtol.h: Include gettext.h.
73051         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
73052         Problem reported by Eric Blake.
73053         * modules/xstrtol (Depends-on): Add gettext-h.
73054
73055 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
73056
73057         * lib/strftime.c (advance): New macro.
73058         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
73059         incomplete type, so you can't add 0 to it.  Problem and patch
73060         reported by Eelco Dolstra for dietlibc.
73061
73062 2006-10-18  Jim Meyering  <jim@meyering.net>
73063
73064         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
73065         type for a local, and rename it: s/up/user_proc/.
73066
73067 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
73068
73069         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
73070         READ_UTMP_USER_PROCESS.
73071         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
73072
73073 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
73074
73075         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
73076         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
73077
73078 2006-10-17  Eric Blake  <ebb9@byu.net>
73079
73080         * lib/sigprocmask.c (sigprocmask): Fix typo.
73081
73082         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
73083
73084         * modules/clean-temp (Makefile.am): Don't add to make output...
73085         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
73086         config.h.
73087
73088 2006-10-17  Bruno Haible  <bruno@clisp.org>
73089
73090         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
73091         differently if DEFAULT_TEXT_DOMAIN is set.
73092
73093 2006-10-16  Bruno Haible  <bruno@clisp.org>
73094
73095         * lib/clean-temp.c: Include fwriteerror.h.
73096
73097 2006-10-16  Bruno Haible  <bruno@clisp.org>
73098
73099         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
73100
73101 2006-10-16  Bruno Haible  <bruno@clisp.org>
73102
73103         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
73104         * lib/sigprocmask.h: Include <sys/types.h>.
73105         (sigset_t): Use the system's definition if present.
73106
73107 2006-10-17  Eric Blake  <ebb9@byu.net>
73108
73109         * lib/xvasprintf.c (includes): Assume config.h.
73110         * lib/xasprintf.c (includes): Likewise.
73111
73112 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
73113
73114         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
73115         at least as wide as intmax_t.
73116
73117 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
73118
73119         (Imported from Automake.)
73120         * build-aux/gnupload: Update to version 1.1 of directive file.
73121
73122 2006-10-16  Eric Blake  <ebb9@byu.net>
73123
73124         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
73125         match Automake 1.10a.
73126
73127 2006-10-14  Bruno Haible  <bruno@clisp.org>
73128
73129         * modules/sigprocmask: New file.
73130         * lib/sigprocmask.h: New file.
73131         * lib/sigprocmask.c: New file.
73132         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
73133         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
73134         request sigprocmask.o.
73135         (gl_PREREQ_SIGPROCMASK): New macro.
73136         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
73137         (Depends-on): Add sigprocmask.
73138         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
73139         gt_SIGNALBLOCKING. Test for 'raise' only once.
73140         * lib/fatal-signal.c: Include sigprocmask.h.
73141         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
73142         unblock_fatal_signals): Define always.
73143         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73144         sigprocmask.
73145
73146 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73147
73148         Sync from Automake.
73149         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
73150         which incorrectly sets the mode of an existing destination
73151         directory.  In some cases the unpatched install-sh could do the
73152         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
73153         system.  We hope this is rare in practice, but it's clearly worth
73154         fixing.  Problem reported by Alex Unleashed in
73155         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
73156         Also, don't bother to check for -m bugs unless we're using -m;
73157         suggested by Stepan Kasal.
73158
73159 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73160
73161         Sync from Automake.
73162         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
73163         `-c' flag, so they appear at the same position as in %FASTDEP%
73164         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
73165         which ignores unknown options only after the first non-option.
73166         Bug report against M4 by Nelson H. F. Beebe.
73167
73168 2006-10-13  Jim Meyering  <jim@meyering.net>
73169
73170         Fix a bug in yesterday's change.
73171         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
73172         p->fts_statp->st_dev would be used uninitialized.
73173         Ensures that we always call fts_stat on the very first entry.
73174         Miklos Szeredi reported that find -xdev stopped working.
73175
73176 2006-10-12  Bruno Haible  <bruno@clisp.org>
73177
73178         * gnulib-tool (func_get_automake_snippet): Append an automatically
73179         computed EXTRA_DIST augmentation.
73180         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
73181         * modules/alloca-opt (Makefile.am): Likewise.
73182         * modules/allocsa (Makefile.am): Likewise.
73183         * modules/arcfour (Makefile.am): Likewise.
73184         * modules/arctwo (Makefile.am): Likewise.
73185         * modules/argmatch (Makefile.am): Likewise.
73186         * modules/argz (Makefile.am): Likewise.
73187         * modules/atexit (Makefile.am): Likewise.
73188         * modules/backupfile (Makefile.am): Likewise.
73189         * modules/byteswap (Makefile.am): Likewise.
73190         * modules/c-strtod (Makefile.am): Likewise.
73191         * modules/c-strtold (Makefile.am): Likewise.
73192         * modules/calloc (Makefile.am): Likewise.
73193         * modules/canon-host (Makefile.am): Likewise.
73194         * modules/canonicalize (Makefile.am): Likewise.
73195         * modules/chdir-long (Makefile.am): Likewise.
73196         * modules/chdir-safer (Makefile.am): Likewise.
73197         * modules/check-version (Makefile.am): Likewise.
73198         * modules/chown (Makefile.am): Likewise.
73199         * modules/cloexec (Makefile.am): Likewise.
73200         * modules/close-stream (Makefile.am): Likewise.
73201         * modules/closeout (Makefile.am): Likewise.
73202         * modules/crc (Makefile.am): Likewise.
73203         * modules/csharpexec (Makefile.am): Likewise.
73204         * modules/cycle-check (Makefile.am): Likewise.
73205         * modules/des (Makefile.am): Likewise.
73206         * modules/dev-ino (Makefile.am): Likewise.
73207         * modules/dirfd (Makefile.am): Likewise.
73208         * modules/dirname (Makefile.am): Likewise.
73209         * modules/dup2 (Makefile.am): Likewise.
73210         * modules/eealloc (Makefile.am): Likewise.
73211         * modules/error (Makefile.am): Likewise.
73212         * modules/euidaccess (Makefile.am): Likewise.
73213         * modules/exclude (Makefile.am): Likewise.
73214         * modules/exitfail (Makefile.am): Likewise.
73215         * modules/fcntl-safer (Makefile.am): Likewise.
73216         * modules/fcntl (Makefile.am): Likewise.
73217         * modules/file-type (Makefile.am): Likewise.
73218         * modules/fileblocks (Makefile.am): Likewise.
73219         * modules/filemode (Makefile.am): Likewise.
73220         * modules/filenamecat (Makefile.am): Likewise.
73221         * modules/fnmatch (Makefile.am): Likewise.
73222         * modules/fopen-safer (Makefile.am): Likewise.
73223         * modules/fpending (Makefile.am): Likewise.
73224         * modules/fprintftime (Makefile.am): Likewise.
73225         * modules/free (Makefile.am): Likewise.
73226         * modules/fsusage (Makefile.am): Likewise.
73227         * modules/ftruncate (Makefile.am): Likewise.
73228         * modules/fts (Makefile.am): Likewise.
73229         * modules/gc-arcfour (Makefile.am): Likewise.
73230         * modules/gc-des (Makefile.am): Likewise.
73231         * modules/gc-hmac-md5 (Makefile.am): Likewise.
73232         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
73233         * modules/gc-md4 (Makefile.am): Likewise.
73234         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
73235         * modules/gc-sha1 (Makefile.am): Likewise.
73236         * modules/gc (Makefile.am): Likewise.
73237         * modules/getaddrinfo (Makefile.am): Likewise.
73238         * modules/getcwd (Makefile.am): Likewise.
73239         * modules/getdelim (Makefile.am): Likewise.
73240         * modules/getdomainname (Makefile.am): Likewise.
73241         * modules/getgroups (Makefile.am): Likewise.
73242         * modules/gethostname (Makefile.am): Likewise.
73243         * modules/gethrxtime (Makefile.am): Likewise.
73244         * modules/getline (Makefile.am): Likewise.
73245         * modules/getloadavg (Makefile.am): Likewise.
73246         * modules/getlogin_r (Makefile.am): Likewise.
73247         * modules/getndelim2 (Makefile.am): Likewise.
73248         * modules/getopt (Makefile.am): Likewise.
73249         * modules/getpagesize (Makefile.am): Likewise.
73250         * modules/getpass-gnu (Makefile.am): Likewise.
73251         * modules/getpass (Makefile.am): Likewise.
73252         * modules/getsubopt (Makefile.am): Likewise.
73253         * modules/gettime (Makefile.am): Likewise.
73254         * modules/gettimeofday (Makefile.am): Likewise.
73255         * modules/getugroups (Makefile.am): Likewise.
73256         * modules/getusershell (Makefile.am): Likewise.
73257         * modules/glob (Makefile.am): Likewise.
73258         * modules/group-member (Makefile.am): Likewise.
73259         * modules/hard-locale (Makefile.am): Likewise.
73260         * modules/hash (Makefile.am): Likewise.
73261         * modules/hmac-md5 (Makefile.am): Likewise.
73262         * modules/hmac-sha1 (Makefile.am): Likewise.
73263         * modules/human (Makefile.am): Likewise.
73264         * modules/idcache (Makefile.am): Likewise.
73265         * modules/imaxabs (Makefile.am): Likewise.
73266         * modules/imaxdiv (Makefile.am): Likewise.
73267         * modules/inet_ntop (Makefile.am): Likewise.
73268         * modules/inet_pton (Makefile.am): Likewise.
73269         * modules/intprops (Makefile.am): Likewise.
73270         * modules/inttostr (Makefile.am): Likewise.
73271         * modules/inttypes (Makefile.am): Likewise.
73272         * modules/isapipe (Makefile.am): Likewise.
73273         * modules/javaversion (Makefile.am): Likewise.
73274         * modules/lchmod (Makefile.am): Likewise.
73275         * modules/lchown (Makefile.am): Likewise.
73276         * modules/localcharset (Makefile.am): Likewise.
73277         * modules/long-options (Makefile.am): Likewise.
73278         * modules/lstat (Makefile.am): Likewise.
73279         * modules/malloc (Makefile.am): Likewise.
73280         * modules/mathl (Makefile.am): Likewise.
73281         * modules/mbchar (Makefile.am): Likewise.
73282         * modules/md2 (Makefile.am): Likewise.
73283         * modules/md4 (Makefile.am): Likewise.
73284         * modules/md5 (Makefile.am): Likewise.
73285         * modules/memcasecmp (Makefile.am): Likewise.
73286         * modules/memchr (Makefile.am): Likewise.
73287         * modules/memcmp (Makefile.am): Likewise.
73288         * modules/memcoll (Makefile.am): Likewise.
73289         * modules/memcpy (Makefile.am): Likewise.
73290         * modules/memmem (Makefile.am): Likewise.
73291         * modules/memmove (Makefile.am): Likewise.
73292         * modules/mempcpy (Makefile.am): Likewise.
73293         * modules/memrchr (Makefile.am): Likewise.
73294         * modules/memset (Makefile.am): Likewise.
73295         * modules/memxor (Makefile.am): Likewise.
73296         * modules/mkancesdirs (Makefile.am): Likewise.
73297         * modules/mkdir-p (Makefile.am): Likewise.
73298         * modules/mkdir (Makefile.am): Likewise.
73299         * modules/mkdtemp (Makefile.am): Likewise.
73300         * modules/mkstemp (Makefile.am): Likewise.
73301         * modules/mktime (Makefile.am): Likewise.
73302         * modules/modechange (Makefile.am): Likewise.
73303         * modules/mountlist (Makefile.am): Likewise.
73304         * modules/nanosleep (Makefile.am): Likewise.
73305         * modules/obstack (Makefile.am): Likewise.
73306         * modules/openat (Makefile.am): Likewise.
73307         * modules/pagealign_alloc (Makefile.am): Likewise.
73308         * modules/pathmax (Makefile.am): Likewise.
73309         * modules/physmem (Makefile.am): Likewise.
73310         * modules/poll (Makefile.am): Likewise.
73311         * modules/posixtm (Makefile.am): Likewise.
73312         * modules/posixver (Makefile.am): Likewise.
73313         * modules/putenv (Makefile.am): Likewise.
73314         * modules/quote (Makefile.am): Likewise.
73315         * modules/quotearg (Makefile.am): Likewise.
73316         * modules/raise (Makefile.am): Likewise.
73317         * modules/read-file (Makefile.am): Likewise.
73318         * modules/readline (Makefile.am): Likewise.
73319         * modules/readlink (Makefile.am): Likewise.
73320         * modules/readtokens (Makefile.am): Likewise.
73321         * modules/readutmp (Makefile.am): Likewise.
73322         * modules/realloc (Makefile.am): Likewise.
73323         * modules/regex (Makefile.am): Likewise.
73324         * modules/rename-dest-slash (Makefile.am): Likewise.
73325         * modules/rename (Makefile.am): Likewise.
73326         * modules/rijndael (Makefile.am): Likewise.
73327         * modules/rmdir (Makefile.am): Likewise.
73328         * modules/rpmatch (Makefile.am): Likewise.
73329         * modules/safe-read (Makefile.am): Likewise.
73330         * modules/safe-write (Makefile.am): Likewise.
73331         * modules/same-inode (Makefile.am): Likewise.
73332         * modules/same (Makefile.am): Likewise.
73333         * modules/save-cwd (Makefile.am): Likewise.
73334         * modules/savedir (Makefile.am): Likewise.
73335         * modules/setenv (Makefile.am): Likewise.
73336         * modules/settime (Makefile.am): Likewise.
73337         * modules/sha1 (Makefile.am): Likewise.
73338         * modules/sig2str (Makefile.am): Likewise.
73339         * modules/snprintf (Makefile.am): Likewise.
73340         * modules/stat-macros (Makefile.am): Likewise.
73341         * modules/stat-time (Makefile.am): Likewise.
73342         * modules/stdbool (Makefile.am): Likewise.
73343         * modules/stdint (Makefile.am): Likewise.
73344         * modules/stdlib-safer (Makefile.am): Likewise.
73345         * modules/stpcpy (Makefile.am): Likewise.
73346         * modules/stpncpy (Makefile.am): Likewise.
73347         * modules/strcase (Makefile.am): Likewise.
73348         * modules/strcasestr (Makefile.am): Likewise.
73349         * modules/strchrnul (Makefile.am): Likewise.
73350         * modules/strcspn (Makefile.am): Likewise.
73351         * modules/strdup (Makefile.am): Likewise.
73352         * modules/strerror (Makefile.am): Likewise.
73353         * modules/strftime (Makefile.am): Likewise.
73354         * modules/strndup (Makefile.am): Likewise.
73355         * modules/strnlen (Makefile.am): Likewise.
73356         * modules/strpbrk (Makefile.am): Likewise.
73357         * modules/strsep (Makefile.am): Likewise.
73358         * modules/strstr (Makefile.am): Likewise.
73359         * modules/strtod (Makefile.am): Likewise.
73360         * modules/strtoimax (Makefile.am): Likewise.
73361         * modules/strtok_r (Makefile.am): Likewise.
73362         * modules/strtol (Makefile.am): Likewise.
73363         * modules/strtoll (Makefile.am): Likewise.
73364         * modules/strtoul (Makefile.am): Likewise.
73365         * modules/strtoull (Makefile.am): Likewise.
73366         * modules/strtoumax (Makefile.am): Likewise.
73367         * modules/strverscmp (Makefile.am): Likewise.
73368         * modules/sys_socket (Makefile.am): Likewise.
73369         * modules/sys_stat (Makefile.am): Likewise.
73370         * modules/sysexits (Makefile.am): Likewise.
73371         * modules/time_r (Makefile.am): Likewise.
73372         * modules/timegm (Makefile.am): Likewise.
73373         * modules/timespec (Makefile.am): Likewise.
73374         * modules/tmpfile-safer (Makefile.am): Likewise.
73375         * modules/trim (Makefile.am): Likewise.
73376         * modules/unistd-safer (Makefile.am): Likewise.
73377         * modules/unlinkdir (Makefile.am): Likewise.
73378         * modules/unlocked-io (Makefile.am): Likewise.
73379         * modules/userspec (Makefile.am): Likewise.
73380         * modules/utime (Makefile.am): Likewise.
73381         * modules/utimecmp (Makefile.am): Likewise.
73382         * modules/utimens (Makefile.am): Likewise.
73383         * modules/vasnprintf (Makefile.am): Likewise.
73384         * modules/vasprintf (Makefile.am): Likewise.
73385         * modules/vsnprintf (Makefile.am): Likewise.
73386         * modules/xalloc (Makefile.am): Likewise.
73387         * modules/xgetcwd (Makefile.am): Likewise.
73388         * modules/xnanosleep (Makefile.am): Likewise.
73389         * modules/xreadlink (Makefile.am): Likewise.
73390         * modules/xstrtod (Makefile.am): Likewise.
73391         * modules/xstrtol (Makefile.am): Likewise.
73392         * modules/xstrtold (Makefile.am): Likewise.
73393         * modules/yesno (Makefile.am): Likewise.
73394         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
73395
73396 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
73397
73398         * modules/error (Makefile.am): Distribute files through
73399         EXTRA_DIST, not lib_SOURCES.
73400
73401 2006-10-12  Eric Blake  <ebb9@byu.net>
73402
73403         * modules/error (Makefile.am): Distribute files in /lib.
73404         * modules/obstack (Makefile.am): Likewise.
73405
73406 2006-10-12  Bruno Haible  <bruno@clisp.org>
73407
73408         * modules/acl (Makefile.am): Distribute all files in lib/ through
73409         EXTRA_DIST.
73410         * modules/arcfour (Makefile.am): Likewise.
73411         * modules/arctwo (Makefile.am): Likewise.
73412         * modules/argmatch (Makefile.am): Likewise.
73413         * modules/argz (Makefile.am): Likewise.
73414         * modules/atexit (Makefile.am): Likewise.
73415         * modules/backupfile (Makefile.am): Likewise.
73416         * modules/c-strtod (Makefile.am): Likewise.
73417         * modules/c-strtold (Makefile.am): Likewise.
73418         * modules/calloc (Makefile.am): Likewise.
73419         * modules/canon-host (Makefile.am): Likewise.
73420         * modules/canonicalize (Makefile.am): Likewise.
73421         * modules/chdir-long (Makefile.am): Likewise.
73422         * modules/chdir-safer (Makefile.am): Likewise.
73423         * modules/check-version (Makefile.am): Likewise.
73424         * modules/chown (Makefile.am): Likewise.
73425         * modules/cloexec (Makefile.am): Likewise.
73426         * modules/close-stream (Makefile.am): Likewise.
73427         * modules/closeout (Makefile.am): Likewise.
73428         * modules/crc (Makefile.am): Likewise.
73429         * modules/cycle-check (Makefile.am): Likewise.
73430         * modules/des (Makefile.am): Likewise.
73431         * modules/dirfd (Makefile.am): Likewise.
73432         * modules/dirname (Makefile.am): Likewise.
73433         * modules/dup2 (Makefile.am): Likewise.
73434         * modules/euidaccess (Makefile.am): Likewise.
73435         * modules/exclude (Makefile.am): Likewise.
73436         * modules/exitfail (Makefile.am): Likewise.
73437         * modules/fcntl-safer (Makefile.am): Likewise.
73438         * modules/file-type (Makefile.am): Likewise.
73439         * modules/fileblocks (Makefile.am): Likewise.
73440         * modules/filemode (Makefile.am): Likewise.
73441         * modules/filenamecat (Makefile.am): Likewise.
73442         * modules/fnmatch (Makefile.am): Likewise.
73443         * modules/fopen-safer (Makefile.am): Likewise.
73444         * modules/fpending (Makefile.am): Likewise.
73445         * modules/fprintftime (Makefile.am): Likewise.
73446         * modules/free (Makefile.am): Likewise.
73447         * modules/fsusage (Makefile.am): Likewise.
73448         * modules/ftruncate (Makefile.am): Likewise.
73449         * modules/fts (Makefile.am): Likewise.
73450         * modules/gc (Makefile.am): Likewise.
73451         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
73452         * modules/getaddrinfo (Makefile.am): Likewise.
73453         * modules/getcwd (Makefile.am): Likewise.
73454         * modules/getdelim (Makefile.am): Likewise.
73455         * modules/getdomainname (Makefile.am): Likewise.
73456         * modules/getgroups (Makefile.am): Likewise.
73457         * modules/gethostname (Makefile.am): Likewise.
73458         * modules/gethrxtime (Makefile.am): Likewise.
73459         * modules/getline (Makefile.am): Likewise.
73460         * modules/getloadavg (Makefile.am): Likewise.
73461         * modules/getlogin_r (Makefile.am): Likewise.
73462         * modules/getopt (Makefile.am): Likewise.
73463         * modules/getpass (Makefile.am): Likewise.
73464         * modules/getpass-gnu (Makefile.am): Likewise.
73465         * modules/getsubopt (Makefile.am): Likewise.
73466         * modules/gettime (Makefile.am): Likewise.
73467         * modules/gettimeofday (Makefile.am): Likewise.
73468         * modules/getugroups (Makefile.am): Likewise.
73469         * modules/getusershell (Makefile.am): Likewise.
73470         * modules/glob (Makefile.am): Likewise.
73471         * modules/group-member (Makefile.am): Likewise.
73472         * modules/hard-locale (Makefile.am): Likewise.
73473         * modules/hash (Makefile.am): Likewise.
73474         * modules/hmac-md5 (Makefile.am): Likewise.
73475         * modules/hmac-sha1 (Makefile.am): Likewise.
73476         * modules/human (Makefile.am): Likewise.
73477         * modules/idcache (Makefile.am): Likewise.
73478         * modules/imaxabs (Makefile.am): Likewise.
73479         * modules/imaxdiv (Makefile.am): Likewise.
73480         * modules/inet_ntop (Makefile.am): Likewise.
73481         * modules/inet_pton (Makefile.am): Likewise.
73482         * modules/inttostr (Makefile.am): Likewise.
73483         * modules/isapipe (Makefile.am): Likewise.
73484         * modules/lchown (Makefile.am): Likewise.
73485         * modules/long-options (Makefile.am): Likewise.
73486         * modules/lstat (Makefile.am): Likewise.
73487         * modules/malloc (Makefile.am): Likewise.
73488         * modules/mathl (Makefile.am): Likewise.
73489         * modules/mbchar (Makefile.am): Likewise.
73490         * modules/md2 (Makefile.am): Likewise.
73491         * modules/md4 (Makefile.am): Likewise.
73492         * modules/md5 (Makefile.am): Likewise.
73493         * modules/memcasecmp (Makefile.am): Likewise.
73494         * modules/memchr (Makefile.am): Likewise.
73495         * modules/memcmp (Makefile.am): Likewise.
73496         * modules/memcoll (Makefile.am): Likewise.
73497         * modules/memcpy (Makefile.am): Likewise.
73498         * modules/memmem (Makefile.am): Likewise.
73499         * modules/memmove (Makefile.am): Likewise.
73500         * modules/mempcpy (Makefile.am): Likewise.
73501         * modules/memrchr (Makefile.am): Likewise.
73502         * modules/memset (Makefile.am): Likewise.
73503         * modules/memxor (Makefile.am): Likewise.
73504         * modules/mkancesdirs (Makefile.am): Likewise.
73505         * modules/mkdir (Makefile.am): Likewise.
73506         * modules/mkdir-p (Makefile.am): Likewise.
73507         * modules/mkdtemp (Makefile.am): Likewise.
73508         * modules/mkstemp (Makefile.am): Likewise.
73509         * modules/mktime (Makefile.am): Likewise.
73510         * modules/modechange (Makefile.am): Likewise.
73511         * modules/mountlist (Makefile.am): Likewise.
73512         * modules/nanosleep (Makefile.am): Likewise.
73513         * modules/openat (Makefile.am): Likewise.
73514         * modules/pagealign_alloc (Makefile.am): Likewise.
73515         * modules/physmem (Makefile.am): Likewise.
73516         * modules/poll (Makefile.am): Likewise.
73517         * modules/posixtm (Makefile.am): Likewise.
73518         * modules/posixver (Makefile.am): Likewise.
73519         * modules/putenv (Makefile.am): Likewise.
73520         * modules/quote (Makefile.am): Likewise.
73521         * modules/quotearg (Makefile.am): Likewise.
73522         * modules/raise (Makefile.am): Likewise.
73523         * modules/read-file (Makefile.am): Likewise.
73524         * modules/readline (Makefile.am): Likewise.
73525         * modules/readlink (Makefile.am): Likewise.
73526         * modules/readtokens (Makefile.am): Likewise.
73527         * modules/readutmp (Makefile.am): Likewise.
73528         * modules/realloc (Makefile.am): Likewise.
73529         * modules/regex (Makefile.am): Likewise.
73530         * modules/rename (Makefile.am): Likewise.
73531         * modules/rename-dest-slash (Makefile.am): Likewise.
73532         * modules/rijndael (Makefile.am): Likewise.
73533         * modules/rmdir (Makefile.am): Likewise.
73534         * modules/rpmatch (Makefile.am): Likewise.
73535         * modules/safe-read (Makefile.am): Likewise.
73536         * modules/safe-write (Makefile.am): Likewise.
73537         * modules/same (Makefile.am): Likewise.
73538         * modules/save-cwd (Makefile.am): Likewise.
73539         * modules/savedir (Makefile.am): Likewise.
73540         * modules/setenv (Makefile.am): Likewise.
73541         * modules/settime (Makefile.am): Likewise.
73542         * modules/sha1 (Makefile.am): Likewise.
73543         * modules/sig2str (Makefile.am): Likewise.
73544         * modules/snprintf (Makefile.am): Likewise.
73545         * modules/stdlib-safer (Makefile.am): Likewise.
73546         * modules/stpcpy (Makefile.am): Likewise.
73547         * modules/stpncpy (Makefile.am): Likewise.
73548         * modules/strcase (Makefile.am): Likewise.
73549         * modules/strcasestr (Makefile.am): Likewise.
73550         * modules/strchrnul (Makefile.am): Likewise.
73551         * modules/strcspn (Makefile.am): Likewise.
73552         * modules/strdup (Makefile.am): Likewise.
73553         * modules/strerror (Makefile.am): Likewise.
73554         * modules/strftime (Makefile.am): Likewise.
73555         * modules/strndup (Makefile.am): Likewise.
73556         * modules/strnlen (Makefile.am): Likewise.
73557         * modules/strpbrk (Makefile.am): Likewise.
73558         * modules/strsep (Makefile.am): Likewise.
73559         * modules/strstr (Makefile.am): Likewise.
73560         * modules/strtod (Makefile.am): Likewise.
73561         * modules/strtoimax (Makefile.am): Likewise.
73562         * modules/strtok_r (Makefile.am): Likewise.
73563         * modules/strtol (Makefile.am): Likewise.
73564         * modules/strtoll (Makefile.am): Likewise.
73565         * modules/strtoul (Makefile.am): Likewise.
73566         * modules/strtoull (Makefile.am): Likewise.
73567         * modules/strtoumax (Makefile.am): Likewise.
73568         * modules/strverscmp (Makefile.am): Likewise.
73569         * modules/time_r (Makefile.am): Likewise.
73570         * modules/timegm (Makefile.am): Likewise.
73571         * modules/tmpfile-safer (Makefile.am): Likewise.
73572         * modules/unistd-safer (Makefile.am): Likewise.
73573         * modules/unlinkdir (Makefile.am): Likewise.
73574         * modules/userspec (Makefile.am): Likewise.
73575         * modules/utime (Makefile.am): Likewise.
73576         * modules/utimecmp (Makefile.am): Likewise.
73577         * modules/utimens (Makefile.am): Likewise.
73578         * modules/vasnprintf (Makefile.am): Likewise.
73579         * modules/vasprintf (Makefile.am): Likewise.
73580         * modules/vsnprintf (Makefile.am): Likewise.
73581         * modules/xalloc (Makefile.am): Likewise.
73582         * modules/xgetcwd (Makefile.am): Likewise.
73583         * modules/xnanosleep (Makefile.am): Likewise.
73584         * modules/xreadlink (Makefile.am): Likewise.
73585         * modules/xstrtod (Makefile.am): Likewise.
73586         * modules/xstrtol (Makefile.am): Likewise.
73587         * modules/xstrtold (Makefile.am): Likewise.
73588         * modules/yesno (Makefile.am): Likewise.
73589
73590 2006-10-12  Jim Meyering  <jim@meyering.net>
73591
73592         * m4/getloadavg.m4: Revert the change below.
73593
73594         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
73595         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
73596         fail with a symlink, which is what coreutils' ./bootstrap now
73597         creates by default.
73598
73599 2006-10-12  Bruno Haible  <bruno@clisp.org>
73600
73601         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
73602         mingw.
73603         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
73604         MSVC and mingw explicitly.
73605
73606 2006-10-11  Simon Josefsson  <jas@extundo.com>
73607             Bruno Haible  <bruno@clisp.org>
73608
73609         Add support for multiple gnulib-tool invocations in the scope of a
73610         single configure.ac file.
73611         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
73612         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
73613         with the same contents as the _LIBADD variable.
73614         (func_emit_initmacro_start, func_emit_initmacro_end,
73615         func_emit_initmacro_done): New functions.
73616         (func_import, func_create_testdir): Invoke them. Allow the identifiers
73617         gl_LIBOBJS and gl_LTLIBOBJS.
73618
73619 2006-10-11  Bruno Haible  <bruno@clisp.org>
73620
73621         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
73622         (func_create_testdir): Don't create po/Makefile.am, don't invoke
73623         autoreconf. Instead, invoke autopoint explicitly but move back the
73624         *.m4 files from gnulib.
73625
73626 2006-10-11  Bruno Haible  <bruno@clisp.org>
73627
73628         * gnulib-tool (func_usage): Make module names after --create-testdir
73629         optional.
73630         (func_create_testdir): If no module was specified, use nearly all
73631         modules.
73632
73633 2006-10-12  Jim Meyering  <jim@meyering.net>
73634
73635         Big performance improvement for fts-based tools that use FTS_NOSTAT.
73636         Avoid spurious inode-mismatch problems on non-POSIX file systems.
73637         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
73638         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
73639         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
73640         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
73641         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
73642         (fts_set_stat_required): New function.
73643         (fts_open): Defer the calls to fts_stat, if possible or requested.
73644         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
73645         into fts_stat itself.
73646         (fts_read): Perform any required (deferred) fts_stat call.
73647         (fts_build): Likewise, for the directory we're about to open and read.
73648         In the readdir loop, carefully decide whether each entry will require
73649         an eventual call to fts_stat, using dirent.d_type info if available.
73650         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
73651         a command line argument into this function.  Update all callers.
73652         Map a return value of FTS_DOT to FTS_D for a command line argument.
73653         * modules/fts (Depends-on): Add d-type.  Alphabetize.
73654         Thanks to Miklos Szeredi for his tenacity and for the initial
73655         bug report about "find" failing on a FUSE-based file system.
73656
73657         * lib/fts.c (fts_open): Use consistent indentation.
73658
73659 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
73660
73661         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
73662         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
73663         reported by Jim Meyering.  All uses of cache variables renamed
73664         to match Autoconf's.
73665         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
73666         the other one.
73667
73668         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
73669         Fix misspelling in diagnostic.
73670
73671 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73672
73673         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
73674         defined.  Problem reported by Matthew Woehlke.
73675
73676         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
73677         Add support for Tandem NonStop R series.
73678         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
73679         Use new macro.
73680
73681         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
73682         (has_trailing_slash): Omit size arg; all callers changed.
73683         Omit 'inline', since it doesn't help performance and we'd
73684         need to configure it.
73685         Don't count //, ///, etc. as having a trailing slash.
73686         As a side effect, this removes a C99ism reported by Matthew Woehlke.
73687         (rpl_rename_dest_slash): On failure, use rename's errno rather
73688         than (in some cases) an incorrect or junk errno.
73689         Simplify code by removing need to compute length; this does
73690         cause it to make two passes instead of one over the file name,
73691         but it's worth it.
73692
73693         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
73694         change, since Autoconf's version may no longer be appropriate now
73695         that we are using CVS Autoconf's version.  Add support for Tandem.
73696
73697 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73698             Bruno Haible  <bruno@clisp.org>
73699
73700         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
73701         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
73702         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
73703         gl_AC_TYPE_LONG_LONG.
73704
73705         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
73706         instead of HAVE_LONG_LONG.
73707         * lib/printf-args.c (printf_fetchargs): Likewise.
73708         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
73709         * lib/vasnprintf.c (VASNPRINTF): Likewise.
73710         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
73711         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
73712         gl_AC_TYPE_LONG_LONG.
73713
73714 2006-10-11  Bruno Haible  <bruno@clisp.org>
73715
73716         * m4/longlong.m4: Add comments.
73717         * m4/ulonglong.m4: Likewise.
73718
73719 2006-10-10  Bruno Haible  <bruno@clisp.org>
73720
73721         Make it possible to #define stpcpy, strdup to aliases.
73722         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
73723         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
73724
73725 2006-10-10  Bruno Haible  <bruno@clisp.org>
73726
73727         Make it possible to #define gcd to an alias.
73728         * lib/gcd.c: Include config.h.
73729
73730 2006-10-10  Bruno Haible  <bruno@clisp.org>
73731
73732         Make it possible to #define c_isascii to an alias.
73733         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
73734         defined. Undefine the macros before defining them, to avoid gcc
73735         warnings.
73736         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
73737         define NO_C_CTYPE_MACROS early.
73738
73739 2006-10-10  Bruno Haible  <bruno@clisp.org>
73740
73741         Make it possible to #define set_program_name to an alias.
73742         * lib/progname.c: Don't undefine set_program_name; instead, undefine
73743         ENABLE_RELOCATABLE early.
73744
73745 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73746
73747         Port to Tandem NSK OSS, which has 64-bit signed int but at most
73748         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
73749         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
73750         More generally, don't assume that 64-bit signed int is available
73751         if unsigned int is, and vice versa.
73752         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
73753         unsigned symbols, not on their signed counterparts.
73754         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
73755         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
73756         (UINT64_C, UINTMAX_C):
73757         Likewise.
73758         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
73759         unsigned counterparts.
73760         (Have_long_long, Unsigned): New macros.
73761         (Int): Renamed from INT.
73762         (strtoimax): Use the new macros.
73763         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
73764         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
73765         * modules/inttypes (inttypes.h): Substitute
73766         HAVE_UNSIGNED_LONG_LONG_INT.
73767         * modules/stdint (stdint.h): Likewise.
73768         (Files): Add m4/ulonglong.m4.
73769
73770 2006-10-10  Bruno Haible  <bruno@clisp.org>
73771
73772         Fix a gcc -Wshadow warning.
73773         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
73774         to 'bucket'.
73775         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
73776         gl_linked_indexof_from_to): Likewise.
73777         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
73778         Likewise.
73779         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
73780         Likewise.
73781         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
73782         Reported by Eric Blake.
73783
73784 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
73785
73786         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
73787         for NetBSD.  Problem reported by Bruno Haible.
73788
73789 2006-10-09  Jim Meyering  <jim@meyering.net>
73790
73791         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
73792         Patch from Bruno Haible.
73793
73794 2006-10-09  Jim Meyering  <jim@meyering.net>
73795
73796         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
73797         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
73798         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
73799
73800 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
73801
73802         Don't include <config.h> twice; this doesn't work in some cases,
73803         e.g., when config.h has "#define intmax_t long long int" and
73804         we include <config.h>, <inttypes.h>, <config.h> in that order.
73805         Problem reported by Matthew Woehlke in:
73806         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
73807         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
73808         * lib/fts-cycle.c: Don't include config.h.
73809         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
73810         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
73811         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
73812         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
73813         inttypes.h.
73814         * lib/xstrtoumax.c: Likewise.
73815         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
73816         __strtol and the like, so that this module is more like its siblings.
73817         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
73818         Remove; no longer needed now that we assume gnulib inttypes.h.
73819
73820 2006-10-08  Bruno Haible  <bruno@clisp.org>
73821
73822         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
73823         option.
73824
73825 2006-10-07  Jim Meyering  <jim@meyering.net>
73826
73827         * modules/inttypes (inttypes.h): Revert what seems to have been
73828         an inadvertent part of today's change: use "|", not "/" in the
73829         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
73830
73831 2006-10-07  Bruno Haible  <bruno@clisp.org>
73832
73833         * modules/sublist: New file.
73834
73835 2006-10-07  Bruno Haible  <bruno@clisp.org>
73836
73837         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
73838         * modules/argz (argz.h): Likewise.
73839         * modules/arpa_inet (arpa/inet.h): Likewise.
73840         * modules/byteswap (byteswap.h): Likewise.
73841         * modules/configmake (configmake.h): Likewise.
73842         * modules/fcntl (fcntl.h): Likewise.
73843         * modules/fnmatch (fnmatch.h): Likewise.
73844         * modules/getopt (getopt.h): Likewise.
73845         * modules/glob (glob.h): Likewise.
73846         * modules/inttypes (inttypes.h): Likewise.
73847         * modules/netinet_in (netinet/in.h): Likewise.
73848         * modules/poll (poll.h): Likewise.
73849         * modules/stdbool (stdbool.h): Likewise.
73850         * modules/stdint (stdint.h): Likewise.
73851         * modules/sys_select (sys/select.h): Likewise.
73852         * modules/sys_socket (sys/socket.h): Likewise.
73853         * modules/sys_stat (sys/stat.h): Likewise.
73854         * modules/sysexits (sysexits.h): Likewise.
73855         * modules/unistd (unistd.h): Likewise.
73856         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73857         Add a "DO NOT EDIT" comment to the generated file.
73858         (func_import): Likewise for gnulib-comp.m4.
73859
73860 2006-10-07  Bruno Haible  <bruno@clisp.org>
73861
73862         * lib/gl_sublist.h: New file.
73863         * lib/gl_sublist.c: New file.
73864
73865 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73866
73867         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
73868         name (relative to the original working directory) and the file
73869         name component (relative to the temporary working directory).  All
73870         callers changed.
73871         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
73872         * lib/mkdir-p.c (make_dir_parents): Likewise.
73873         * lib/mkdir-p.h (make_dir_parents): Likewise.
73874
73875 2006-10-06  Eric Blake  <ebb9@byu.net>
73876
73877         Define several macros for use by the clean-temp module.
73878         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
73879         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
73880         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
73881
73882         * lib/clean-temp.h (close_stream_temp): New declaration.
73883         * lib/clean-temp.c (includes): Pull in headers according to what
73884         other modules are in use.
73885         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
73886
73887 2006-10-06  Bruno Haible  <bruno@clisp.org>
73888
73889         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
73890         instead of fopen, fwriteerror.
73891
73892 2006-10-06  Bruno Haible  <bruno@clisp.org>
73893
73894         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
73895         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
73896         int.
73897         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
73898         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
73899         Return an error indicator.
73900         Suggested by Eric Blake.
73901
73902 2006-10-06  Bruno Haible  <bruno@clisp.org>
73903
73904         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
73905         Reported by Eric Blake.
73906
73907 2006-10-06  Bruno Haible  <bruno@clisp.org>
73908
73909         * modules/closeout (Description): Mention stderr too.
73910
73911 2006-10-06  Bruno Haible  <bruno@clisp.org>
73912         and Paul Eggert  <eggert@cs.ucla.edu>
73913
73914         * lib/closeout.c (close_stdout): Also close stderr.
73915         * lib/closeout.h: Update comment.
73916
73917 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73918
73919         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
73920         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
73921         * lib/dirchownmod.c: Include lchown.h.
73922         * lib/lchown.c: Don't include files that lchown.h now includes.
73923         Don't declare chown, since lchown.h now does that.
73924         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
73925         (lchown): Define to rpl_chown if lchown is declared but
73926         does not exist.  Declare using a prototype if lchown is not
73927         declared.  Add a copyright notice.
73928         * lib/mkstemp.h: Include <unistd.h>.
73929         * lib/openat.c: Include lchown.h.
73930
73931         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
73932         we now test for that separately.
73933         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
73934         rather than O_NOFOLLOW, when testing whether it's possible to
73935         avoid a race condition reliably.
73936         * lib/savewd.c (savewd_chdir): Likewise.
73937
73938         Remove macros that are no longer needed now that stdint.h is
73939         reliable.
73940         * lib/fsusage.c (UINTMAX_MAX): Remove.
73941         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
73942         * lib/utimecmp.c (SIZE_MAX): Remove.
73943
73944         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
73945
73946         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
73947         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
73948         O_NOATIME works.
73949
73950 2006-10-05  Bruno Haible  <bruno@clisp.org>
73951
73952         * lib/gl_list.h (gl_sortedlist_search_from_to,
73953         gl_sortedlist_indexof_from_to): New declarations.
73954         (gl_list_implementation): New fields sortedlist_search_from_to,
73955         sortedlist_indexof_from_to.
73956         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
73957         inline functions.
73958         * lib/gl_list.c (gl_sortedlist_search_from_to,
73959         gl_sortedlist_indexof_from_to): New functions.
73960         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
73961         function.
73962         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
73963         (gl_array_sortedlist_search_from_to): New function.
73964         (gl_array_list_implementation): Update.
73965         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
73966         function.
73967         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
73968         (gl_carray_sortedlist_search_from_to): New function.
73969         (gl_carray_list_implementation): Update.
73970         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
73971         gl_linked_sortedlist_indexof_from_to): New functions.
73972         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
73973         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
73974         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
73975         gl_tree_sortedlist_indexof_from_to): New functions.
73976         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
73977         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
73978         Update.
73979         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
73980         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
73981         Update.
73982
73983 2006-10-05  Bruno Haible  <bruno@clisp.org>
73984
73985         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
73986         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
73987         (struct gl_list_implementation): Add fields search_from_to,
73988         indexof_from_to. Remove fields search, indexof.
73989         (gl_list_search): Use the search_from_to method.
73990         (gl_list_search_from, gl_list_search_from_to): New functions.
73991         (gl_list_indexof): Use the indexof_from_to method.
73992         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
73993         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
73994         (gl_list_search_from, gl_list_search_from_to): New functions.
73995         (gl_list_indexof): Use the indexof_from_to method.
73996         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
73997         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
73998         gl_array_indexof. Add start_index, end_index arguments.
73999         (gl_array_search_from_to): Renamed from gl_array_search. Add
74000         start_index, end_index arguments.
74001         (gl_array_remove, gl_array_list_implementation): Update.
74002         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
74003         gl_carray_indexof. Add start_index, end_index arguments.
74004         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
74005         start_index, end_index arguments.
74006         (gl_carray_remove, gl_carray_list_implementation): Update.
74007         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
74008         gl_linked_search. Add start_index, end_index arguments.
74009         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
74010         start_index, end_index arguments.
74011         (gl_linked_remove): Update.
74012         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
74013         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
74014         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
74015         field to 'size_t'.
74016         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
74017         gl_tree_search. Add start_index, end_index arguments.
74018         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
74019         start_index, end_index arguments.
74020         (gl_tree_remove): Update.
74021         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
74022         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
74023         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
74024         function.
74025         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
74026         gl_tree_search. Add start_index, end_index arguments.
74027         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
74028         start_index, end_index arguments.
74029         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
74030         Update.
74031         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
74032
74033 2006-10-05  Bruno Haible  <bruno@clisp.org>
74034
74035         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
74036
74037         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
74038         fwriteerror_temp): New declarations.
74039         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
74040         (descriptors): New variable.
74041         (cleanup): First, close the descriptors.
74042         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
74043         fclose_temp, fwriteerror_temp): New functions.
74044
74045 2006-10-04  Jim Meyering  <jim@meyering.net>
74046
74047         * lib/fts.c (fts_open): Tiny comment change.
74048
74049 2006-10-04  Bruno Haible  <bruno@clisp.org>
74050
74051         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
74052         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
74053         gl_LOCK_BODY.
74054         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
74055         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
74056         gl_LOCK_EARLY_BODY.
74057         (gl_LOCK): Require gl_LOCK_BODY.
74058
74059 2006-10-04  Bruno Haible  <bruno@clisp.org>
74060
74061         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
74062         (gl_oset_search_atleast): New declaration.
74063         (struct gl_oset_implementation): Add field 'search_atleast'.
74064         (gl_oset_search_atleast): New inline function.
74065         * lib/gl_oset.c (gl_oset_search_atleast): New function.
74066         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
74067         (gl_array_oset_implementation): Update.
74068         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
74069         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
74070         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
74071
74072 2006-10-04  Bruno Haible  <bruno@clisp.org>
74073
74074         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
74075
74076 2006-10-03  Bruno Haible  <bruno@clisp.org>
74077
74078         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
74079         from gl_avltreehash_list_implementation.
74080
74081 2006-10-03  Bruno Haible  <bruno@clisp.org>
74082
74083         * lib/gl_oset.c (gl_oset_add): Fix return type.
74084
74085 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
74086
74087         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
74088
74089 2006-10-02  Eric Blake  <ebb9@byu.net>
74090
74091         * modules/strnlen (Depends-on): Add extensions.
74092
74093 2006-10-02  Eric Blake  <ebb9@byu.net>
74094
74095         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
74096         definition in 2.60+.
74097
74098 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
74099
74100         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
74101         checks.
74102
74103 2006-10-02  Bruno Haible  <bruno@clisp.org>
74104
74105         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
74106         to the AUTOMAKE_OPTIONS.
74107         Reported by Jim Meyering.
74108
74109 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
74110
74111         Work around bug in Solaris 10 /proc file system:
74112         /proc/self/fd/NNN/.. isn't the parent directory of
74113         the directory whose file descriptor is NNN.  This needs to
74114         be worked around at run time, not compile time, since a
74115         program might be built on Solaris 8, where things work, and
74116         run on Solaris 10.
74117         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
74118         to use the following interface instead:
74119         (OPENAT_BUFFER_SIZE): New macro.
74120         (openat_proc_name): New function.
74121         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
74122         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
74123         Likewise.
74124         * lib/openat-proc.c: New file.
74125         * modules/openat (Files): Add lib/openat-proc.c.
74126         (Depends-on): Add same-inode, stdbool.
74127         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
74128
74129 2006-09-29  Bruno Haible  <bruno@clisp.org>
74130
74131         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
74132         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
74133         argument. Set stdout_closed before testing for ferror, not after.
74134         (fwriteerror, fwriteerror_no_ebadf): New functions.
74135
74136 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74137
74138         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
74139
74140 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
74141
74142         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
74143         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
74144
74145 2006-09-28  Jim Meyering  <jim@meyering.net>
74146
74147         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
74148         Include <unistd.h>.
74149
74150 2006-09-28  Bruno Haible  <bruno@clisp.org>
74151
74152         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
74153         * modules/linkedhash-list (Depends-on): Likewise.
74154         * modules/rbtreehash-list (Depends-on): Likewise.
74155
74156 2006-09-28  Bruno Haible  <bruno@clisp.org>
74157
74158         * lib/strndup.h: Simplify the redefinition of strndup.
74159         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
74160         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
74161
74162 2006-09-28  Bruno Haible  <bruno@clisp.org>
74163
74164         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
74165         * lib/gl_linkedhash_list.c: Likewise.
74166         * lib/gl_rbtreehash_list.c: Likewise.
74167
74168 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
74169
74170         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
74171         getaddrinfo.
74172
74173         * lib/__fpending.h: Don't include <stdio_ext.h> unless
74174         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
74175         it causes <stdio_ext.h> to cause a compile-time error.
74176         Problem reported by Nelson H. F. Beebe.
74177         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
74178         of HAVE_DECL___PENDING.
74179
74180         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
74181         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
74182         declaration.
74183
74184 2006-09-27  Jim Meyering  <jim@meyering.net>
74185
74186         This file could end up with a definition for a function
74187         named __strndup, rather than rpl_strndup on a system with
74188         incomplete weak_alias support.
74189         * lib/strndup.c (strndup): Rename from __strndup.
74190         Remove #defines that used to map __strndup to strndup.
74191         Don't use K&R prototypes.
74192         Remove LIBC-related code, since this file is not sync'd with glibc.
74193         * lib/strndup.h: Revamp, accordingly.
74194         * m4/strndup.m4: Modernize.
74195
74196 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
74197
74198         * modules/savewd (Depends-on): Add 'raise'.
74199         * lib/savewd.c: Include <signal.h>, for 'raise'.
74200
74201 2006-09-26  Jim Meyering  <jim@meyering.net>
74202
74203         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
74204         when we detect Darwin 8.7.0's acl_get_file bug.
74205         Rearrange to perform the new (below) run-test while $LIBS
74206         contains any acl-related library.  Set USE_ACL at the end.
74207         (gl_ACL_GET_FILE): New function.
74208
74209 2006-09-26  Eric Blake  <ebb9@byu.net>
74210
74211         * lib/verror.c: Include <config.h> unconditionally.
74212
74213 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
74214
74215         * modules/clock-time (Maintainer): Add self.
74216         * modules/getlogin_r (Depends-on): Add extensions.
74217
74218 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74219
74220         * modules/clock-time: New module.
74221         * modules/nanosleep (Depends-on): Add clock-time.
74222         * modules/gethrxtime (Depends-on): Likewise.
74223         * modules/gettime (Depends-on): Likewise.
74224         * modules/settime (Depends-on): Likewise.
74225
74226         * modules/fts-lgpl: Depend on openat.
74227         * modules/mkancesdirs: Depend on savewd.
74228         * modules/mkdir-p: Likewise.
74229
74230 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74231
74232         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
74233
74234         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
74235         `gl_have_arbitrary_file_name_length_limit' to
74236         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
74237         actually works between configure runs.
74238
74239 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74240             Bruno Haible  <bruno@clisp.org>
74241
74242         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
74243
74244 2006-09-25  Jim Meyering  <jim@meyering.net>
74245
74246         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
74247         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
74248
74249 2006-09-25  Eric Blake  <ebb9@byu.net>
74250
74251         * gnulib-tool (func_import, func_create_testdir): Fix typos in
74252         exec's in 2006-09-18 patch when shuffling fds.
74253
74254 2006-09-25  Bruno Haible  <bruno@clisp.org>
74255
74256         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
74257         Reported by Jim Meyering.
74258
74259 2006-09-24  Jim Meyering  <jim@meyering.net>
74260
74261         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
74262         compare a pointer against a literal "0".  That caused failures with
74263         at least HP-UX's hpcc.
74264
74265 2006-09-22  Simon Josefsson  <jas@extundo.com>
74266
74267         * modules/gc-sha1:
74268         * modules/gc-md4:
74269         * modules/gc-hmac-sha1:
74270         * modules/gc-hmac-md5:
74271         * modules/gc-des:
74272         * modules/gc-arcfour: Distribute more files.
74273
74274 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74275
74276         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
74277         (gl_linked_iterator_from_to): Initialize struct completely.
74278         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
74279         (gl_tree_iterator_from_to): Likewise
74280         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
74281         * lib/gl_array_list.c [lint] (gl_array_iterator)
74282         (gl_array_iterator_from_to): Likewise.
74283         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
74284         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
74285         (gl_carray_iterator_from_to): Likewise.
74286
74287         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
74288         * lib/md4.c (md4_process_block): Remove unused variable.
74289         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
74290         parentheses for clarity.
74291
74292 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74293
74294         * modules/bison-i18n (Depends-on): Add gettext.
74295
74296 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74297
74298         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
74299         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
74300         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
74301         also add missing comma that caused broken test.
74302         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
74303         stdlib.h, for `abort'.
74304         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
74305         variables.
74306         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
74307         include unistd.h if present, for `rmdir'.
74308         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
74309         variables.
74310         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
74311         in the process include standard headers for prototypes.
74312         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
74313         gets declared on GNU/Linux.
74314         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
74315         unistd.h, for `rmdir'.
74316         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
74317
74318         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
74319         always true.
74320         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
74321
74322         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
74323
74324 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74325
74326         * gnulib-tool (func_version): Create output all at once.  This
74327         may help avoid triggering unnecessary SIGPIPEs, and at any
74328         rate it doesn't hurt.
74329
74330 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74331             Bruno Haible  <bruno@clisp.org>
74332
74333         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
74334         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
74335         * m4/signed.m4 (bh_C_SIGNED): Likewise.
74336
74337         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
74338         (gl_FUNC_VASPRINTF): Invoke it.
74339
74340 2006-09-22  Bruno Haible  <bruno@clisp.org>
74341
74342         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
74343         getloadavg.c as first argument.
74344
74345 2006-09-22  Bruno Haible  <bruno@clisp.org>
74346
74347         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
74348         at the beginning of the gl_INIT macro.
74349         * modules/getloadavg (configure.ac): Pass $gl_source_base to
74350         gl_GETLOADAVG.
74351
74352 2006-09-22  Bruno Haible  <bruno@clisp.org>
74353
74354         * gnulib-tool (func_create_megatestdir): Don't include the config-h
74355         module.
74356         Suggested by Ralf Wildenhues.
74357
74358 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
74359
74360         Import this patch from libc:
74361
74362         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
74363
74364         * lib/regex_internal.c (re_string_reconstruct): Handle
74365         offset < pstr->valid_raw_len && pstr->offsets_needed case.
74366         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
74367         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
74368         re_string_context_at.
74369
74370         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
74371         now requires it.
74372         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
74373         gl_REGEX now does it for us.
74374         (gl_REGEX): Add test taken from
74375         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
74376
74377         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
74378         Check that large offsets work.  Modernize Autoconf usages.
74379         Prefer "yes" to mean a good thing rather than a bad.
74380         Don't put "#define mkstemp" in config.h, as this might interfere
74381         with standard system headers that "#define mkstemp mkstemp64".
74382
74383         * modules/mkstemp (Depends-on): Add extensions, so that
74384         mkstemp is visible on some platforms.
74385         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
74386         (Include): Change to "mkstemp.h" from <stdlib.h>.
74387         (Files): Add mkstemp.h.
74388
74389         * lib/mkstemp.h: New file, since some standard headers
74390         #define mkstemp.
74391         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
74392         Include "mkstemp.h".
74393         Make the _LIBC code resemble glibc original more,
74394         e.g., use K&R style.
74395         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
74396         (mkstemp): Remove, since mkstemp.h does this for us.
74397         * lib/stdlib--.h: Include mkstemp.h.
74398
74399         Import this patch from libc:
74400
74401         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
74402
74403         * lib/tempname.c (__gen_tempname): Change attempts_min
74404         into a macro.  Use preprocessor to decide how to initialize
74405         attempts [Coverity CID 67].
74406
74407 2006-09-20  Bruno Haible  <bruno@clisp.org>
74408
74409         * lib/mkdtemp.c: Import from libc.
74410         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
74411                 * sysdeps/posix/tempname.c (__gen_tempname): Change
74412                 attempts_min into a macro.  Use preprocessor to decide how to
74413                 initialize attempts [Coverity CID 67].
74414         2001-11-27  Paul Eggert  <eggert@twinsun.com>
74415                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
74416                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
74417
74418 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74419
74420         * gnulib-tool (func_exit): New function, to allow to pass the
74421         exit status portably through the trap.  Use everywhere.
74422         (--help, --version): Signal a write error.
74423         (trap): catch SIGPIPE, for write errors.
74424         Exit at the end of the trap, with the correct exit status.
74425
74426 2006-09-19  Karl Berry  <karl@gnu.org>
74427
74428         * doc/gnulib.texi: note about the license texinfo files.
74429
74430 2006-09-19  Eric Blake  <ebb9@byu.net>
74431
74432         * gnulib-tool: Avoid space-tab.
74433
74434 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
74435
74436         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
74437         that prevented coreutils 6.1 from building.  Problem reported
74438         by Petter Reinholdtsen.
74439
74440 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
74441
74442         * gnulib-tool (avoidlist): Fix typo that broke options like
74443         --avoid=lock that are used by coreutils bootstrap.
74444
74445 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
74446
74447         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
74448         more systematically.
74449
74450 2006-09-18  Jim Meyering  <jim@meyering.net>
74451
74452         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
74453
74454 2006-09-18  Bruno Haible  <bruno@clisp.org>
74455
74456         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
74457
74458 2006-09-18  Bruno Haible  <bruno@clisp.org>
74459
74460         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
74461         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
74462         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
74463         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
74464         * m4/gettext.m4: Require autoconf >= 2.52.
74465         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
74466         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
74467         of gl_cv_header_inttypes_h.
74468
74469 2006-09-18  Bruno Haible  <bruno@clisp.org>
74470
74471         * lib/javaversion.c: Include configmake.h.
74472
74473 2006-09-18  Bruno Haible  <bruno@clisp.org>
74474
74475         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
74476         avoid that the while loops be executed in a subshell.
74477
74478 2006-09-18  Bruno Haible  <bruno@clisp.org>
74479
74480         * MODULES.html.sh (func_module): Break long lines.
74481         Suggested by Bruce Korb <bkorb@gnu.org>.
74482
74483 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74484
74485         Speed up by a factor of 1.12.
74486         * gnulib-tool (nl): New variable.
74487         (func_import): Rewrite include directive extraction to only read each
74488         directive once.
74489
74490 2006-09-17  Bruno Haible  <bruno@clisp.org>
74491
74492         * modules/javaversion (Makefile.am): Remove DEFS setting.
74493         (Depends-on): Add configmake, for PKGDATADIR definition.
74494
74495 2006-09-17  Bruno Haible  <bruno@clisp.org>
74496
74497         * gnulib-tool (func_create_testdir): Rewrite all files at once.
74498
74499 2006-09-17  Bruno Haible  <bruno@clisp.org>
74500
74501         * gnulib-tool (func_append): New function, stolen from libtool.m4.
74502         (func_modules_transitive_closure, func_modules_add_dummy,
74503         func_modules_to_filelist, func_import, func_create_testdir,
74504         func_create_megatestdir, ...): Use it wherever possible.
74505         Suggested by Ralf Wildenhues.
74506
74507 2006-09-16  Karl Berry  <karl@gnu.org>
74508
74509         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
74510         to avoid sectioning errors.
74511         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
74512         [ifinfo]: blank line after @center-ed titles.
74513         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
74514         Spell FSF address consistently with others.
74515         (These changes approved by rms.)
74516
74517 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74518
74519         Speed up by a factor of 1.61.
74520         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
74521         already checked module names again.
74522
74523 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74524
74525         Speed up by a factor of 1.13.
74526         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
74527         for new_files, and the input to func_add_or_update.
74528
74529 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74530
74531         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
74532         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
74533
74534 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74535
74536         * modules/mkancesdirs (Depends-on): Add fcntl.
74537         * modules/savewd: New file.
74538         * MODULES.html.sh (File system functions): Add savewd.
74539
74540         * modules/configmake (Makefile.am): Add support for the
74541         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
74542
74543 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74544
74545         * m4/savewd.m4: New file.
74546
74547 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74548
74549         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
74550         (dirchownmod): New arg FD.  All callers changed.
74551         Use FD rather than opening the directory ourself, as opening is
74552         now the caller's responsibility.
74553         * lib/dirchownmod.h: Likewise.
74554         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
74555         hosts that require <sys/types.h> before <sys/stat.h>.  Include
74556         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
74557         (test_dir): Remove.
74558         (mkancesdirs): Return length of prefix of FILE that has already
74559         been made, or -2 if there is a child doing the work.  Redo
74560         algorithm so that it is O(N) rather than O(N**2).  Optimize away
74561         ".", and treat ".." specially since it might stray back into
74562         already-created areas.  Use a subprocess if necessary.  New arg
74563         WD; all users changed.  MAKE_DIR function should now return 1
74564         if it creates a directory that is not readable.  Return -2 if
74565         a child process is spun off.
74566         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
74567         Adjust signature to match code.
74568         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
74569         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
74570         all users changed.
74571         * lib/savewd.c, lib/savewd.h: New files.
74572
74573 2006-09-15  Jim Meyering  <jim@meyering.net>
74574
74575         * modules/rename-dest-slash: New module.
74576         * MODULES.html.sh (posix_compat): Add it here.
74577
74578         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
74579
74580 2006-09-15  Jim Meyering  <jim@meyering.net>
74581
74582         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
74583         file.
74584
74585         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
74586
74587 2006-09-15  Jim Meyering  <jim@meyering.net>
74588
74589         * lib/rename-dest-slash.c (has_trailing_slash): Use
74590         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
74591         (rpl_rename_dest_slash): Perform the cheaper trailing slash
74592         test before testing whether SRC is a directory.
74593         Suggestions from Bruno Haible.
74594
74595         Avoid a warning about an unused variable.
74596         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
74597         into the #ifdef block where it's used.
74598
74599         * lib/rename-dest-slash.c: New file.
74600
74601 2006-09-14  Bruno Haible  <bruno@clisp.org>
74602
74603         * lib/allocsa.c: Include <config.h> unconditionally.
74604         * lib/asnprintf.c: Likewise.
74605         * lib/asprintf.c: Likewise.
74606         * lib/c-strcasecmp.c: Likewise.
74607         * lib/c-strcasestr.c: Likewise.
74608         * lib/c-strncasecmp.c: Likewise.
74609         * lib/c-strstr.c: Likewise.
74610         * lib/classpath.c: Likewise.
74611         * lib/clean-temp.c: Likewise.
74612         * lib/concatpath.c: Likewise.
74613         * lib/copy-file.c: Likewise.
74614         * lib/csharpcomp.c: Likewise.
74615         * lib/csharpexec.c: Likewise.
74616         * lib/execute.c: Likewise.
74617         * lib/fatal-signal.c: Likewise.
74618         * lib/findprog.c: Likewise.
74619         * lib/fwriteerror.c: Likewise.
74620         * lib/gl_array_list.c: Likewise.
74621         * lib/gl_array_oset.c: Likewise.
74622         * lib/gl_avltree_list.c: Likewise.
74623         * lib/gl_avltree_oset.c: Likewise.
74624         * lib/gl_avltreehash_list.c: Likewise.
74625         * lib/gl_carray_list.c: Likewise.
74626         * lib/gl_linked_list.c: Likewise.
74627         * lib/gl_linkedhash_list.c: Likewise.
74628         * lib/gl_list.c: Likewise.
74629         * lib/gl_oset.c: Likewise.
74630         * lib/gl_rbtree_list.c: Likewise.
74631         * lib/gl_rbtree_oset.c: Likewise.
74632         * lib/gl_rbtreehash_list.c: Likewise.
74633         * lib/imaxabs.c: Likewise.
74634         * lib/imaxdiv.c: Likewise.
74635         * lib/javacomp.c: Likewise.
74636         * lib/javaexec.c: Likewise.
74637         * lib/javaversion.c: Likewise.
74638         * lib/linebreak.c: Likewise.
74639         * lib/localcharset.c: Likewise.
74640         * lib/lock.c: Likewise.
74641         * lib/mbchar.c: Likewise.
74642         * lib/mbswidth.c: Likewise.
74643         * lib/mkdtemp.c: Likewise.
74644         * lib/pipe.c: Likewise.
74645         * lib/printf-args.c: Likewise.
74646         * lib/printf-parse.c: Likewise.
74647         * lib/progname.c: Likewise.
74648         * lib/progreloc.c: Likewise.
74649         * lib/readlink.c: Likewise.
74650         * lib/sh-quote.c: Likewise.
74651         * lib/stpcpy.c: Likewise.
74652         * lib/stpncpy.c: Likewise.
74653         * lib/strcasecmp.c: Likewise.
74654         * lib/strcasestr.c: Likewise.
74655         * lib/strcspn.c: Likewise.
74656         * lib/striconv.c: Likewise.
74657         * lib/strncasecmp.c: Likewise.
74658         * lib/strnlen1.c: Likewise.
74659         * lib/strstr.c: Likewise.
74660         * lib/strtok_r.c: Likewise.
74661         * lib/tls.c: Likewise.
74662         * lib/tmpdir.c: Likewise.
74663         * lib/unicodeio.c: Likewise.
74664         * lib/unsetenv.c: Likewise.
74665         * lib/vasnprintf.c: Likewise.
74666         * lib/vasprintf.c: Likewise.
74667         * lib/wait-process.c: Likewise.
74668         * lib/xallocsa.c: Likewise.
74669         * lib/xsetenv.c: Likewise.
74670         * lib/xstriconv.c: Likewise.
74671
74672 2006-09-13  Simon Josefsson  <jas@extundo.com>
74673
74674         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
74675         that internally, suggested by Ralf Wildenhues
74676         <Ralf.Wildenhues@gmx.de>.
74677
74678 2006-09-13  Simon Josefsson  <jas@extundo.com>
74679
74680         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
74681         @LIBOBJS@.
74682         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74683
74684 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74685
74686         * lib/_fpending.c: Include <config.h> unconditionally, since we no
74687         longer worry about uses that don't define HAVE_CONFIG_H.
74688         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
74689         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
74690         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
74691         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
74692         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
74693         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
74694         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
74695         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
74696         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
74697         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
74698         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
74699         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
74700         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
74701         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
74702         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
74703         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
74704         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
74705         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
74706         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
74707         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
74708         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
74709         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
74710         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
74711         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
74712         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
74713         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
74714         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
74715         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
74716         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
74717         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
74718         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
74719         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
74720         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
74721         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
74722         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
74723         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
74724         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
74725         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
74726         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
74727         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
74728         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
74729         Likewise.
74730
74731 2006-09-13  Eric Blake  <ebb9@byu.net>
74732
74733         * lib/getopt.c: Fix typo in last commit.
74734
74735 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
74736
74737         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
74738         dgettext.
74739
74740 2006-09-12  Jim Meyering  <jim@meyering.net>
74741
74742         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
74743         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
74744         Reported by Nelson H. F. Beebe.
74745
74746 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
74747
74748         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
74749         program_invocation_name and program_invocation_short_name are
74750         initialized.
74751         * lib/argp-namefrob.h: Move declarations of program_invocation_name
74752         and program_invocation_short_name to argp.h, so they are visible
74753         to user programs.
74754         * lib/argp.h: Likewise
74755
74756 2006-09-10  Bruno Haible  <bruno@clisp.org>
74757
74758         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
74759         m4/inttypes_h.m4, m4/uintmax_t.m4.
74760
74761 2006-09-10  Bruno Haible  <bruno@clisp.org>
74762
74763         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
74764         gl_AC_TYPE_UINTMAX_T.
74765
74766 2006-09-10  Bruno Haible  <bruno@clisp.org>
74767
74768         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
74769
74770 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
74771
74772         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
74773         convention.  Text proposed by Bruno Haible.
74774         (struct argp_option): Document the use of N_() wrappers.
74775
74776         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
74777         '\v', and translate the two parts separately, instead of feeding
74778         the whole string to gettext.  This allows to exclude
74779         '\v' from the strings visible to the translator by writing doc
74780         strings as N_("..") "\v" N_("..").
74781
74782 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
74783
74784         * config/srclist.txt: Undo latest change; the bug was fixed.
74785
74786 2006-09-09  Bruno Haible  <bruno@clisp.org>
74787
74788         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
74789         assignments if building a library without libtool.
74790         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
74791         in func_emit_lib_Makefile_am.
74792         (func_import): When building a static library libfoo.a, arrange to
74793         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
74794         (func_create_testdir): Likewise.
74795         * modules/gc (configure.ac, Makefile.am): If building statically,
74796         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
74797         * modules/iconvme (configure.ac, Makefile.am): Likewise.
74798         * modules/striconv (configure.ac, Makefile.am): Likewise.
74799         Based on a suggestion by Ralf Wildenhues.
74800
74801 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74802
74803         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
74804         Check for unistd.h too, since Autoconf doesn't assume POSIX.
74805         Also:
74806
74807         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74808         Add year_2050_test to catch glibc bug 2821
74809         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
74810
74811         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74812         Prefer #ifdef to #if.
74813
74814         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
74815         Return from 'main' instead of calling 'exit'.
74816
74817 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74818
74819         * lib/mktime.c (guess_time_tm): Fix bug where mktime
74820         returned the maximum time_t value rather than (time_t) -1.
74821         Problem originally reported by William Bardwell
74822         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
74823
74824         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
74825         Moved to here ...
74826         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
74827         ... from here.
74828
74829 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74830
74831         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
74832         2821 is fixed.
74833
74834 2006-09-08  Jim Meyering  <jim@meyering.net>
74835
74836         Don't make generated files read-only.  That would bother too many
74837         people.  However, do retain the ability to work when targets are
74838         read-only: remove the destination and temporary files before writing
74839         them (when generated via sed or echo), or by using the -f option for
74840         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
74841         * modules/alloca-opt, modules/argz, modules/arpa_inet:
74842         * modules/byteswap, modules/configmake, modules/fcntl:
74843         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
74844         * modules/localcharset, modules/netinet_in, modules/poll:
74845         * modules/stdbool, modules/stdint, modules/sys_select:
74846         * modules/sys_socket, modules/sys_stat, modules/sysexits:
74847
74848 2006-09-08  Jim Meyering  <jim@meyering.net>
74849
74850         Avoid new build failure on FreeBSD 6.0.
74851         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
74852         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
74853         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
74854
74855 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74856
74857         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
74858
74859 2006-09-07  Jim Meyering  <jim@meyering.net>
74860
74861         Fix global typo in last change: use chmod u-w, not chmod u-x.
74862         Spotted by Paul Eggert and Bruce Korb.
74863         * modules/alloca-opt, modules/argz, modules/arpa_inet:
74864         * modules/byteswap, modules/configmake, modules/fcntl:
74865         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
74866         * modules/localcharset, modules/netinet_in, modules/poll:
74867         * modules/stdbool, modules/stdint, modules/sys_select:
74868         * modules/sys_socket, modules/sys_stat, modules/sysexits:
74869
74870 2006-09-06  Jim Meyering  <jim@meyering.net>
74871
74872         Make generated files be read-only.
74873         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
74874         Ensure that each generated file is now read-only.
74875         * modules/argz: Likewise.
74876         * modules/arpa_inet: Likewise.
74877         * modules/byteswap: Likewise.
74878         * modules/configmake: Likewise.
74879         * modules/fcntl: Likewise.
74880         * modules/fnmatch: Likewise.
74881         * modules/getopt: Likewise.
74882         * modules/glob: Likewise.
74883         * modules/inttypes: Likewise.
74884         * modules/netinet_in: Likewise.
74885         * modules/poll: Likewise.
74886         * modules/stdbool: Likewise.
74887         * modules/stdint: Likewise.
74888         * modules/sys_select: Likewise.
74889         * modules/sys_socket: Likewise.
74890         * modules/sys_stat: Likewise.
74891         * modules/sysexits: Likewise.
74892         * modules/localcharset: Same as above, but continue using temporary
74893         file named "t-$@" (why different?) rather than the "$@-t" used
74894         everywhere else.
74895
74896         * modules/sysexits (Makefile.am): Replace literal occurrences
74897         of "sysexit.h" more readable, and more consistent, "$@".
74898
74899 2006-09-06  Bruno Haible  <bruno@clisp.org>
74900
74901         * modules/striconv: New file.
74902         * modules/xstriconv: New file.
74903         * MODULES.html.sh (Internationalization functions): Add striconv,
74904         xstriconv.
74905
74906 2006-09-06  Bruno Haible  <bruno@clisp.org>
74907
74908         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
74909         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
74910         not using libtool correctly.
74911
74912 2006-09-06  Bruno Haible  <bruno@clisp.org>
74913
74914         * lib/striconv.h: New file.
74915         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
74916         iconvstring.c.
74917         * lib/xstriconv.h: New file.
74918         * lib/xstriconv.c: New file.
74919
74920 2006-09-06  Bruno Haible  <bruno@clisp.org>
74921
74922         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
74923         lib_..._LDFLAGS.
74924
74925 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74926
74927         * lib/argz_.h: Sync from Libtool.
74928
74929         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
74930                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
74931
74932         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
74933
74934 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
74935
74936         * modules/trim: New file.
74937
74938 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
74939
74940         * lib/trim.h: New file.
74941         * lib/trim.c: New file.
74942
74943 2006-09-05  Bruno Haible  <bruno@clisp.org>
74944
74945         * MODULES.html.sh (String handling): Add trim.
74946
74947 2006-09-04  Karl Berry  <karl@gnu.org>
74948
74949         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
74950         until next release.
74951
74952 2006-09-03  Bruno Haible  <bruno@clisp.org>
74953
74954         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
74955         correctly.
74956
74957 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74958
74959         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
74960         not gl_GETLOADAVG.  Omit unneeded semicolons.
74961         Problems reported by Ralf Wildenhues in
74962         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
74963         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
74964         at the end, which is the usual gnulib style.
74965
74966         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
74967         of doing all the work ourselves.
74968         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
74969         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
74970
74971 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74972
74973         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
74974         Problem reported by Ralf Wildenhues in
74975         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
74976
74977         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
74978         HAVE_STRUCT_STATFS_F_FSTYPENAME.
74979
74980 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74981
74982         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
74983         yesterday's patch by changing test -n to test -z.
74984
74985 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74986
74987         * modules/getloadavg (Files): Add m4/getloadavg.m4.
74988         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
74989         the former is now obsolescent.
74990
74991         * modules/chdir-long (Depends-on): Add fcntl.
74992
74993 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74994
74995         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
74996         obsolescent, and programs should use gnulib instead.
74997         * m4/getloadavg.m4: New file, with contents taken from Autoconf
74998         but with prefixes changed.
74999
75000 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75001
75002         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
75003         or stdbool.h, because they might not exist while configuring.
75004
75005         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
75006         Don't include unistd.h or limits.h; not needed, since chdir-long.h
75007         does that for us.
75008         (O_DIRECTORY): Remove.
75009
75010 2006-08-31  Eric Blake  <ebb9@byu.net>
75011
75012         * gnulib-tool: Don't let emacs change spaces to TAB.
75013
75014 2006-08-31  Bruno Haible  <bruno@clisp.org>
75015
75016         * gnulib-tool: When calling func_import more than once, do it in a
75017         subshell.
75018         Reported by Eric Blake <ebb9@byu.net>.
75019
75020 2006-08-31  Bruno Haible  <bruno@clisp.org>
75021
75022         * gnulib-tool (nl): Remove variable.
75023         (sed_transform_lib_file): Use more robust test for config-h module.
75024         (func_import): Fix typo in 2006-08-25 patch.
75025
75026 2006-08-31  Bruno Haible  <bruno@clisp.org>
75027
75028         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
75029         specified, augment Makefile.am variables instead of assigning them.
75030
75031 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75032
75033         Work around a bug in both the Linux and SunOS 64-bit kernels:
75034         nanosleep mishandles sleeps for longer than 2**31 seconds.
75035         Problem reported by Frank v Waveren in
75036         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
75037         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
75038         Check for nanosleep bug.
75039         (LIB_NANOSLEEP): Append clock_gettime library if needed.
75040
75041 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75042
75043         Work around a bug in both the Linux and SunOS 64-bit kernels:
75044         nanosleep mishandles sleeps for longer than 2**31 seconds.
75045         Problem reported by Frank v Waveren in
75046         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
75047         * lib/nanosleep.c (BILLION): New constant.
75048         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
75049         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
75050         implementation.
75051
75052 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75053
75054         * modules/nanosleep (Depends-on): Add gettime.
75055
75056 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75057         and Simon Josefsson  <jas@extundo.com>
75058         and Oskar Liljeblad  <oskar@osk.mine.nu>
75059
75060         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
75061         * gnulib-tool (func_import): New license type 'unmodifiable license
75062         text'.
75063         * modules/fdl: Use it.  Longer description.
75064         * module/gpl, module/lgpl: New files.
75065
75066 2006-08-30  Jim Meyering  <jim@meyering.net>
75067
75068         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
75069         shadowing the parameter.
75070
75071 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75072
75073         Sync from Libtool:
75074
75075         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75076
75077         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
75078         sharing with gnulib.  Report by Eric Blake.
75079
75080 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75081
75082         * modules/isapipe: New file.
75083         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
75084
75085 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75086
75087         * modules/configmake (Makefile.am): Add a comment, and omit
75088         the CONFIGMAKE_ prefix from generated macro names.  Suggested
75089         by Bruno Haible.
75090
75091 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75092
75093         * m4/isapipe.m4: New file.
75094
75095 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75096
75097         * lib/isapipe.c, lib/isapipe.h: New files.
75098
75099 2006-08-29  Jim Meyering  <jim@meyering.net>
75100
75101         * modules/configmake (Makefile.am): Make configmake.h depend on
75102         Makefile.  Otherwise, a stale configmake.h could hang around.
75103
75104 2006-08-29  Eric Blake  <ebb9@byu.net>
75105
75106         * lib/error.c (error_at_line, print_errno_message): Match libc, after
75107         resolution of upstream bug 3044.
75108
75109 2006-08-29  Bruno Haible  <bruno@clisp.org>
75110
75111         * modules/localcharset (Depends-on): Add configmake.
75112         (Makefile.am): Remove setting of LIBDIR through DEFS.
75113
75114 2006-08-29  Bruno Haible  <bruno@clisp.org>
75115
75116         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
75117         defined.
75118
75119 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75120
75121         * modules/fcntl: New file.
75122         * modules/chdir-safer (Depends-on): Add fcntl.
75123         * modules/fts: Likewise.
75124         * modules/mkdir-p: Likewise.
75125
75126         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
75127         This undoes the most recent change, since we're now addressing the
75128         problem in a different way.
75129
75130         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
75131         into output, since the output might be called Makefile.am even
75132         if $makefile_name is something different.
75133         (func_import): Use $makefile_am rather than
75134         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
75135         empty.
75136
75137         * modules/inttypes (Files): Add m4/inttypes-h.m4.
75138
75139 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75140
75141         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
75142         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
75143         recent change to stdint.m4, since we're now addressing the problem in a
75144         different way.
75145
75146 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75147
75148         * m4/fcntl_h.m4: New file.
75149
75150 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75151
75152         * lib/fcntl_.h: New file.
75153         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
75154         the fcntl module.
75155         * lib/dirchownmod.c: Likewise.
75156         * lib/fts.c: Likewise.
75157
75158         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
75159         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
75160         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
75161         just before including <inttypes.h>, to avoid circular inclusion.
75162
75163 2006-08-28  Jim Meyering  <jim@meyering.net>
75164
75165         * doc/visibility.texi: Actually read and correct the grammar of the
75166         sentence affected by yesterday's change.
75167
75168 2006-08-28  Eric Blake  <ebb9@byu.net>
75169
75170         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
75171         needs wrapper.
75172
75173 2006-08-28  Eric Blake  <ebb9@byu.net>
75174
75175         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
75176
75177 2006-08-28  Eric Blake  <ebb9@byu.net>
75178
75179         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
75180
75181 2006-08-28  Bruno Haible  <bruno@clisp.org>
75182
75183         * modules/c-strstr: New file, from GNU gettext.
75184         * MODULES.html.sh (String handling): Add c-strstr.
75185
75186 2006-08-28  Bruno Haible  <bruno@clisp.org>
75187
75188         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
75189         macros.
75190         Reported by Eric Blake.
75191
75192 2006-08-28  Bruno Haible  <bruno@clisp.org>
75193
75194         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
75195         (VASNPRINTF): Return a string of length > INT_MAX without failing.
75196         * lib/vasprintf.c: Include errno.h, limits.h.
75197         (EOVERFLOW): New fallback definition.
75198         (vasprintf): Test here whether the string length is > INT_MAX.
75199         * lib/vsnprintf.c: Include errno.h, limits.h.
75200         (EOVERFLOW): New fallback definition.
75201         (vsnprintf): Fix bug when generated string was too long for the buffer.
75202         Test here whether the string length is > INT_MAX.
75203
75204 2006-08-28  Bruno Haible  <bruno@clisp.org>
75205
75206         * lib/inttypes_.h (SCNX*): Remove definitions.
75207         Reported by Eric Blake.
75208
75209 2006-08-28  Bruno Haible  <bruno@clisp.org>
75210
75211         * lib/c-strstr.h: New file, from GNU gettext.
75212         * lib/c-strstr.c: New file, from GNU gettext.
75213
75214 2006-08-28  Bruno Haible  <bruno@clisp.org>
75215
75216         * gnulib-tool: Reorder some statements.
75217
75218 2006-08-28  Bruno Haible  <bruno@clisp.org>
75219
75220         * gnulib-tool: New option --makefile-name.
75221         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
75222         $makefile_name.
75223         (func_import): Write $makefile_name to the cache file, and read it from
75224         there unless explicitly specified. Use $makefile_name as file name
75225         instead of Makefile.am. Adjust the recommendations accordingly.
75226
75227 2006-08-28  Bruno Haible  <bruno@clisp.org>
75228
75229         * gnulib-tool (func_verify_module): Check against misapplying patch.
75230
75231 2006-08-28  Bruno Haible  <bruno@clisp.org>
75232
75233         * gnulib-tool (func_relativize, func_relconcat): New functions.
75234         Give an error if --local-dir is given with --update.
75235         Remove trailing slashes from $local_gnulib_dir.
75236         (func_import): Store the relativized $local_gnulib_dir in
75237         gnulib-cache.m4, and read it from there if not specified explicitly.
75238
75239 2006-08-28  Bruno Haible  <bruno@clisp.org>
75240
75241         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
75242         is the current directory. Respect also $local_gnulib_dir.
75243
75244 2006-08-28  Bruno Haible  <bruno@clisp.org>
75245             Simon Josefsson  <jas@extundo.com>
75246
75247         BeOS portability.
75248         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
75249
75250 2006-08-27  Jim Meyering  <jim@meyering.net>
75251
75252         * doc/visibility.texi: Remove duplicate word: "pointer".
75253
75254 2006-08-26  Bruno Haible  <bruno@clisp.org>
75255
75256         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
75257         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
75258         (Makefile.am): Create inttypes.h from inttypes_.h.
75259         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
75260
75261         * modules/imaxabs: New file.
75262
75263         * modules/imaxdiv: New file.
75264
75265 2006-08-26  Bruno Haible  <bruno@clisp.org>
75266
75267         * m4/inttypes.m4: New file.
75268         * m4/_inttypes_h.m4: Remove file.
75269         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
75270         PRI_MACROS_BROKEN.
75271         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
75272
75273         * m4/imaxabs.m4: New file.
75274
75275         * m4/imaxdiv.m4: New file.
75276
75277 2006-08-26  Bruno Haible  <bruno@clisp.org>
75278
75279         * lib/inttypes_.h: New file.
75280         * lib/inttypes.h: Remove file.
75281         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
75282
75283         * lib/imaxabs.c: New file.
75284
75285         * lib/imaxdiv.c: New file.
75286
75287 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75288
75289         New config-h module, so that "make" output needn't be cluttered
75290         by -DHAVE_CONFIG_H.
75291         * MODULES.html.sh (Support for building libraries and executables):
75292         Add config-h.
75293         * modules/config-h: New file.
75294         * gnulib-tool (nl, sed_transform_lib_file): New vars.
75295         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
75296         the config-h module is used.
75297
75298         New configmake module, so that "make" output needn't be cluttered
75299         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
75300         * MODULES.html.sh (Support for building libraries and executables):
75301         Add configmake.
75302         * modules/configmake: New file.
75303
75304 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75305
75306         * m4/config-h.m4: New file.
75307
75308 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75309
75310         * config/srclist.txt: Add elisp-comp.
75311
75312 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75313
75314         * MODULES.html.sh (Support for building libraries and executables):
75315         Add elisp-comp.
75316         * build-aux/elisp-comp: New file.
75317         * modules/elisp-comp: New file.
75318
75319 2006-08-24  Bruno Haible  <bruno@clisp.org>
75320
75321         * gnulib-tool (func_create_testdir): Use non-default values of
75322         sourcebase and m4base.
75323
75324 2006-08-24  Bruno Haible  <bruno@clisp.org>
75325
75326         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
75327         HTML structure.
75328
75329 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75330
75331         * modules/openat (Depends-on): Add lchown.
75332
75333 2006-08-23  Bruno Haible  <bruno@clisp.org>
75334
75335         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
75336         of gl_LOCK_EARLY instead of gl_LOCK.
75337
75338 2006-08-23  Bruno Haible  <bruno@clisp.org>
75339
75340         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
75341         on OSF/1 to no.
75342         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
75343
75344 2006-08-23  Bruno Haible  <bruno@clisp.org>
75345
75346         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
75347         as unusable.
75348
75349         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
75350         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
75351         (gl_LOCK): New macro.
75352
75353 2006-08-22  Simon Josefsson  <jas@extundo.com>
75354
75355         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
75356         to md5 module.
75357
75358 2006-08-22  Simon Josefsson  <jas@extundo.com>
75359
75360         * MODULES.html.sh: Add "Support for maintaining and release
75361         projects".
75362
75363         * build-aux/gnupload: New file, from coreutils.
75364
75365 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
75366
75367         Avoid the need for AC_LIBSOURCES in m4 macros.
75368         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
75369         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
75370         * modules/check-version (EXTRA_DIST): Add check-version.h.
75371         * modules/crc (EXTRA_DIST): Add crc.h.
75372         * modules/des (EXTRA_DIST): Add des.h.
75373         * modules/gc (EXTRA_DIST): Add gc.h.
75374         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
75375         * modules/getline (EXTRA_DIST): Add getline.h.
75376         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
75377         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
75378         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
75379         * modules/md2 (EXTRA_DIST): Add md2.h.
75380         * modules/md4 (EXTRA_DIST): Add md4.h.
75381         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
75382         * modules/read-file (EXTRA_DIST): Add read-file.h.
75383         * modules/readline (EXTRA_DIST): Add readline.h.
75384         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
75385         rijndael-api-fst.h.
75386
75387 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
75388
75389         * m4/rijndael.m4 (gl_ARCFOUR):
75390         * m4/arctwo.m4 (gl_ARCTWO):
75391         * m4/check-version.m4 (gl_CHECK_VERSION):
75392         * m4/crc.m4 (gl_CRC):
75393         * m4/des.m4 (gl_DES):
75394         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
75395         * m4/gc.m4 (gl_GC):
75396         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
75397         * m4/getline.m4 (gl_FUNC_GETLINE):
75398         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
75399         * m4/hmac-md5.m4 (gl_HMAC_MD5):
75400         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
75401         * m4/md2.m4 (gl_MD2):
75402         * m4/md4.m4 (gl_MD4):
75403         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
75404         * m4/read-file.m4 (gl_FUNC_READ_FILE):
75405         * m4/readline.m4 (gl_FUNC_READLINE):
75406         * m4/rijndael.m4 (gl_RIJNDAEL):
75407         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
75408         to get the necessary .h files and whatnot.
75409
75410 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
75411
75412         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
75413         gnulib rather than the other way around.
75414         * config/srclistvars.sh (COREUTILS): Remove.
75415
75416 2006-08-22  Jim Meyering  <jim@meyering.net>
75417
75418         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
75419
75420         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
75421
75422 2006-08-22  Eric Blake  <ebb9@byu.net>
75423
75424         * modules/regexprops-generic: New file.
75425         * MODULES.html.sh (Support for building documentation): List it.
75426
75427 2006-08-22  Eric Blake  <ebb9@byu.net>
75428
75429         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
75430         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
75431         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
75432         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
75433
75434 2006-08-22  Bruno Haible  <bruno@clisp.org>
75435
75436         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
75437         and lib_LTLIBRARIES like the other lib_* variables.
75438
75439 2006-08-22  Bruno Haible  <bruno@clisp.org>
75440
75441         * build-aux/x-to-1.in: New file, from GNU gettext.
75442
75443 2006-08-22  Bruno Haible  <bruno@clisp.org>
75444
75445         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
75446         <utmpx.h> exists.
75447
75448 2006-08-22  Bruno Haible  <bruno@clisp.org>
75449
75450         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
75451         <utmpx.h> exists.
75452
75453 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75454
75455         BeOS portability.
75456         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
75457         exist.
75458         Problem reported by Bruno Haible.
75459
75460 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75461
75462         Avoid the need for AC_LIBSOURCES in m4 macros.
75463         * modules/acl (EXTRA_DIST): Add acl.h.
75464         * modules/argmatch (Files): Add m4/argmatch.m4.
75465         (configure.ac): Add gl_ARGMATCH.
75466         (EXTRA_DIST): Renamed from lib_SOURCES, for
75467         consistency with the other modules.  Remove argmatch.c.
75468         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
75469         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
75470         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
75471         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
75472         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
75473         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
75474         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
75475         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
75476         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
75477         * modules/closeout (EXTRA_DIST): Add closeout.h.
75478         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
75479         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
75480         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
75481         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
75482         dirname.h; remove basename.c and stripslash.c.
75483         * modules/exclude (EXTRA_DIST): Add exclude.h.
75484         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
75485         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
75486         * modules/file-type (EXTRA_DIST): Add file-type.h.
75487         * modules/filemode (EXTRA_DIST): Add filemode.h.
75488         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
75489         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
75490         * modules/fpending (EXTRA_DIST): Add __fpending.h.
75491         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
75492         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
75493         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
75494         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
75495         * modules/getdate (EXTRA_DIST): Add getdate.c.
75496         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
75497         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
75498         * modules/getpass (EXTRA_DIST): Add getpass.h.
75499         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
75500         * modules/group-member (EXTRA_DIST): Add group-member.h.
75501         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
75502         * modules/hash (EXTRA_DIST): Add hash.h.
75503         * modules/human (EXTRA_DIST): Add human.h.
75504         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
75505         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
75506         * modules/lchown (EXTRA_DIST): Add lchown.h.
75507         * modules/long-options (EXTRA_DIST): Add long-options.h.
75508         * modules/lstat (EXTRA_DIST): Add lstat.h.
75509         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
75510         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
75511         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
75512         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
75513         * modules/memxor (EXTRA_DIST): Add memxor.h.
75514         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
75515         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
75516         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
75517         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
75518         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
75519         * modules/physmem (EXTRA_DIST): Add physmem.h.
75520         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
75521         * modules/posixver (EXTRA_DIST): Add posixver.h.
75522         * modules/quote (EXTRA_DIST): Add quote.h.
75523         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
75524         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
75525         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
75526         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
75527         regex_internal.h regexec.c.
75528         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
75529         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
75530         * modules/same (EXTRA_DIST): Add same.h.
75531         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
75532         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
75533         * modules/savedir (EXTRA_DIST): Add savedir.h.
75534         * modules/sha1 (EXTRA_DIST): Add sha1.h.
75535         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
75536         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
75537         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
75538         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
75539         * modules/strdup (EXTRA_DIST): Add strdup.h.
75540         * modules/strftime (EXTRA_DIST): Add strftime.h.
75541         * modules/strndup (EXTRA_DIST): Add strndup.h.
75542         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
75543         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
75544         * modules/time_r (EXTRA_DIST): Add time_r.h.
75545         * modules/timespec (EXTRA_DIST): Add timespec.h.
75546         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
75547         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
75548         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
75549         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
75550         * modules/userspec (EXTRA_DIST): Add userspec.h.
75551         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
75552         * modules/utimens (EXTRA_DIST): Add utimens.h.
75553         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
75554         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
75555         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
75556         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
75557         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
75558         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
75559         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
75560         * modules/yesno (EXTRA_DIST): Add yesno.h.
75561
75562 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75563
75564         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
75565
75566         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
75567         * m4/dev-ino.m4, same-inode.m4: Remove.
75568
75569         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
75570         * m4/acl.m4 (AC_FUNC_ACL):
75571         * m4/backupfile.m4 (gl_BACKUPFILE):
75572         * m4/c-strtod.m4 (gl_C99_STRTOLD):
75573         * m4/canon-host.m4 (gl_CANON_HOST):
75574         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
75575         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
75576         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
75577         * m4/cloexec.m4 (gl_CLOEXEC):
75578         * m4/close-stream.m4 (gl_CLOSE_STREAM):
75579         * m4/closeout.m4 (gl_CLOSEOUT):
75580         * m4/dirfd.m4 (gl_FUNC_DIRFD):
75581         * m4/dirname.m4 (gl_DIRNAME):
75582         * m4/exclude.m4 (gl_EXCLUDE):
75583         * m4/exitfail.m4 (gl_EXITFAIL):
75584         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
75585         * m4/file-type.m4 (gl_FILE_TYPE):
75586         * m4/filemode.m4 (gl_FILEMODE):
75587         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
75588         * m4/fpending.m4 (gl_FUNC_FPENDING):
75589         * m4/fprintftime.m4 (gl_FPRINTFTIME):
75590         * m4/fts.m4 (gl_FUNC_FTS):
75591         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
75592         * m4/getdate.m4 (gl_GETDATE):
75593         * m4/gethrxtime.m4 (gl_GETHRXTIME):
75594         * m4/getpagesize.m4 (gl_GETPAGESIZE):
75595         * m4/getpass.m4 (gl_FUNC_GETPASS):
75596         * m4/gettime.m4 (gl_GETTIME):
75597         * m4/getugroups.m4 (gl_GETUGROUPS):
75598         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
75599         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
75600         * m4/hard-locale.m4 (gl_HARD_LOCALE):
75601         * m4/hash.m4 (gl_HASH):
75602         * m4/idcache.m4 (gl_IDCACHE):
75603         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
75604         * m4/lchown.m4 (gl_FUNC_LCHOWN):
75605         * m4/long-options.m4 (gl_LONG_OPTIONS):
75606         * m4/lstat.m4 (gl_FUNC_LSTAT):
75607         * m4/md5.m4 (gl_MD5):
75608         * m4/memcasecmp.m4 (gl_MEMCASECMP):
75609         * m4/memcoll.m4 (gl_MEMCOLL):
75610         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
75611         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
75612         * m4/memxor.m4 (gl_MEMXOR):
75613         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
75614         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
75615         * m4/modechange.m4 (gl_MODECHANGE):
75616         * m4/mountlist.m4 (gl_MOUNTLIST):
75617         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
75618         * m4/openat.m4 (gl_FUNC_OPENAT):
75619         * m4/pathmax.m4 (gl_PATHMAX):
75620         * m4/physmem.m4 (gl_PHYSMEM):
75621         * m4/posixtm.m4 (gl_POSIXTM):
75622         * m4/posixver.m4 (gl_POSIXVER):
75623         * m4/quote.m4 (gl_QUOTE):
75624         * m4/quotearg.m4 (gl_QUOTEARG):
75625         * m4/readtokens.m4 (gl_READTOKENS):
75626         * m4/readutmp.m4 (gl_READUTMP):
75627         * m4/regex.m4 (gl_REGEX):
75628         * m4/safe-read.m4 (gl_SAFE_READ):
75629         * m4/safe-write.m4 (gl_SAFE_WRITE):
75630         * m4/same.m4 (gl_SAME):
75631         * m4/save-cwd.m4 (gl_SAVE_CWD):
75632         * m4/savedir.m4 (gl_SAVEDIR):
75633         * m4/settime.m4 (gl_SETTIME):
75634         * m4/sha1.m4 (gl_SHA1):
75635         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
75636         * m4/stat-macros.m4 (gl_STAT_MACROS):
75637         * m4/stat-time.m4 (gl_STAT_TIME):
75638         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
75639         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
75640         * m4/strdup.m4 (gl_FUNC_STRDUP):
75641         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
75642         * m4/strndup.m4 (gl_FUNC_STRNDUP):
75643         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
75644         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
75645         * m4/time_r.m4 (gl_TIME_R):
75646         * m4/timespec.m4 (gl_TIMESPEC):
75647         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
75648         * m4/unlinkdir.m4 (gl_UNLINKDIR):
75649         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
75650         * m4/userspec.m4 (gl_USERSPEC):
75651         * m4/utimecmp.m4 (gl_UTIMECMP):
75652         * m4/utimens.m4 (gl_UTIMENS):
75653         * m4/xalloc.m4 (gl_XALLOC):
75654         * m4/xgetcwd.m4 (gl_XGETCWD):
75655         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
75656         * m4/xreadlink.m4 (gl_XREADLINK):
75657         * m4/xstrtod.m4 (gl_XSTRTOD):
75658         * m4/yesno.m4 (gl_YESNO):
75659         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
75660         to get the necessary .h files and whatnot.
75661
75662 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
75663             Bruno Haible  <bruno@clisp.org>
75664
75665         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
75666         /bin/sh understanding of '!' conditional negation.
75667
75668 2006-08-21  Jim Meyering  <jim@meyering.net>
75669
75670         * modules/openat (Depends-on): Really alphabetize.
75671
75672         * modules/acl (Depends-on): Add error and quote.
75673
75674         * check-module (find_included_lib_files): Add at-func.c to the
75675         ok-to-include-more-than-once white list.
75676
75677         * modules/openat (Depends-on): Add lstat.  Alphabetize.
75678
75679 2006-08-21  Bruno Haible  <bruno@clisp.org>
75680
75681         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75682         Emit a pkgdata_DATA variable only if some snippets add contents to it.
75683         Reported by Martin Lambers <marlam@marlam.de>.
75684
75685 2006-08-21  Bruno Haible  <bruno@clisp.org>
75686
75687         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
75688         specify an installation location, don't emit a noinst_LIBRARIES or
75689         noinst_LTLIBRARIES assignment.
75690
75691 2006-08-21  Bruno Haible  <bruno@clisp.org>
75692
75693         BeOS portability.
75694         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
75695         BeOS has mbrtowc() but no <wctype.h>.
75696
75697 2006-08-21  Bruno Haible  <bruno@clisp.org>
75698
75699         BeOS portability.
75700         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
75701         exist.
75702
75703 2006-08-21  Bruno Haible  <bruno@clisp.org>
75704
75705         BeOS portability.
75706         * lib/mbchar.h: Include <wctype.h> only if it exists.
75707
75708 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75709
75710         Remove files that are no longer needed by their respective modules.
75711         * m4/obstack.m4: Remove.
75712         * m4/strerror_r.m4: Remove.
75713         * m4/uint32_t.m4: Remove.
75714         * m4/uintptr_t.m4: Remove.
75715         * m4/ullong_max.m4: Remove.
75716         * m4/xstrtoimax.m4: Remove.
75717         * m4/xstrtoumax.m4: Remove.
75718
75719         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
75720         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
75721         dependencies now capture this.
75722
75723         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
75724         Do not use AC_LIBSOURCES, since gnulib modules now do this.
75725         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
75726         * m4/human.m4 (gl_HUMAN): Likewise.
75727         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
75728         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
75729
75730         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
75731
75732         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
75733         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
75734         stdint.
75735         * m4/human.m4 (gl_HUMAN): Likewise.
75736         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
75737         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
75738         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75739         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75740         * m4/xstrtol (gl_XSTRTOL): Likewise.
75741
75742         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
75743         AC_TYPE_LONG_LONG_INT.
75744         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75745         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
75746         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
75747         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75748
75749         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
75750         on stdbool.
75751
75752         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
75753         (gl_PREREQ_XSTRTOUL): Remove.
75754
75755         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
75756
75757         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
75758         mode.
75759
75760 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75761
75762         Add and change modules to make it easier for coreutils to use
75763         gnulib-tool.
75764         * modules/backupfile (Files): Remove m4/d-ino.m4.
75765         (Depends-on): Add d-ino.
75766         * modules/cycle-check (Depends-on): Add stdint.
75767         (lib_SOURCES): Add cycle-check.h.
75768         * modules/d-ino: New module.
75769         * modules/d-type: New module.
75770         * modules/error (Files): Remove m4/strerror_r.m4.
75771         * modules/filemode (Files): Add m4/st_dm_mode.m4.
75772         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75773         m4/inttypes_h.m4, m4/uintmax_t.m4.
75774         (Depends-on): Add stdint.
75775         (lib_SOURCES): Add fsusage.h.
75776         * modules/getcwd (Files): Remove d-ino.m4.
75777         (Depends-on): Add d-ino.
75778         * modules/getndelim2 (Depends-on): Add stdint.
75779         * modules/glob (Files): Remove m4/d-type.m4.
75780         (Depends-on): Add d-type.
75781         * modules/host-os: New module.
75782         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
75783         m4/inttypes_h.m4, m4/uintmax_t.m4.
75784         * Depends-on: Add stdint.
75785         (lib_SOURCES): Add human.h.
75786         * modules/inttostr (Files): Remove m4/intmax_t.m4,
75787         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
75788         m4/uintmax_t.m4, m4/ulonglong.m4.
75789         (Depends-on): Add stdint.
75790         (EXTRA_DIST): Add inttostr.h.
75791         * modules/lchmod: New module.
75792         * modules/link-follow: New module.
75793         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
75794         (Depends-on): Add lchmod.
75795         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
75796         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
75797         (Depends-on): Add stdint.
75798         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
75799         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
75800         (Depends-on): Add stdint.
75801         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
75802         * modules/perl: New module.
75803         * modules/regex (Depends-on): Add stdint.
75804         * modules/rmdir-errno: New module.
75805         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
75806         m4/intmax_t.m4.
75807         (Depends-on): Add stdint.
75808         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
75809         m4/uintmax_t.m4.
75810         (Depends-on): Add stdint.
75811         * modules/unlink-busy: New module.
75812         * modules/utimecmp (Depends-on): Add stdint.
75813         * modules/uptime: New module.
75814         * modules/winsz-ioctl: New module.
75815         * modules/winsz-termios: New module.
75816         * modules/xnanosleep (Depends-on): Add nanosleep.
75817         * modules/ullong_max: Remove.
75818         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
75819         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
75820         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
75821         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
75822         (Depends-on): Add inttypes.
75823         (lib_SOURCES): Add xstrtol.h.
75824         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
75825         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
75826         * MODULES.html.sh: Move 'assert' into the assert section.
75827         Move 'dummy' into the linking section.
75828         Remove ullong_max.
75829         Add section for compatibility checks for POSIX:2001 functions,
75830         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
75831         winsz-ioctl, and winsz-termios into it.
75832         Add lchmod.
75833         Add top-level Misc section and put host-os, perl, and uptime
75834         into it.
75835
75836 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75837
75838         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
75839         now assume the stdint module.  Do not include inttypes.h.
75840         * lib/fsusage.h: Likewise.
75841         * lib/getndelim2.c: Likewise.
75842         * lib/human.h: Likewise.
75843         * lib/inttostr.h: Likewise.
75844         * lib/obstack.c: Likewise.
75845         * lib/regex_internal.h: Likewise.
75846         * lib/tempname.c: Likewise.
75847         * lib/utimecmp.c: Likewise.
75848         * lib/xstrtol.h: Likewise.
75849
75850         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
75851
75852         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
75853         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
75854         * lib/xtime.h: Likewise.
75855
75856 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75857
75858         * modules/openat (Files): Add lib/fchmodat.c.
75859         Fixes problem reported by Jay Youngman.
75860
75861 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75862
75863         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
75864         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
75865
75866 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
75867             Bruno Haible  <bruno@clisp.org>
75868
75869         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
75870         and is a script that invokes bison. Tighten the code. Add comments.
75871
75872 2006-08-18  Jim Meyering  <jim@meyering.net>
75873
75874         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
75875         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
75876         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
75877         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
75878
75879 2006-08-18  Bruno Haible  <bruno@clisp.org>
75880
75881         * modules/bison-i18n: New file.
75882         * MODULES.html.sh (Internationalization functions): Add it.
75883
75884 2006-08-18  Bruno Haible  <bruno@clisp.org>
75885
75886         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
75887         sys/statvfs.h. When getmntinfo was found, check its declaration and
75888         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
75889
75890 2006-08-18  Bruno Haible  <bruno@clisp.org>
75891
75892         * m4/bison-i18n.m4: New file, from bison.
75893
75894 2006-08-18  Bruno Haible  <bruno@clisp.org>
75895
75896         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
75897         (ME_DUMMY): Treat "kernfs" as a dummy.
75898         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
75899
75900 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75901
75902         Update from coreutils.
75903
75904         2006-08-15  Jim Meyering  <jim@meyering.net>
75905
75906         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
75907
75908         2006-01-17  Jim Meyering  <jim@meyering.net>
75909
75910         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
75911
75912         2006-01-11  Jim Meyering  <jim@meyering.net>
75913
75914         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
75915         Check for the lchmod function.
75916
75917 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75918
75919         Update from coreutils.
75920
75921         * lib/__fpending.h: Add copyright notice.
75922         * lib/fprintftime.h: Likewise.
75923         * lib/savedir.c: Use (C) in copyright notice.
75924         * lib/savedir.h: Likewise.
75925
75926         2006-08-15  Jim Meyering  <jim@meyering.net>
75927
75928         * lib/at-func.c: New file, with the logic of all emulated at-functions.
75929         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
75930         in support of the EXPECTED_ERRNO macro.
75931         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
75932         definitions.  Instead, define the appropriate symbols and include
75933         "at-func.c".
75934         * lib/mkdirat.c (mkdirat): Likewise.
75935         * lib/fchmodat.c (fchmodat): Likewise.
75936         (ENOSYS): Remove definition.
75937         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
75938         it.  Don't include "unistd--.h" -- it wasn't ever used.
75939
75940         2006-01-17  Jim Meyering  <jim@meyering.net>
75941
75942         Rewrite fts.c not to change the current working directory,
75943         by using openat, fstatat, fdopendir, etc..
75944
75945         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
75946         (HAVE_OPENAT_SUPPORT): Define.
75947         [_LIBC] (fchdir): Don't undef or define; no longer used.
75948         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
75949         Now, this `function' always succeeds, and consumes its file descriptor
75950         parameter -- so callers must not close such FDs.  Update callers.
75951         (diropen_fd, opendirat, cwd_advance_fd): New functions.
75952         (diropen): Add parameter, SP.  Adjust all callers.
75953         Implement using diropen_fd, rather than open.
75954         (fts_open): Initialize new member, fts_cwd_fd.
75955         Remove fts_rft-setting code.
75956         (fts_close): Close fts_cwd_fd, if necessary.
75957         (__opendir2): Define in terms of opendir or opendirat,
75958         depending on whether the FST_NOCHDIR flag is set.
75959         (fts_build): Since fts_safe_changedir consumes its FD, and since
75960         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
75961         and close the dup'd file descriptor upon failure.
75962         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
75963         (fts_safe_changedir): Tweak semantics to reflect that this function
75964         now calls cwd_advance_fd and hence consumes its FD argument.
75965         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
75966         [struct FTS] (fts_rft): Remove now-unused member.
75967         [struct FTS] (fts_cycle.state): Improve comment.
75968
75969         * lib/openat.c (openat_needs_fchdir): New function.
75970         * lib/openat.h (openat_needs_fchdir): Declare it.
75971
75972 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75973
75974         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
75975         Problem and fix reported by Pádraig Brady in
75976         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
75977
75978 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75979
75980         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
75981
75982 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75983
75984         * lib/memcoll.c (memcoll): Optimize for the common case where the
75985         arguments are bytewise equal.
75986
75987 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75988
75989         * doc/regexprops-generic.texi: Add a copyright notice.
75990
75991 2006-08-15  Bruno Haible  <bruno@clisp.org>
75992
75993         * modules/tmpdir (License): Change to LGPL.
75994
75995 2006-08-15  Bruno Haible  <bruno@clisp.org>
75996
75997         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
75998         module.
75999
76000 2006-08-14  Simon Josefsson  <jas@extundo.com>
76001
76002         * config/srclist.txt: Add gnupload.
76003
76004 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76005
76006         Change copyright notice from LGPL 2 to GPL 2, since that's the
76007         standard form used in the gnulib repository.
76008         * tests/test-lock.c: Likewise.
76009         * tests/test-stdint.c: Likewise.
76010         * tests/test-tls.c: Likewise.
76011
76012         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
76013         prelude-manager.  User shorter URLs for GNU projects, without '?'.
76014         Add copyright notice.
76015
76016         * check-module: Add copyright notice.  Output a copyright
76017         notice if "--version" is specified.
76018         * modules/COPYING: New file.
76019         * tests/test-getaddrinfo.c: Add copyright notice.
76020         * tests/test-verify.c: Likewise.
76021
76022 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76023
76024         Change copyright notice from LGPL 2 to GPL 2, since that's the
76025         standard form used in the gnulib repository.
76026         * lib/lock.c: LGPL -> GPL.
76027         * lib/lock.h: Likewise.
76028         * lib/strnlen1.c: Likewise.
76029         * lib/strnlen1.h: Likewise.
76030         * lib/tls.c: Likewise.
76031         * lib/tls.h: Likewise.
76032         * lib/tmpdir.c: Likewise.
76033
76034         * lib/TODO: Remove; this belongs only in coreutils.
76035
76036 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76037
76038         Add copyright notices to long-enough files that lack them, since
76039         otherwise the files aren't clearly free.  Use the same notice that
76040         getdate.texi already uses.
76041         * doc/alloca-opt.texi: Add copyright notice.
76042         * doc/alloca.texi: Likewise.
76043         * doc/ctime.texi: Likewise.
76044         * doc/functions.texi: Likewise.
76045         * doc/gcd.texi: Likewise.
76046         * doc/gnulib-tool.texi: Likewise.
76047         * doc/inet_ntoa.texi: Likewise.
76048         * doc/visibility.texi: Likewise.
76049
76050         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
76051         * doc/quote.texi: Add copyright notice.
76052
76053         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
76054         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
76055         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
76056         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
76057         is now obsolete, and give a pointer to the Sun list.
76058         Add copyright notice.
76059
76060 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76061
76062         * config/srclistvars.sh: Add copyright notice.
76063
76064 2006-08-14  Eric Blake  <ebb9@byu.net>
76065
76066         Import the following change from libc:
76067
76068         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
76069
76070         Upstream bug 2997.
76071         * lib/misc/error.c: Add space between program name and message if file
76072         name is missing.
76073
76074 2006-08-12  Karl Berry  <karl@gnu.org>
76075
76076         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
76077         remove, these originate in gnulib now.
76078
76079 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76080
76081         * doc/Makefile (standards.info standards.html standards.dvi):
76082         Also depend on make-stds.texi.
76083
76084 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
76085
76086         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
76087         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
76088
76089         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
76090         in wchar_t.  Problem reported by Eric Blake.
76091
76092         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
76093         LEN is smaller than SIZE.  Suggested by Bruno Haible.
76094         Also, help the compiler to keep LEN in a register.
76095
76096 2006-08-11  Eric Blake  <ebb9@byu.net>
76097
76098         * users.txt: Sort.  Add tar.
76099
76100 2006-08-11  Bruno Haible  <bruno@clisp.org>
76101
76102         * users.txt: New file.
76103
76104 2006-08-11  Bruno Haible  <bruno@clisp.org>
76105
76106         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
76107         before <wchar.h>. Needed for OSF/1 and BSD/OS.
76108
76109 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
76110
76111         * modules/snprintf (Depends-on): Remove minmax.
76112         (Maintainer): Add self and Bruno.
76113
76114 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
76115
76116         * lib/.cppi-disable: Add snprintf.h, socket_.h.
76117         * lib/snprintf.c: Include <errno.h> and <limits.h>.
76118         (EOVERFLOW): Define if the system does not.
76119         Do not include "minmax.h"; it wasn't used.
76120         (snprintf): Don't assume size_t promotes to an unsigned type.
76121         Fix bug when generated string was too long for the buffer: the
76122         buffer's contents are supposed to be the initial prefix of the
76123         output.  Don't assume vasnprintf returns EOVERFLOW if the size
76124         exceeds INT_MAX; do the check ourselves.
76125
76126         Import the following changes from libc:
76127
76128         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
76129
76130         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
76131         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
76132         set wc to the byte which couldn't be converted.
76133         (re_string_reconstruct): Don't clear valid_raw_len before calling
76134         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
76135         tip_context using re_string_context_at.
76136
76137         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
76138
76139         * lib/posix/regex.h: g++ still cannot handled [restrict].
76140
76141         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
76142
76143         * lib/posix/regex.h: Remove special handling for VMS.
76144
76145 2006-08-10  Jim Meyering  <jim@meyering.net>
76146
76147         * modules/same-inode: New module.
76148         * modules/dev-ino: New module.
76149         * modules/cycle-check: Depend on these modules, rather than simply
76150         including their .h files.
76151         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
76152         required via m4/cycle-check.m4.
76153         * modules/same: Depend on new same-inode module, rather than
76154         including same-inode.h.
76155         * modules/chdir-safer: New file.
76156
76157         * modules/chown (Depends-on): Add stat-macros.
76158
76159 2006-08-10  Jim Meyering  <jim@meyering.net>
76160
76161         * m4/cycle-check.m4: New file.
76162         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
76163         * m4/dev-ino.m4, m4/same-inode.m4: New files.
76164
76165 2006-08-10  Eric Blake  <ebb9@byu.net>
76166
76167         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
76168         in from original proposal.
76169
76170 2006-08-10  Eric Blake  <ebb9@byu.net>
76171         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
76172
76173         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
76174         namespace.
76175
76176 2006-08-10  Bruno Haible  <bruno@clisp.org>
76177
76178         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
76179         as well.
76180
76181 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76182
76183         Sync from coreutils.
76184
76185         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
76186
76187         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
76188         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
76189
76190 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76191
76192         * modules/restrict: Remove; no longer needed now that we assume
76193         Autoconf 2.59 or later.
76194         * MODULES.html.sh: Remove 'restrict'.
76195         * modules/argp (Depends-on): Remove 'restrict'.
76196         * modules/base64 (Depends-on): Likewise.
76197         * modules/gc (Depends-on): Likewise.
76198         * modules/getaddrinfo (Depends-on): Likewise.
76199         * modules/glob (Depends-on): Likewise.
76200         * modules/inet_ntop (Depends-on): Likewise.
76201         * modules/inet_pton (Depends-on): Likewise.
76202         * modules/memxor (Depends-on): Likewise.
76203         * modules/regex (Depends-on): Likewise.
76204         * modules/strtok_r (Depends-on): Likewise.
76205         * modules/time_r (Depends-on): Likewise.
76206
76207 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76208
76209         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
76210         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
76211         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
76212         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
76213         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
76214         * m4/memxor.m4 (gl_MEMXOR): Likewise.
76215         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
76216         gl_C_RESTRICT replaced by AC_C_RESTRICT.
76217
76218         Merge from coreutils.
76219         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
76220         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
76221         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
76222         * m4/time_r.m4 (gl_TIME_R): Likewise.
76223
76224 2006-08-09  Karl Berry  <karl@gnu.org>
76225
76226         * config/srclist.txt: no more gettext-tools, per Bruno.
76227
76228 2006-08-08  Eric Blake  <ebb9@byu.net>
76229
76230         * modules/verror: New module.
76231         * MODULES.html.sh: Document it.
76232
76233 2006-08-08  Eric Blake  <ebb9@byu.net>
76234
76235         * lib/verror.h, lib/verror.c: New files.
76236
76237 2006-08-08  Eric Blake  <ebb9@byu.net>
76238
76239         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
76240         verror_at_line output complies with GNU Coding Standards even when
76241         file is NULL.
76242
76243 2006-08-07  Bruno Haible  <bruno@clisp.org>
76244
76245         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
76246         versions of AIX.
76247         Reported by Ralf Wildenhues.
76248
76249 2006-08-07  Bruno Haible  <bruno@clisp.org>
76250
76251         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
76252         in an AC_DEFUN. Needed so that the autoconf snippets can use
76253         AC_REQUIRE.
76254
76255 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76256
76257         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76258         Initialize pkgdata_DATA.
76259         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
76260         overriding it.
76261
76262 2006-08-06  Eric Blake  <ebb9@byu.net>
76263
76264         * lib/error.h: Fold in some upstream changes from glibc.
76265         * lib/error.c: Likewise.
76266
76267 2006-08-04  Bruno Haible  <bruno@clisp.org>
76268
76269         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76270         Make the mostlyclean-local rule depend on mostlyclean-generic.
76271         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
76272
76273 2006-07-31  Bruno Haible  <bruno@clisp.org>
76274
76275         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
76276         <stdlib.h>, <string.h>.
76277
76278 2006-07-30  Bruno Haible  <bruno@clisp.org>
76279
76280         * modules/readlink (License): Change to LGPL.
76281
76282 2006-07-30  Bruno Haible  <bruno@clisp.org>
76283
76284         * modules/javaversion (Makefile.am): Distribute javaversion.java and
76285         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
76286         set PKGDATADIR to point to it.
76287
76288 2006-07-30  Bruno Haible  <bruno@clisp.org>
76289
76290         * modules/csharpexec (configure.ac): Comment out macro invocation.
76291         * modules/javaexec (configure.ac): Likewise.
76292         * modules/javacomp-script (configure.ac): Likewise.
76293
76294         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
76295
76296 2006-07-30  Bruno Haible  <bruno@clisp.org>
76297
76298         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
76299         linked-list.
76300
76301 2006-07-30  Bruno Haible  <bruno@clisp.org>
76302
76303         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
76304
76305 2006-07-30  Bruno Haible  <bruno@clisp.org>
76306
76307         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76308         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
76309         get removed.
76310
76311 2006-07-29  Bruno Haible  <bruno@clisp.org>
76312
76313         Make it possible for gnulib-tool to work with locally modified or
76314         augmented gnulib repositories.
76315         * gnulib-tool (func_usage): Document --local-dir option.
76316         (local_gnulib_dir): New variable.
76317         Handle --local-dir option.
76318         (func_lookup_file): New function.
76319         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
76320         (func_get_description, func_get_filelist, func_get_description,
76321         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
76322         func_get_automake_snippet, func_get_include_directive,
76323         func_get_license, func_get_maintainer): Use func_lookup_file.
76324         (func_import, func_create_testdir): Use func_lookup_file.
76325
76326 2006-07-29  Bruno Haible  <bruno@clisp.org>
76327
76328         * modules/setenv (Depends-on): Add unistd.
76329
76330 2006-07-29  Bruno Haible  <bruno@clisp.org>
76331
76332         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
76333
76334 2006-07-29  Bruno Haible  <bruno@clisp.org>
76335
76336         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
76337
76338 2006-07-29  Bruno Haible  <bruno@clisp.org>
76339
76340         * gnulib-tool (import, update): If there is no Makefile.am, look at
76341         aclocal.m4, instead of bailing out.
76342
76343 2006-07-29  Bruno Haible  <bruno@clisp.org>
76344
76345         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
76346         Categorize the options by when they are useful.
76347
76348 2006-07-29  Bruno Haible  <bruno@clisp.org>
76349
76350         * gnulib-tool (func_usage): Document option --no-libtool.
76351         Handle option --no-libtool.
76352         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
76353         for changed semantics of $libtool variable.
76354         (func_import): Likewise. If libtool is not used, show this through
76355         an option --no-libtool.
76356         (func_create_testdir): Update.
76357
76358 2006-07-29  Bruno Haible  <bruno@clisp.org>
76359
76360         * gnulib-tool (func_import): Extend error message about missing
76361         --doc-base.
76362
76363 2006-07-29  Bruno Haible  <bruno@clisp.org>
76364
76365         * gnulib-tool (func_import): Don't create the $docbase directory if
76366         there is no file to store there.
76367
76368 2006-07-29  Bruno Haible  <bruno@clisp.org>
76369
76370         * gnulib-tool (autoconf_minversion): If a --dir option is given and
76371         relevant, look for configure.ac there, not in the current directory.
76372         Also use a simple search for AC_PREREQ, not "autoconf --trace".
76373
76374 2006-07-29  Bruno Haible  <bruno@clisp.org>
76375
76376         * gnulib-tool (SORT): New variable.
76377         (func_usage): Undocument --assume-autoconf option.
76378         Remove --assume-autoconf option handling.
76379         (autoconf_minversion): Determine from the contents of configure.ac.
76380         (func_import): Remove autoconf_minversion handling.
76381         Suggested by Eric Blake.
76382
76383 2006-07-29  Bruno Haible  <bruno@clisp.org>
76384
76385         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
76386
76387 2006-07-29  Bruno Haible  <bruno@clisp.org>
76388
76389         * config/srclist.txt (*setenv.[ch]): Remove rules.
76390
76391 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76392
76393         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
76394
76395 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76396
76397         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
76398         arpa/inet.h.
76399
76400 2006-07-28  Simon Josefsson  <jas@extundo.com>
76401
76402         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
76403         * modules/inet_pton (Depends-on): Likewise.
76404
76405 2006-07-28  Simon Josefsson  <jas@extundo.com>
76406
76407         * m4/netinet_in_h.m4: New file.
76408
76409 2006-07-28  Simon Josefsson  <jas@extundo.com>
76410
76411         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
76412         #include's.
76413
76414 2006-07-28  Simon Josefsson  <jas@extundo.com>
76415
76416         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
76417         #include's.
76418
76419 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
76420
76421         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
76422         setgid on directories only if they set these bits.
76423         * lib/modechange.h: Remove obsolete comment about masks.
76424
76425 2006-07-28  Eric Blake  <ebb9@byu.net>
76426
76427         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
76428         macro expansion.
76429
76430 2006-07-28  Bruno Haible  <bruno@clisp.org>
76431
76432         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
76433
76434 2006-07-28  Bruno Haible  <bruno@clisp.org>
76435
76436         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
76437
76438 2006-07-28  Bruno Haible  <bruno@clisp.org>
76439
76440         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
76441         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
76442         Define fallbacks.
76443         Avoids link error on FreeBSD 4.x.
76444         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76445
76446         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
76447         encoding.
76448         * lib/mbswidth.c (iswcntrl): Likewise.
76449
76450 2006-07-27  Bruno Haible  <bruno@clisp.org>
76451
76452         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
76453         test.
76454
76455 2006-07-27  Bruno Haible  <bruno@clisp.org>
76456
76457         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
76458         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
76459         defined.
76460
76461 2006-07-26  Eric Blake  <ebb9@byu.net>
76462
76463         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
76464
76465 2006-07-26  Eric Blake  <ebb9@byu.net>
76466
76467         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
76468         like mingw that lack mkstemp.
76469         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
76470         avoid compilation warning on mingw.
76471
76472 2006-07-26  Bruno Haible  <bruno@clisp.org>
76473
76474         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
76475         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
76476         INT_FAST*_MIN, INTPTR_MIN.
76477
76478 2006-07-25  Bruno Haible  <bruno@clisp.org>
76479
76480         * modules/version-etc (Depends-on): Add stdarg.
76481
76482 2006-07-25  Bruno Haible  <bruno@clisp.org>
76483
76484         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
76485         complex commands.
76486
76487 2006-07-25  Bruno Haible  <bruno@clisp.org>
76488
76489         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
76490         defined in <stdarg.h> or config.h.
76491
76492 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
76493
76494         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
76495         (gl_STDIO_SAFER): Remove.
76496
76497 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
76498
76499         * MODULES.html.sh (File stream based Input/Output):
76500         Add fopen-safer, tmpfile-safer; remove stdio-safer.
76501         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
76502         * modules/fopen-safer, modules/tmpfile-safer: New files.
76503         * modules/stdio-safer: Remove.
76504
76505 2006-07-24  Bruno Haible  <bruno@clisp.org>
76506
76507         * modules/tmpdir: New file.
76508         * MODULES.html.sh (File system functions): Add it.
76509
76510 2006-07-24  Bruno Haible  <bruno@clisp.org>
76511
76512         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
76513         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
76514
76515 2006-07-24  Bruno Haible  <bruno@clisp.org>
76516
76517         * modules/clean-temp: New file.
76518
76519 2006-07-24  Bruno Haible  <bruno@clisp.org>
76520
76521         * m4/tmpdir.m4: New file, from GNU gettext.
76522
76523 2006-07-24  Bruno Haible  <bruno@clisp.org>
76524
76525         * lib/tmpdir.h: New file, from GNU gettext.
76526         * lib/tmpdir.c: New file, from GNU gettext.
76527
76528 2006-07-24  Bruno Haible  <bruno@clisp.org>
76529
76530         * lib/clean-temp.h: New file, from GNU gettext.
76531         * lib/clean-temp.c: New file, from GNU gettext.
76532
76533 2006-07-23  Eric Blake  <ebb9@byu.net>
76534
76535         * modules/stdio-safer (Files): Add tmpfile-safer.c.
76536         (Depends-on): Add binary-io.
76537
76538 2006-07-23  Eric Blake  <ebb9@byu.net>
76539
76540         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
76541
76542 2006-07-23  Eric Blake  <ebb9@byu.net>
76543
76544         * lib/tmpfile-safer.c: New file.
76545         * lib/stdio-safer.h (fopen_safer): Add prototype.
76546         * lib/stdio--.h (tmpfile): Make safer.
76547
76548 2006-07-23  Bruno Haible  <bruno@clisp.org>
76549
76550         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
76551         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
76552         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
76553         gl_linked_remove_at): Use it.
76554
76555 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76556         and Simon Josefsson <jas@extundo.com>
76557
76558         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
76559
76560         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
76561
76562 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76563
76564         * modules/close-stream: New file.
76565         * modules/closeout (Description): Make it clear that it exits
76566         with a diagnostic on error.
76567         (Depends-on): Add close-stream.  Remove fpending, stdbool.
76568         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
76569
76570 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76571
76572         * m4/close-stream.m4: New file.
76573
76574 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76575
76576         * lib/close-stream.c, lib/close-stream.h: New files.
76577
76578 2006-07-22  Bruno Haible  <bruno@clisp.org>
76579
76580         Merge from GNU gettext 0.15.
76581
76582         2006-05-01  Bruno Haible  <bruno@clisp.org>
76583
76584                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
76585
76586         2006-07-22  Bruno Haible  <bruno@clisp.org>
76587
76588                 * modules/javaversion: New file.
76589                 * MODULES.html.sh (Java): Add javaversion.
76590
76591         2006-03-12  Bruno Haible  <bruno@clisp.org>
76592
76593                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
76594
76595         2005-12-04  Bruno Haible  <bruno@clisp.org>
76596
76597                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
76598                 (untested).
76599
76600         2006-06-21  Bruno Haible  <bruno@clisp.org>
76601
76602                 Avoid warnings from recent versions of mcs.
76603                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
76604                 -o, -L, -r any more. Use options documented since mcs-1.0
76605                 instead. Similarly for -g.
76606
76607         2005-12-04  Bruno Haible  <bruno@clisp.org>
76608
76609                 * build-aux/csharpcomp.sh.in: Suffix for resources is
76610                 .resources, not .resource.
76611
76612         2005-07-09  Bruno Haible  <bruno@clisp.org>
76613
76614                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
76615                 add a .dll suffix.
76616                 Reported by Mark Junker <mjscod@gmx.de>.
76617
76618         2006-07-22  Bruno Haible  <bruno@clisp.org>
76619
76620                 * modules/gettext: Upgrade to gettext-0.15.
76621                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
76622                 m4/visibility.m4.
76623                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
76624
76625 2006-07-22  Bruno Haible  <bruno@clisp.org>
76626
76627         Merge from GNU gettext 0.15.
76628
76629         2006-03-25  Bruno Haible  <bruno@clisp.org>
76630
76631                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
76632
76633         2006-07-21  Bruno Haible  <bruno@clisp.org>
76634
76635                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
76636                 "1.1".
76637
76638         2006-05-09  Bruno Haible  <bruno@clisp.org>
76639
76640                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
76641                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
76642                 for the conftestver execution.
76643
76644         2006-05-01  Bruno Haible  <bruno@clisp.org>
76645
76646                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
76647                 optional target-version argument. Verify that the compiler
76648                 groks source of the specified source-version, or add -source
76649                 option as necessary. Verify that the compiler produces
76650                 bytecode in the specified target-version, or add -target and
76651                 -source options as necessary. Make the result of the test
76652                 available as variable CONF_JAVAC. Also log error output in
76653                 config.log.
76654
76655         2006-03-11  Bruno Haible  <bruno@clisp.org>
76656
76657                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
76658
76659         2006-05-09  Bruno Haible  <bruno@clisp.org>
76660
76661                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
76662                 CLASSPATH_SEPARATOR to a semicolon.
76663
76664         2006-03-12  Bruno Haible  <bruno@clisp.org>
76665
76666                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
76667                 available as variable CONF_JAVA, for subsequent autoconf
76668                 tests. Also log error output in config.log.
76669
76670         2006-07-19  Bruno Haible  <bruno@clisp.org>
76671
76672                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
76673                 that getline works on glibc2 systems. Needed to avoid trouble
76674                 in relocatable.c.
76675                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
76676
76677         2005-12-04  Bruno Haible  <bruno@clisp.org>
76678
76679                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
76680                 launcher (untested).
76681
76682         2005-12-04  Bruno Haible  <bruno@clisp.org>
76683
76684                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
76685
76686         2006-07-22  Bruno Haible  <bruno@clisp.org>
76687
76688                 * gettext.m4: Update from GNU gettext-0.15.
76689                 * nls.m4: Likewise.
76690                 * po.m4: Likewise.
76691                 * inttypes-pri.m4: Likewise.
76692                 * inttypes-h.m4: Renamed from inttypes.m4.
76693                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
76694
76695 2006-07-22  Bruno Haible  <bruno@clisp.org>
76696
76697         Merge from GNU gettext 0.15.
76698
76699         2005-07-05  Bruno Haible  <bruno@clisp.org>
76700
76701                 * printf-args.c (printf_fetchargs): Work around broken
76702                 definition of wint_t on mingw.
76703
76704         2005-02-12  Bruno Haible  <bruno@clisp.org>
76705
76706                 * xallocsa.h: Add extern "C" for C++.
76707
76708         2006-05-17  Bruno Haible  <bruno@clisp.org>
76709
76710                 Cygwin portability.
76711                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
76712
76713         2006-04-30  Bruno Haible  <bruno@clisp.org>
76714
76715                 * progreloc.c: Include <mach-o/dyld.h> if available.
76716                 (find_executable): Use _NSGetExecutablePath when possible.
76717
76718         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76719
76720                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
76721                 function.
76722
76723         2005-12-29  Bruno Haible  <bruno@clisp.org>
76724
76725                 * progreloc.c (set_program_name_and_installdir): Fix
76726                 compilation error.
76727
76728         2005-12-04  Bruno Haible  <bruno@clisp.org>
76729
76730                 Cygwin portability.
76731                 * progreloc.c: Include <windows.h> also on Cygwin.
76732                 (find_executable): Add support for Cygwin.
76733                 (set_program_name_and_installdir): Handle also platforms with
76734                 nonempty EXEEXT.
76735
76736         2006-07-11  Bruno Haible  <bruno@clisp.org>
76737
76738                 * javacomp.c: Fix a comment.
76739                 Reported by Jim Meyering.
76740
76741         2006-04-30  Bruno Haible  <bruno@clisp.org>
76742
76743                 * javacomp.h (compile_java_class): Add source_version,
76744                 target_version arguments.
76745                 * javacomp.c: Rewritten to choose only a compiler that
76746                 respects the specified source_version and target_version.
76747
76748         2006-06-27  Bruno Haible  <bruno@clisp.org>
76749
76750                 Assume correct S_ISDIR macro.
76751                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
76752
76753         2006-07-22  Bruno Haible  <bruno@clisp.org>
76754
76755                 * javaversion.h: New file, from GNU gettext.
76756                 * javaversion.c: New file, from GNU gettext.
76757                 * javaversion.java: New file, from GNU gettext.
76758                 * javaversion.class: New file, from GNU gettext.
76759
76760         2006-05-17  Bruno Haible  <bruno@clisp.org>
76761
76762                 Cygwin portability.
76763                 * javaexec.c (execute_java_class): Test for jview program
76764                 also on Cygwin.
76765
76766         2006-04-09  Bruno Haible  <bruno@clisp.org>
76767
76768                 * fatal-signal.c: Don't include string.h.
76769                 (at_fatal_signal): Use a copying loop instead of memcpy.
76770
76771         2005-12-04  Bruno Haible  <bruno@clisp.org>
76772
76773                 * csharpexec.c: Add support for 'clix' launcher (untested).
76774                 (execute_csharp_using_sscli): New function.
76775                 (execute_csharp_program): Call it.
76776
76777         2006-06-21  Bruno Haible  <bruno@clisp.org>
76778
76779                 Avoid warnings from recent versions of mcs.
76780                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
76781                 -o, -L, -r any more. Use options documented since mcs-1.0
76782                 instead. Similarly for -g.
76783
76784         2005-07-09  Bruno Haible  <bruno@clisp.org>
76785
76786                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
76787                 add a .dll suffix.
76788                 Reported by Mark Junker <mjscod@gmx.de>.
76789
76790         2006-06-17  Bruno Haible  <bruno@clisp.org>
76791
76792                 * config.charset: Update for NetBSD 3.0.
76793
76794         2006-05-17  Bruno Haible  <bruno@clisp.org>
76795
76796                 Cygwin portability.
76797                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
76798
76799         2006-05-16  Bruno Haible  <bruno@clisp.org>
76800
76801                 * localcharset.c [CYGWIN]: Include <windows.h>.
76802                 (get_charset_aliases): For Cygwin, return the same CPxxx
76803                 aliases list as under WIN32.
76804                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
76805                 the environment variables. Fall back to GetACP().
76806
76807         2006-04-05  Bruno Haible  <bruno@clisp.org>
76808
76809                 * config.charset: Update Juan Manuel Guerrero's address.
76810
76811         2005-02-12  Bruno Haible  <bruno@clisp.org>
76812
76813                 * allocsa.h: Add extern "C" for C++.
76814
76815         2005-02-10  Bruno Haible  <bruno@clisp.org>
76816
76817                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
76818                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
76819
76820         2006-07-22  Bruno Haible  <bruno@clisp.org>
76821
76822                 * gettext.h: Update to GNU gettext-0.15.
76823
76824 2006-07-22  Bruno Haible  <bruno@clisp.org>
76825
76826         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
76827         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
76828         lib-prefix.m4, longdouble.m4, ssize_t.m4.
76829
76830 2006-07-21  Eric Blake  <ebb9@byu.net>
76831
76832         * modules/stdlib-safer: New file.
76833         * MODULES.html.sh (File stream based Input/Output): Add
76834         stdlib-safer.
76835
76836 2006-07-21  Eric Blake  <ebb9@byu.net>
76837
76838         * lib/stdlib-safer.h: New file from coreutils, required by
76839         stdlib--.h.
76840
76841 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
76842
76843         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
76844
76845 2006-07-20  Bruno Haible  <bruno@clisp.org>
76846
76847         * gnulib-tool: Recognize new option --assume-autoconf.
76848         (autoconf_minversion): New variable.
76849         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
76850
76851 2006-07-20  Bruno Haible  <bruno@clisp.org>
76852
76853         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
76854
76855 2006-07-19  Derek R. Price  <derek@ximbiot.com>
76856
76857         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
76858         Reindent and repaginate.
76859
76860 2006-07-19  Derek Price  <derek@ximbiot.com>
76861
76862         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
76863         Correct grammar.
76864
76865 2006-07-17  Bruno Haible  <bruno@clisp.org>
76866
76867         * modules/list: New file.
76868         * modules/array-list: New file.
76869         * modules/carray-list, modules/carray-list-tests: New files.
76870         * modules/linked-list, modules/linked-list-tests: New files.
76871         * modules/avltree-list, modules/avltree-list-tests: New files.
76872         * modules/rbtree-list, modules/rbtree-list-tests: New files.
76873         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
76874         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
76875         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
76876         * modules/oset: New file.
76877         * modules/array-oset: New file.
76878         * modules/avltree-oset, modules/avltree-oset-tests: New files.
76879         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
76880         * tests/test-carray_list.c: New file.
76881         * tests/test-linked_list.c: New file.
76882         * tests/test-avltree_list.c: New file.
76883         * tests/test-rbtree_list.c: New file.
76884         * tests/test-linkedhash_list.c: New file.
76885         * tests/test-avltreehash_list.c: New file.
76886         * tests/test-rbtreehash_list.c: New file.
76887         * tests/test-avltree_oset.c: New file.
76888         * tests/test-rbtree_oset.c: New file.
76889         * MODULES.html.sh (Container data structures): New section.
76890
76891 2006-07-17  Bruno Haible  <bruno@clisp.org>
76892
76893         * m4/gl_list.m4: New file.
76894
76895 2006-07-17  Bruno Haible  <bruno@clisp.org>
76896
76897         * lib/gl_list.h: New file.
76898         * lib/gl_list.c: New file.
76899         * lib/gl_array_list.h: New file.
76900         * lib/gl_array_list.c: New file.
76901         * lib/gl_carray_list.h: New file.
76902         * lib/gl_carray_list.c: New file.
76903         * lib/gl_linked_list.h: New file.
76904         * lib/gl_linked_list.c: New file.
76905         * lib/gl_anylinked_list1.h: New file.
76906         * lib/gl_anylinked_list2.h: New file.
76907         * lib/gl_avltree_list.h: New file.
76908         * lib/gl_avltree_list.c: New file.
76909         * lib/gl_anyavltree_list1.h: New file.
76910         * lib/gl_anyavltree_list2.h: New file.
76911         * lib/gl_rbtree_list.h: New file.
76912         * lib/gl_rbtree_list.c: New file.
76913         * lib/gl_anyrbtree_list1.h: New file.
76914         * lib/gl_anyrbtree_list2.h: New file.
76915         * lib/gl_anytree_list1.h: New file.
76916         * lib/gl_anytree_list2.h: New file.
76917         * lib/gl_linkedhash_list.h: New file.
76918         * lib/gl_linkedhash_list.c: New file.
76919         * lib/gl_anyhash_list1.h: New file.
76920         * lib/gl_anyhash_list2.h: New file.
76921         * lib/gl_avltreehash_list.h: New file.
76922         * lib/gl_avltreehash_list.c: New file.
76923         * lib/gl_rbtreehash_list.h: New file.
76924         * lib/gl_rbtreehash_list.c: New file.
76925         * lib/gl_anytreehash_list1.h: New file.
76926         * lib/gl_anytreehash_list2.h: New file.
76927
76928         * lib/gl_oset.h: New file.
76929         * lib/gl_oset.c: New file.
76930         * lib/gl_array_oset.h: New file.
76931         * lib/gl_array_oset.c: New file.
76932         * lib/gl_avltree_oset.h: New file.
76933         * lib/gl_avltree_oset.c: New file.
76934         * lib/gl_rbtree_oset.h: New file.
76935         * lib/gl_rbtree_oset.c: New file.
76936         * lib/gl_anytree_oset.h: New file.
76937
76938 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76939
76940         * m4/mkancesdirs.m4: New file.
76941         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
76942         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
76943         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
76944         it.
76945
76946 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76947
76948         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
76949         * lib/mkancesdirs.h: New files.
76950         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
76951         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
76952         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
76953         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
76954         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
76955         callers changed.  Revamp internals significantly, by not
76956         attempting to create directories that are temporarily more
76957         permissive than the final results.  Do not attempt to use
76958         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
76959         This removes some race conditions, fixes some bugs, and simplifies
76960         things.  Use new dirchownmod function to do owner and mode changes.
76961         * lib/mkdir-p.h: Likewise.
76962         * lib/modechange.c (octal_to_mode): New function.
76963         (struct mode_change): New member mentioned.
76964         (make_node_op_equals): New arg mentioned.  All callers changed.
76965         (mode_compile): Keep track of which mode bits the user has explicitly
76966         mentioned.
76967         (mode_adjust): New arg DIR, so that we implement the X op correctly.
76968         New arg PMODE_BITS, to keep track of which mode bits the user
76969         mentioned; it treats S_ISUID and S_ISGID speciall.
76970         All callers changed.
76971         * lib/modechange.h: Likewise.
76972
76973 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76974
76975         * MODULES.html.sh: Add mkancestors.
76976         * modules/mkancesdirs: New module.
76977         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
76978         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
76979         The chdir-safer and afs files are now orphans; I'll remove them
76980         unless someone speaks up.
76981         Add lib/dirchownmod.c, lib/dirchownmod.h.
76982         (Depends-on): Remove alloca, chown, save-cwd, dirname.
76983         Add lchown, mkancesdirs.
76984         (Maintainer): Add self.
76985
76986 2006-07-15  Karl Berry  <karl@gnu.org>
76987
76988         * gnulib-tool: help message wording/arrangement.
76989
76990 2006-07-14  Simon Josefsson  <jas@extundo.com>
76991
76992         * doc/gnulib.texi (Libtool and Windows): New section.
76993
76994 2006-07-12  Simon Josefsson  <jas@extundo.com>
76995
76996         * modules/gendocs (License): Fix license, approved by Karl.
76997
76998 2006-07-12  Eric Blake  <ebb9@byu.net>
76999
77000         * MODULES.html.sh: Add gendocs.
77001
77002 2006-07-11  Eric Blake  <ebb9@byu.net>
77003
77004         * modules/fdl: New module, to install doc/fdl.texi.
77005         * MODULES.html.sh: Add new section for documentation modules.
77006         * gnulib-tool: Avoid space-tab.
77007         (--doc-base): New option, to manage files from doc.
77008
77009 2006-07-11  Eric Blake  <ebb9@byu.net>
77010
77011         * m4/absolute-header.m4: Fix comments to match recent change.
77012
77013 2006-07-11  Eric Blake  <ebb9@byu.net>
77014
77015         * gnulib-tool: List --doc-base before --tests-base.
77016
77017 2006-07-11  Derek R. Price  <derek@ximbiot.com>
77018
77019         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
77020
77021 2006-07-11  Bruno Haible  <bruno@clisp.org>
77022
77023         * README: Mention where to put documentation.
77024
77025 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77026
77027         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
77028
77029 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
77030
77031         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
77032         to stdint.m4.
77033
77034 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
77035
77036         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
77037         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
77038         "no/such/file/stdint.h" when there is no such file, so that
77039         the resulting C code can be parsed by dodgy compilers.
77040         Problems reported by Bob Proulx.
77041
77042 2006-07-10  Derek R. Price  <derek@ximbiot.com>
77043
77044         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
77045         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
77046         macros into the GNU _D_EXACT_NAMLEN.
77047         * lib/savedir.c:  Likewise.
77048         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
77049
77050 2006-07-10  Derek R. Price  <derek@ximbiot.com>
77051         and Paul Eggert  <eggert@cs.ucla.edu>
77052
77053         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
77054         * m4/savedir.m4:
77055         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
77056         macros into the GNU _D_EXACT_NAMLEN.
77057
77058 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77059
77060         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
77061         around the absolute name, to work around a problem with the HP-UX
77062         11.23 native C compiler, reported by Bob Proulx.
77063
77064 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77065
77066         * doc/maintain.texi, make-stds.texi: Sync from
77067         <http://savannah.gnu.org/projects/gnustandards>.
77068
77069 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77070
77071         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
77072
77073 2006-07-09  Jim Meyering  <jim@meyering.net>
77074
77075         * m4/glob.m4: Remove a doubled word in a comment.
77076
77077 2006-07-09  Jim Meyering  <jim@meyering.net>
77078
77079         * lib/argp-pv.c: Remove a doubled word in a comment.
77080         * lib/check-version.c (check_version): Likewise.
77081         * lib/javacomp.c (compile_java_class): Likewise.
77082
77083 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
77084
77085         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
77086         for the benefit of people using Autoconf 2.60.  If you want to
77087         support older Autoconf versions you can copy m4/onceonly_2_57.m4
77088         (or m4/onceonly.m4, if pre-2.57) manually.
77089
77090 2006-07-08  Jim Meyering  <jim@meyering.net>
77091
77092         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
77093         comment.
77094         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
77095         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
77096         comment.
77097
77098 2006-07-08  Jim Meyering  <jim@meyering.net>
77099
77100         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
77101
77102 2006-07-07  Simon Josefsson  <jas@extundo.com>
77103
77104         * tests/test-crc.c: Change expected crc value, the test vector
77105         were probably computed using the old broken crc.c?
77106
77107 2006-07-06  Simon Josefsson  <jas@extundo.com>
77108
77109         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
77110         now the canonical place for the M4 file).
77111
77112         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
77113         from the sys_socket dependency now.
77114
77115         * modules/inet_pton (Files): Ditto.
77116
77117         * modules/inet_ntop (Files): Ditto.
77118
77119 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77120
77121         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
77122         not gl_PREREQ_GETUSERSHELL.
77123
77124 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77125
77126         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
77127         with only one argument, for Autoconf 2.60.
77128         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
77129         expand to nothing, so add a shell command to avoid syntax error.
77130         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
77131
77132 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77133
77134         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
77135
77136 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77137
77138         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
77139         no longer needed.  Check for isblank decl.
77140         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
77141         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
77142         of existence.
77143
77144 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77145
77146         * lib/getloadavg.c: Use __VMS, not VMS.
77147         * lib/getopt.c: Likewise.
77148         * lib/getpagesize.h: Likewise.
77149         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
77150         and probably does not work.
77151
77152 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77153
77154         * lib/.cppi-disable: Add wcwidth.
77155         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
77156         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
77157         (ISGRAPH): Remove.  All uses changed to isgraph.
77158         (FOLD) [!defined _LIBC]: Remove special case.
77159         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
77160         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
77161         HAVE_ISBLANK.
77162         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
77163         case.
77164
77165 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77166
77167         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
77168         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
77169         brackets.  Other minor changes to suppress some compiler
77170         warnings.
77171
77172 2006-07-06  Derek R. Price  <derek@ximbiot.com>
77173         and Paul Eggert  <eggert@cs.ucla.edu>
77174
77175         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
77176         of invoking obsolescent AC_HEADER_DIRENT macro.
77177         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
77178         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
77179         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
77180         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
77181         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
77182         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
77183         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
77184         * m4/readdir.m4: Remove; no longer needed.
77185
77186 2006-07-06  Derek R. Price  <derek@ximbiot.com>
77187         and Paul Eggert  <eggert@cs.ucla.edu>
77188
77189         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
77190         Don't worry about this obsolete case any more.
77191         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
77192         directories.
77193         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
77194         worry about this obsolete case any more.
77195         * lib/fts.c: Likewise.
77196         * lib/getcwd.c: Likewise.
77197         * lib/glob.h: Likewise.
77198         * lib/savedir.c: Likewise.
77199
77200 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
77201
77202         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
77203         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
77204         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
77205         needed.
77206         All uses removed.
77207         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77208         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
77209         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
77210         needed.
77211         * m4/getdate.m4 (gl_GETDATE): Likewise.
77212         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
77213         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
77214         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
77215         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77216         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
77217         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77218         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
77219         needed.
77220
77221 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
77222
77223         * lib/memcasecmp.c: Include <limits.h>.
77224         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
77225         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
77226         Don't assume isdigit succeeds only on '0' through '9'.
77227
77228 2006-07-05  Eric Blake  <ebb9@byu.net>
77229
77230         * modules/getaddrinfo (Depends-on): Add snprintf.
77231
77232 2006-07-05  Eric Blake  <ebb9@byu.net>
77233
77234         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
77235         to avoid 'header present but could not be compiled' on cygwin.
77236
77237 2006-07-05  Eric Blake  <ebb9@byu.net>
77238
77239         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
77240         missing from netdb.h.
77241         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
77242
77243 2006-07-05  Derek R. Price  <derek@ximbiot.com>
77244
77245         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
77246         no longer needed.
77247         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
77248         * m4/getdate.m4 (gl_GETDATE): Likewise.
77249         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
77250         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
77251         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
77252         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77253         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77254
77255 2006-07-05  Derek R. Price  <derek@ximbiot.com>
77256
77257         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
77258         All uses of is_space replaced by isspace.
77259         * lib/exit.h: Don't talk about STDC_HEADERS.
77260         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
77261         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
77262         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
77263         replaced by isprint etc.
77264         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
77265         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
77266         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
77267         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
77268         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
77269         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
77270
77271 2006-07-05  Bruno Haible  <bruno@clisp.org>
77272
77273         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
77274         the function exists, before testing against AIX.
77275         Reported by Martin Lambers <marlam@marlam.de>.
77276
77277 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
77278
77279         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
77280         From Mark D. Baushke.
77281
77282 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
77283
77284         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
77285         to the absolute name, not just one, to bypass Sun C 5.8's
77286         "warning: #include of /usr/include/... may be non-portable".
77287
77288 2006-07-04  Eric Blake  <ebb9@byu.net>
77289
77290         * modules/dirname-tests: New test module.
77291         * tests/test-dirname.c: New file, replacing dirname.c
77292         TEST_DIRNAME section that was recently deleted.
77293
77294 2006-07-04  Bruno Haible  <bruno@clisp.org>
77295
77296         Assume ANSI C header files and <ctype.h> functions.
77297         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
77298         (mbsnwidth): Use isprint, iscntrl instead.
77299
77300 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77301
77302         Merge from coreutils.
77303         * MODULES.html.sh: Add xstrtold.
77304         * modules/xstrtold: New file.
77305         * modules/cycle-check (Files): Add lib/same-inode.h.
77306         * modules/dirname (Files): Add m4/double-slash-root.m4.
77307         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
77308         * modules/mkdir-p (Files): Add lib/same-inode.h.
77309         * modules/same (Files): Add lib/same-inode.h.
77310
77311 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77312
77313         * m4/absolute-header.m4: Renamed from full-header-path.m4.
77314         This is to keep the terminology clean; POSIX talks about
77315         "absolute pathnames", not "full pathnames", but the GNU
77316         Coding Standards say to use "path" for something else;
77317         so use "absolute" to keep both sides happy.
77318         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
77319         Set gl_absolute_header, not gl_full_header_path.
77320         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
77321         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
77322         All uses changed.
77323
77324         Merge from coreutils.
77325
77326         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
77327
77328         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
77329         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
77330         want to require the building of c-strtod.o.
77331         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
77332         needs -lm directly.
77333         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
77334
77335         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
77336
77337         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
77338         --as-needed option if available.  Problem reported by Albert Chin in
77339         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
77340         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
77341         cc merely issues a bunch of annoying warnings for --as-needed
77342         (this problem was reported by Bob Proulx).  Also, try linking with
77343         -lm to detect a bug in binutils 2.16 (this problem was reported
77344         by Ralf Wildenhues).
77345
77346         2006-06-18  Jim Meyering  <jim@meyering.net>
77347
77348         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
77349         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
77350         macro.
77351         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
77352         also check for glibc-2.4's abort-inducing bug.
77353
77354         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
77355         Low-probability clean-up should be to use rmdir to get rid of
77356         the just-created directory, not unlink.
77357
77358         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
77359         configure fail, and request a bug report to inform us about it.
77360         Add a comment that, barring reports to the contrary, in 2007 we'll
77361         assume ftruncate is universally available.
77362
77363         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
77364
77365         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
77366
77367         2006-03-12  Jim Meyering  <jim@meyering.net>
77368
77369         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
77370         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
77371         * m4/same.m4 (gl_SAME): Likewise.
77372         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
77373
77374         2006-03-11  Eric Blake  <ebb9@byu.net>
77375
77376         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
77377         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
77378         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
77379         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
77380
77381 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77382
77383         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
77384         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
77385         reported by Mark D. Baushke, one in
77386         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
77387
77388         Merge from coreutils.
77389
77390         * lib/.cppi-disable: Add stdint_.h.
77391         * lib/.cvsignore: Add stdint.h.
77392
77393         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
77394
77395         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
77396         both double and long double versions.
77397         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
77398         * lib/xstrtold.c: New file.
77399         * lib/xstrtod.h (xstrtold): New decl.
77400
77401         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
77402
77403         * lib/filemode.c (setst): Remove.
77404         (strmode): Rewrite to avoid setst.  This makes the code shorter,
77405         (arguably) clearer, and the generated code is a bit smaller on my
77406         Debian GNU/Linux stable x86 host.
77407
77408         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
77409
77410         * lib/filemode.c: Include "filemode.h" first, to test the interface.
77411         Assume that filemode.h includes sys/types.h and sys/stat.h.
77412         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
77413         (ftypelet): Reorder to put common cases first, for efficiency.
77414         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
77415         to do 'M'.
77416         (strmode): Renamed from mode_string, and now stores 12 bytes instead
77417         of 10, for compatibility with FreeBSD.  All callers changed.
77418         (filemodestring): Now stores 12 bytes instead of 10, and sets file
77419         types that can't be deduced solely from st_mode.  First arg is now a
77420         const pointer.
77421         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
77422         (strmode): Renamed from mode_string.
77423         (filemodestring): New decl.
77424         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
77425         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
77426         needed.
77427         (S_ISPORT, S_ISWHT): New macros, if not already defined.
77428
77429         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
77430
77431         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
77432         fsusage.h now does that.  Include fsusage.h first, to test interface.
77433         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
77434         at most one method (the old code could have generated decls that
77435         didn't conform to C89, not that this was ever exercised).
77436         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
77437
77438         2006-03-19  Jim Meyering  <jim@meyering.net>
77439
77440         Work even in a chroot where d_ino values for entries in "/"
77441         don't match the stat.st_ino values for the same names.
77442         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
77443         number, iterate through all entries again, using lstat instead.
77444         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
77445         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
77446
77447         * lib/getcwd.c (__getcwd): Clarify a comment.
77448         Use memcpy in place of a call to strcpy.
77449
77450         2006-03-12  Jim Meyering  <jim@meyering.net>
77451
77452         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
77453         matches that of the current directory (which we're about to chdir ".."
77454         out of), then save the dev-ino of the parent, instead.
77455
77456         * lib/same-inode.h (SAME_INODE): New file/macro.
77457         * lib/chdir-safer.c (SAME_INODE): Remove definition.
77458         Include "same-inode.h", instead.
77459         * lib/same.c: Likewise.
77460         * lib/cycle-check.h: Include "same-inode.h".
77461         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
77462         * lib/cycle-check.c (SAME_INODE): Remove definition.
77463         * lib/root-dev-ino.h: Include "same-inode.h".
77464
77465         2006-03-11  Eric Blake  <ebb9@byu.net>
77466
77467         * lib/same.c (same_name): s/base_name/last_component/
77468         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
77469         * lib/filenamecat.c (file_name_concat): Likewise.
77470
77471         2006-03-11  Eric Blake  <ebb9@byu.net>,
77472                     Paul Eggert  <eggert@cs.ucla.edu>
77473
77474         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
77475         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
77476         drive prefix.
77477         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
77478         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
77479         (last_component): New method.
77480         * lib/dirname.c (dir_len): Determine when drive letters need a
77481         subsequent slash.  Preserve // when it is special.
77482         (dir_name): Don't append dot when drive letter is absolute.
77483         [TEST_DIRNAME]: Move into a full-blown gnulib test.
77484         * lib/basename.c (base_name): New semantics - malloc the result.
77485         Preserve // when it is special.  Preserve relative files that look
77486         like drive letters.
77487         (base_len): Preserve // when it is special.
77488         (last_component): New method, similar to old base_name semantics.
77489         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
77490         base_name.  Strip redundant slashes from ///.
77491
77492 2006-07-03  Jim Meyering  <jim@meyering.net>
77493
77494         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
77495         macro is used before the first cycle_check call.
77496
77497 2006-07-03  Eric Blake  <ebb9@byu.net>
77498
77499         * modules/dirname (Depends-on): Add xstrndup.
77500
77501 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
77502
77503         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
77504         test cases, so that config.log is a bit easier to follow.
77505
77506 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
77507
77508         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
77509         both are 64 bits, since this seems to be the tradition, and this
77510         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
77511         we ever run into a host that prefers long long to long in this
77512         case, we'll need another configure-time test.  Problem reported by
77513         Jim Meyering.
77514
77515 2006-07-02  Eric Blake  <ebb9@byu.net>
77516
77517         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
77518
77519 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77520
77521         * modules/inttypes (Depends-on): No longer depends on stdint.
77522         * modules/stdint (Description): Say more about assumptions.
77523         Say that the fast types might differ.  Say macros are used.
77524         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
77525         (Makefile.am): Revise list of substituted symbols to match
77526         new stdint.m4.
77527         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
77528         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
77529         * tests/test-stdint.c (verify_same_types)
77530         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
77531         the code conforms to C99/C89.
77532         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
77533         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
77534
77535 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77536
77537         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
77538         but fix a bug, by requiring at least 64 bits.
77539         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
77540         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
77541         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
77542         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
77543
77544         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
77545         changes.  Make 2.59 a prerequisite.  Check and substitute for
77546         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
77547         inttypes.h.  Do not use special include files; just use the
77548         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
77549         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
77550         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
77551         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
77552         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
77553         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
77554         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
77555         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
77556         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
77557         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
77558         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
77559         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
77560         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
77561         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
77562         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
77563         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
77564         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
77565         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
77566         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
77567         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
77568         WINT_MAX.  Check for C99 conformance more strictly, by detecting
77569         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
77570         not check for things that C99 does not require, e.g., int8_t.  If
77571         a test isn't needed unless <stdint.h> isn't working, and is
77572         unlikely to be needed for any other reason, then don't do it
77573         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
77574         size_t, since we assume C89 freestanding at least.  Do not check
77575         for sig_atomic_t, wchar_t, or wint_t, since the code now does
77576         the right thing even if the types are not defined.  Instead use:
77577         (gl_STDINT_TYPE_PROPERTIES): New macro.
77578         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
77579         testing whether <sys/types.h> clashes, as Autoconf does this for
77580         us now.  All uses removed.
77581         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
77582         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
77583         (gl_CHECK_TYPE_SAME):
77584         Remove; no longer needed.
77585         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
77586         exists, since we'll return 0 anyway in that case.
77587         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
77588
77589 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77590
77591         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
77592         possible collision with system files.
77593         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
77594         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
77595         WCHAR_MIN and WCHAR_MAX in this case.
77596         (<stddef.h>): Do not include; no longer needed.
77597         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
77598         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
77599         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
77600         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
77601         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
77602         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
77603         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
77604         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
77605         !defined(__c99))]: Include in this case too, since it's harmless
77606         now.
77607         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
77608         dangerous to do so.
77609         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
77610         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
77611         (_STDINT_MIN, _STDINT_MAX): New macros.
77612         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
77613         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
77614         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
77615         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
77616         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
77617         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
77618         macros, not typedefs; this simplifies things quite a bit.
77619         Use long int for all types narrower than int64_t.
77620         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
77621         Define in terms of long long int or int64_t or long int,
77622         not int64_t or int32_t.  This saves some compile-time testing.
77623         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
77624         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
77625         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
77626         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
77627         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
77628         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
77629         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
77630         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
77631         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
77632         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
77633         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77634         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77635         undef any previous version and define our own version, for
77636         simplicity and consistency with the new macros for types.
77637         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77638         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77639         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
77640         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
77641         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
77642         @WINT_T_SUFFIX@ to keep things simple here.
77643         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
77644         Simplify by assuming typical 8/16/32/64 host, since we're
77645         already doing that elsewhere anyway.
77646         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
77647         and assume long long int is 64 bits if available.  This
77648         speeds up 'configure'.
77649
77650 2006-07-01  Eric Blake  <ebb9@byu.net>
77651
77652         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
77653         Reported by Andreas Buening.
77654
77655 2006-07-01  Eric Blake  <ebb9@byu.net>
77656
77657         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
77658
77659 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77660
77661         * lib/getaddrinfo.c: fixed typo
77662
77663 2006-06-29  Jim Meyering  <jim@meyering.net>
77664
77665         * modules/strftime (Maintainer): Add my name, since with the
77666         FPRINTFTIME changes strftime.c has forked from glibc.
77667
77668 2006-06-29  Eric Blake  <ebb9@byu.net>
77669
77670         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
77671
77672 2006-06-29  Eric Blake  <ebb9@byu.net>
77673
77674         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
77675
77676 2006-06-29  Eric Blake  <ebb9@byu.net>
77677
77678         * lib/stat_.h: New file.
77679
77680 2006-06-29  Eric Blake  <ebb9@byu.net>
77681
77682         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
77683         unused static function.
77684
77685 2006-06-29  Eric Blake  <ebb9@byu.net>
77686
77687         * doc/functions.texi (Function Portability): Document missing lstat
77688         on mingw.
77689
77690 2006-06-29  Eric Blake  <ebb9@byu.net>
77691
77692         * MODULES.html.sh: Add sys_stat.
77693         * modules/sys_stat: New module.
77694         * modules/mkstemp (Depends-on): Add sys_stat.
77695
77696 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77697
77698         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
77699
77700 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77701
77702         * m4/c-bs-a.m4: Removed.
77703
77704 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77705
77706         * lib/strftime.c: Assume strftime() exists.
77707
77708 2006-06-29  Derek Price  <derek@ximbiot.com>
77709
77710         * modules/c-bs-a: Removed - \a is C89.
77711         * MODULES.html.sh: Remove c-bs-a.
77712
77713 2006-06-29  Bruno Haible  <bruno@clisp.org>
77714
77715         * modules/wcwidth (License): Change to LGPL.
77716
77717 2006-06-28  Simon Josefsson  <jas@extundo.com>
77718
77719         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
77720         on _WIN32.
77721
77722         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
77723         getnameinfo.
77724
77725 2006-06-28  Simon Josefsson  <jas@extundo.com>
77726
77727         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
77728
77729 2006-06-28  Simon Josefsson  <jas@extundo.com>
77730
77731         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
77732         functions there.  It will succeed on Windows XP, but on Windows
77733         2000 and (presumably) earlier, it will fail, and use the internal
77734         re-implementation.
77735         (use_win32_p): New function.
77736         (getaddrinfo): Use strtoul on servname, to support numeric ports.
77737         Support AI_NUMERICSERV to disable getservbyname.
77738         (getnameinfo): New function, only supports
77739         NI_NUMERICHOST|NI_NUMERICSERV for now.
77740
77741         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
77742         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
77743         getnameinfo.
77744
77745 2006-06-28  Eric Blake  <ebb9@byu.net>
77746
77747         * modules/wcwidth: New file.
77748         * modules/mbchar (Depends-on): Add wcwidth.
77749         * modules/mbswidth (Depends-on): Add wcwidth.
77750         * MODULES.html.sh: Add wcwidth.
77751
77752 2006-06-28  Eric Blake  <ebb9@byu.net>
77753
77754         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
77755         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
77756
77757 2006-06-28  Eric Blake  <ebb9@byu.net>
77758
77759         * lib/xvasprintf.h: Fix comments.
77760
77761 2006-06-28  Eric Blake  <ebb9@byu.net>
77762
77763         * lib/mbchar.h (wcwidth): Include wcwidth.h.
77764         * lib/mbswidth.c (wcwidth): Move from here...
77765         * lib/wcwidth.h: ...to this new file.
77766
77767 2006-06-28  Derek R. Price  <derek@ximbiot.com>
77768
77769         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
77770
77771         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
77772         it's obsolete.
77773         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
77774
77775 2006-06-28  Derek R. Price  <derek@ximbiot.com>
77776
77777         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
77778         Autoconf 2.60 says this stuff was obsolete.
77779
77780 2006-06-28  Bruno Haible  <bruno@clisp.org>
77781
77782         * modules/wcwidth (Files): Add m4/wchar_t.m4.
77783
77784 2006-06-28  Bruno Haible  <bruno@clisp.org>
77785
77786         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
77787         gt_TYPE_WCHAR_T.
77788
77789 2006-06-28  Bruno Haible  <bruno@clisp.org>
77790
77791         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
77792         declaration for wcwidth.
77793         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
77794
77795 2006-06-28  Bruno Haible  <bruno@clisp.org>
77796
77797         * lib/mkdtemp.c [MINGW]: Include <io.h>.
77798         (mkdir): Define using _mkdir.
77799
77800 2006-06-28  Bruno Haible  <bruno@clisp.org>
77801
77802         * lib/getaddrinfo.h: Fix POSIX URL.
77803         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
77804         _WIN32.
77805         (use_win32_p): Make static.
77806         (getaddrinfo): Reject service name if it is empty or does not consist
77807         solely of decimal digits, or if its value is > 65535.
77808         (getnameinfo): Remove useless casts.
77809
77810 2006-06-27  Simon Josefsson  <jas@extundo.com>
77811
77812         * modules/sys_select: New file, suggested by Bruno Haible, Paul
77813         Eggert and Martin Lambers.
77814
77815 2006-06-27  Simon Josefsson  <jas@extundo.com>
77816
77817         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
77818         Eggert and Martin Lambers.
77819
77820 2006-06-27  Bruno Haible  <bruno@clisp.org>
77821
77822         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
77823         result to 0, not to empty.
77824         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
77825
77826 2006-06-27  Bruno Haible  <bruno@clisp.org>
77827
77828         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
77829
77830 2006-06-26  Simon Josefsson  <jas@extundo.com>
77831
77832         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
77833         present.
77834
77835 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
77836
77837         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
77838         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
77839         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
77840
77841 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
77842
77843         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
77844
77845 2006-06-26  Bruno Haible  <bruno@clisp.org>
77846
77847         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
77848
77849 2006-06-26  Bruno Haible  <bruno@clisp.org>
77850
77851         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
77852
77853 2006-06-26  Bruno Haible  <bruno@clisp.org>
77854
77855         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
77856         SGI C compiler in pre-C99 mode.
77857         Suggested by Mark D. Baushke and Larry Jones.
77858
77859 2006-06-26  Bruno Haible  <bruno@clisp.org>
77860
77861         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
77862         WCHAR_MAX.
77863         Reported by Mark D. Baushke and Larry Jones.
77864
77865 2006-06-26  Bruno Haible  <bruno@clisp.org>
77866
77867         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
77868         in pre-C99 mode.
77869         Suggested by Mark D. Baushke and Larry Jones.
77870
77871 2006-06-23  Simon Josefsson  <jas@extundo.com>
77872             Bruno Haible  <bruno@clisp.org>
77873
77874         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
77875         Emit mostlyclean-local rule.
77876         (func_emit_tests_Makefile_am): Likewise.
77877         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
77878
77879 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
77880
77881         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
77882
77883 2006-06-23  Bruno Haible  <bruno@clisp.org>
77884
77885         * tests/test-stdint.c: Update to match ISO C 99 Technical
77886         Corrigendum 1.
77887
77888 2006-06-23  Bruno Haible  <bruno@clisp.org>
77889
77890         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
77891
77892 2006-06-23  Bruno Haible  <bruno@clisp.org>
77893
77894         * lib/stdint_.h: Treat IRIX like OpenBSD.
77895
77896 2006-06-23  Bruno Haible  <bruno@clisp.org>
77897
77898         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
77899         ISO C 99 Technical Corrigendum 1.
77900
77901 2006-06-22  Simon Josefsson  <jas@extundo.com>
77902
77903         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
77904         MinGW.
77905
77906 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77907
77908         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
77909         needed.  Some compiler complained about some of them.  Problem reported
77910         by Larry Jones in
77911         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
77912
77913 2006-06-21  Simon Josefsson  <jas@extundo.com>
77914
77915         * tests/test-getaddrinfo.c: New file.
77916
77917         * modules/getaddrinfo-tests: New file.
77918
77919         * MODULES.html.sh: Add inet_pton.
77920
77921         * modules/inet_pton: New file.
77922
77923 2006-06-21  Simon Josefsson  <jas@extundo.com>
77924
77925         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
77926         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
77927         of using the (limited) gnulib implementation on Windows XP.
77928
77929         * m4/inet_pton.m4: New file.
77930
77931 2006-06-21  Simon Josefsson  <jas@extundo.com>
77932
77933         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
77934         variable.
77935
77936         * lib/socket_.h: Don't define WINVER.
77937
77938         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
77939         slightly modified to work in gnulib.
77940
77941 2006-06-21  Simon Josefsson  <jas@extundo.com>
77942
77943         * doc/gnulib.texi (Windows sockets): Add.
77944
77945 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
77946
77947         * lib/read-file.c (fread_file): Start with buffer allocation of
77948         0 bytes rather than 1 byte; this simplifies the code.
77949         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
77950         code to free buffer and save/restore errno.
77951         (internal_read_file): Remove unused local.
77952
77953 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
77954
77955         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
77956         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
77957         Problem reported by Denis Excoffier in
77958         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
77959
77960 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77961
77962         * modules/sys_socket, modules/socklen: Include sys/types since
77963         FreeBSD 4.x's sys/socket.h needs it.
77964
77965 2006-06-19  Simon Josefsson  <jas@extundo.com>
77966
77967         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
77968
77969 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
77970
77971         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
77972
77973 2006-06-19  Bruno Haible  <bruno@clisp.org>
77974
77975         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
77976         and FULL_PATH_INTTYPES_H in angle brackets.
77977         Reported by Mark D. Baushke <mdb@gnu.org>.
77978
77979 2006-06-17  Eric Blake  <ebb9@byu.net>
77980
77981         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
77982         errno.
77983
77984 2006-06-17  Bruno Haible  <bruno@clisp.org>
77985
77986         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
77987         <sys/inttypes.h>.
77988
77989 2006-06-17  Bruno Haible  <bruno@clisp.org>
77990
77991         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
77992         whether errno is declared. Assume <errno.h> declares errno.
77993
77994 2006-06-17  Bruno Haible  <bruno@clisp.org>
77995
77996         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
77997
77998 2006-06-17  Bruno Haible  <bruno@clisp.org>
77999
78000         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
78001         problem on Solaris 2.5.1.
78002
78003 2006-06-16  Eric Blake  <ebb9@byu.net>
78004
78005         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
78006         * lib/unicodeio.c [!defined errno]: Likewise.
78007         * lib/strtol.c [!defined errno]: Likewise.
78008         * lib/strtod.c [!defined errno]: Likewise.
78009
78010 2006-06-15  Eric Blake  <ebb9@byu.net>
78011
78012         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
78013
78014 2006-06-15  Eric Blake  <ebb9@byu.net>
78015
78016         * config/srclist.txt (ssize_t.m4): Lose sync.
78017
78018 2006-06-15  Bruno Haible  <bruno@clisp.org>
78019
78020         * modules/stdint (Files): Include m4/full-header-path.m4,
78021         m4/size_max.m4, m4/wchar_t.m4.
78022         (Makefile.am): Many more substitutions.
78023         * modules/stdint-tests: New file.
78024         * tests/test-stdint.c: New file.
78025
78026 2006-06-15  Bruno Haible  <bruno@clisp.org>
78027
78028         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
78029         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
78030         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
78031         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
78032         gl_CHECK_TYPE_SAME): New macros.
78033
78034 2006-06-15  Bruno Haible  <bruno@clisp.org>
78035
78036         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
78037
78038 2006-06-15  Bruno Haible  <bruno@clisp.org>
78039
78040         * lib/stdint_.h: Rewritten to be fully auto-configured.
78041         Fixes bug on HP-UX/IA64.
78042
78043 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
78044
78045         * lib/getdate.y (__attribute__): Don't define if already defined.
78046         Problem reported by Larry Jones.
78047         * lib/utimens.c (__attribute__): Likewise.
78048
78049 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
78050
78051         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
78052         reported by Andreas Schwab.
78053
78054 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78055             Bruno Haible  <bruno@clisp.org>
78056
78057         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
78058         check for the declaration of strnlen and a run test that exposes the
78059         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
78060         rpl_strndup.
78061
78062 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78063             Bruno Haible  <bruno@clisp.org>
78064
78065         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
78066
78067 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78068
78069         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
78070         compile test, for Tru64 4.0D.
78071
78072 2006-05-28  Karl Berry  <karl@gnu.org>
78073
78074         * config/srclist.txt (printf-args.c): lose sync.
78075
78076 2006-05-26  Martin Lambers  <marlam@marlam.de>
78077
78078         * lib/getpass.c: Updates the test for the native W32 API, and adds
78079         missing includes, thus fixing compilation warnings.
78080
78081 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
78082
78083         * lib/exclude.c (exclude_fnmatch): New function.
78084         (excluded_file_name): Call exclude_fnmatch.
78085         * lib/exclude.h (excluded_file_name): New prototype
78086
78087 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
78088
78089         * lib/tempname.c (small_open, large_open): New macros.
78090         (__open, __open64) [!_LIBC]: Remove.
78091         (__gen_tempname): Use small_open and large_open instead of __open
78092         and __open64.  This fixes a portability bug on HP-UX 11.11i
78093         reported by Simon Wing-Tang in
78094         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
78095
78096 2006-05-24  Bruno Haible  <bruno@clisp.org>
78097
78098         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
78099         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
78100         Reported by Thorsten Maerz <torte@netztorte.de> via
78101         Aaron Stone <aaron@serendipity.cx>.
78102
78103 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
78104
78105         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
78106         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
78107         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
78108         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
78109         not really conditional on the cache.
78110         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
78111
78112 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
78113
78114         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
78115         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
78116         (my_usleep): Don't mishandle maximum value.
78117
78118 2006-05-19  Jim Meyering  <jim@meyering.net>
78119
78120         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
78121
78122 2006-05-17  Bruno Haible  <bruno@clisp.org>
78123
78124         Cygwin portability.
78125         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
78126
78127 2006-05-17  Bruno Haible  <bruno@clisp.org>
78128
78129         * lib/stdint_.h: Fix recognition of Cygwin.
78130
78131 2006-05-15  Bruno Haible  <bruno@clisp.org>
78132
78133         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
78134         on libtool patch by Ralf Wildenhues.
78135
78136 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
78137
78138         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
78139         test for C99 conformance; (bool) 0.5 is an integer constant
78140         expression, but (bool) -0.5 is not.  Problem reported by Fedor
78141         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
78142
78143 2006-05-11  Simon Josefsson  <jas@extundo.com>
78144
78145         * m4/xvasprintf.m4: Fix obvious typo.
78146
78147 2006-05-11  Jim Meyering  <jim@meyering.net>
78148
78149         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
78150         James Lemley.
78151
78152 2006-05-10  Simon Josefsson  <jas@extundo.com>
78153
78154         * lib/md4.c: Typo fix, update copyright years.
78155         (K1, K2): Don't use L because it turn computations into 64-bit on
78156         64-bit platforms.
78157
78158 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
78159
78160         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
78161         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
78162         unwanted sign propagation, e.g., on hosts with 64-bit int.
78163         There still are some problems with reeelly weird theoretical hosts
78164         (e.g., 33-bit int) but it's not worth worrying about now.
78165         * lib/sha1.c (rol): Likewise.
78166         (K1, K2, K3, K4): Remove unnecessary L suffix.
78167
78168 2006-05-10  Bruno Haible  <bruno@clisp.org>
78169
78170         * lib/des.c: Cast to avoid warnings.
78171
78172 2006-05-09  Bruno Haible  <bruno@clisp.org>
78173
78174         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
78175         (Depends-on): Depend also on xsize, stdarg.
78176         (configure.ac): Add gl_XVASPRINTF.
78177
78178 2006-05-09  Bruno Haible  <bruno@clisp.org>
78179
78180         * m4/xvasprintf.m4: New file.
78181
78182 2006-05-09  Bruno Haible  <bruno@clisp.org>
78183
78184         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
78185         (EOVERFLOW): Define fallback value.
78186         (xstrcat): New function.
78187         (xvasprintf): Recognize the special case of a string concatenation.
78188
78189 2006-05-08  Eric Blake  <ebb9@byu.net>
78190
78191         * gnulib-tool (func_version): Base copyright year on CVS date.
78192         (func_emit_copyright_notice): New function.
78193         (func_emit_lib_Makefile_am): Use it.
78194         (func_emit_tests_Makefile_am): Likewise.
78195         (func_import): Likewise.
78196
78197 2006-05-08  Bruno Haible  <bruno@clisp.org>
78198
78199         * modules/stdarg: New file.
78200         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
78201
78202 2006-05-08  Bruno Haible  <bruno@clisp.org>
78203
78204         * m4/stdarg.m4: New file, from GNU gettext.
78205
78206 2006-05-08  Bruno Haible  <bruno@clisp.org>
78207
78208         * config/srclist.txt (build-aux/config.rpath): different from latest
78209         release.
78210
78211 2006-05-08  Bruno Haible  <bruno@clisp.org>
78212
78213         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
78214
78215 2006-05-05  Jim Meyering  <jim@meyering.net>
78216
78217         * m4/warning.m4: New file, derived from bison's file by the same name.
78218
78219 2006-05-03  Bruno Haible  <bruno@clisp.org>
78220
78221         * lib/stdint_.h: Shorter URL.
78222         * lib/inttypes.h: Likewise.
78223
78224 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78225
78226         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
78227
78228 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78229
78230         * lib/verify.h: Document the internals better.  Most of this change
78231         was written by Bruno Haible.
78232
78233 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78234
78235         * doc/verify.texi: New file, partly based on a proposal by
78236         Bruno Haible.
78237
78238 2006-05-02  Bruno Haible  <bruno@clisp.org>
78239
78240         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
78241         test from here...
78242         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
78243
78244 2006-04-29  Bruno Haible  <bruno@clisp.org>
78245
78246         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
78247         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
78248
78249 2006-04-29  Bruno Haible  <bruno@clisp.org>
78250
78251         * gnulib-tool: Make --update option actually work.
78252
78253 2006-04-29  Bruno Haible  <bruno@clisp.org>
78254
78255         * doc/gcd.texi: New file.
78256         * doc/gnulib.texi: Include it.
78257
78258 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
78259
78260         * lib/getdate.y (get_date): When adding relative date, start with the
78261         initial time, not with the result of the first mktime call.
78262
78263 2006-04-25  Bruno Haible  <bruno@clisp.org>
78264
78265         * gnulib-tool (func_import): Output the include directives in three
78266         blocks, sorted separately.
78267         Reported by Ben Pfaff <blp@cs.stanford.edu>.
78268
78269 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
78270
78271         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
78272         to define main with arguments, for C++.  Reported by Eric Blake.
78273         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
78274         Prefer 'int main ()' to 'int main (void)', for C++.
78275         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
78276         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
78277         for 'main', for C99 and C++.
78278
78279 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
78280
78281         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
78282         Don't assume that exit status -1 is valid.
78283         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78284         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
78285         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
78286         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
78287         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
78288         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
78289         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
78290         functions can be used without declaring them, or that you can
78291         exit with status -1.
78292         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
78293
78294 2006-04-24  Karl Berry  <karl@gnu.org>
78295
78296         * config/srclist.txt (longdouble.m4): sync lost.
78297
78298 2006-04-24  Eric Blake  <ebb9@byu.net>
78299
78300         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
78301
78302 2006-04-24  Bruno Haible  <bruno@clisp.org>
78303
78304         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
78305         poll() implementation in AIX.
78306         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78307
78308 2006-04-24  Bruno Haible  <bruno@clisp.org>
78309
78310         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
78311         assigned exactly once.
78312
78313 2006-04-23  Claudio Fontana  <claudio@gnu.org>
78314             Bruno Haible  <bruno@clisp.org>
78315
78316         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
78317         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
78318         for AM_CPPFLAGS.
78319
78320 2006-04-23  Bruno Haible  <bruno@clisp.org>
78321
78322         * modules/copy-file: Depend on unistd.
78323         * modules/execute: Likewise.
78324         * modules/fatal-signal: Likewise.
78325         * modules/findprog: Likewise.
78326         * modules/mkdtemp : Likewise.
78327         * modules/pipe: Likewise.
78328         * modules/wait-process: Likewise.
78329
78330 2006-04-23  Bruno Haible  <bruno@clisp.org>
78331
78332         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
78333         condition was already detected.
78334         Reported by Ben Pfaff <blp@cs.stanford.edu>.
78335
78336 2006-04-23  Bruno Haible  <bruno@clisp.org>
78337
78338         * lib/copy-file.c: Include <unistd.h> unconditionally.
78339         * lib/execute.c: Likewise.
78340         * lib/fatal-signal.c: Likewise.
78341         * lib/findprog.c: Likewise.
78342         * lib/mkdtemp.c: Likewise.
78343         * lib/pipe.h: Likewise.
78344         * lib/pipe.c: Likewise.
78345         * lib/wait-process.h: Likewise.
78346
78347 2006-04-23  Bruno Haible  <bruno@clisp.org>
78348
78349         * gnulib-tool (func_usage): Fix --import description. Document
78350         --update.
78351         (func_import): Create temporary file in a temporary directory, if
78352         --dry-run is specified. Silence errors from 'grep' when there are no
78353         m4 files in $m4dir.
78354         (func_create_testdir): Silence errors from 'grep' when there are no
78355         m4 files in $m4dir.
78356         Reported by Karl Berry <karl@freefriends.org>.
78357
78358 2006-04-20  Bruno Haible  <bruno@clisp.org>
78359
78360         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
78361         one argument, so that the code will be portable to Autoconf 2.60.
78362         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
78363         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
78364         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
78365
78366 2006-04-19  Derek Price  <derek@ximbiot.com>
78367             Eric Blake  <ebb9@byu.net>
78368
78369         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
78370         rather than "/full/path.h".  Update comment to match.  Shorten &
78371         generalize m4_translit call via AS_TR_CPP.
78372
78373 2006-04-19  Derek Price  <derek@ximbiot.com>
78374             Eric Blake  <ebb9@byu.net>
78375
78376         * lib/inttypes.h: Correct grammar in comment.
78377
78378 2006-04-18  Derek Price  <derek@ximbiot.com>
78379             Paul Eggert  <eggert@cs.ucla.edu>
78380
78381         * modules/inttypes: New file.
78382         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
78383
78384 2006-04-18  Derek Price  <derek@ximbiot.com>
78385             Paul Eggert  <eggert@cs.ucla.edu>
78386
78387         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
78388         New files.
78389
78390 2006-04-18  Derek Price  <derek@ximbiot.com>
78391             Paul Eggert  <eggert@cs.ucla.edu>
78392
78393         * lib/inttypes.h: New file.
78394         * lib/strtoimax.c: Assume <inttypes.h>.
78395
78396 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
78397
78398         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
78399         isn't mounted.  Problem reported by Kir Kolyshkin.
78400
78401 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
78402
78403         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
78404         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
78405         Derek R. Price.
78406         * lib/regex.h (RE_DUP_MAX): Update comment to match current
78407         implementation.
78408
78409 2006-04-12  Eric Blake  <ebb9@byu.net>
78410
78411         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
78412         is now done automatically by the corresponding Autoconf macro.
78413
78414 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
78415
78416         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
78417         time_r.h.
78418
78419 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78420
78421         Merge regex changes from libc, removing some of our
78422         POSIX-conformance changes that were rejected and redoing them in a
78423         less-intrusive way.
78424
78425         * lib/regcomp.c (re_compile_internal, init_dfa):
78426         Length arg is now size_t, not Idx.  All uses changed.
78427         (peek_token): Forward decl now says internal_function.
78428         (__re_error_msgid, __re_error_msgid_idx):
78429         Now static rather than extern with attribute_hidden.
78430         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
78431         For some reason libc prefers K&R style defns for external functions.
78432         (regerror) [!defined _LIBC]: Likewise.
78433         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
78434         (seek_collating_symbol_entry, lookup_collation_sequence_value):
78435         (build_range_exp, build_collating_symbol):
78436         Use K&R-style defn.
78437         (re_compile_fastmap): Use '\0' to memset, not 0.
78438         (utf8_sb_map): Make the calculations more obvious.
78439         (init_dfa, parse_bracket_exp, build_charclass_op):
78440         Call calloc and cast result, as glibc does.
78441         (init_word_char, fetch_token, peek_token, peek_token_bracket):
78442         (build_range_exp, build_collating_symbol):
78443         Now internal functions.
78444
78445         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
78446
78447         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
78448         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
78449         Don't depend on VMS; depend on __VMS instead, for POSIX
78450         namespace cleanness.
78451         (regoff_t): Define to ssize_t, not long int.
78452
78453         Remove the REG_ macros named below.  Instead, make the old names
78454         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
78455         __USE_GNU_REGEX.
78456         (REG_BACKSLASH_ESCAPE_IN_LISTS):
78457         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
78458         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
78459         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
78460         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
78461         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
78462         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
78463         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
78464         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
78465         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
78466         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
78467         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
78468         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
78469         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
78470         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
78471         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
78472         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
78473         (REG_NREGS):
78474         Remove.  All uses replaced by the old RE_* names.
78475         (RE_BACKSLASH_ESCAPE_IN_LISTS):
78476         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
78477         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
78478         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
78479         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
78480         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
78481         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
78482         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
78483         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
78484         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
78485         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
78486         Don't bother having these macros be independent of each others'
78487         values, since they no longer exist in the POSIX name space.
78488
78489         Rename the following member names back to their old names,
78490         unless !__USE_GNU_REGEX.  All uses changed back.
78491         (buffer): Renamed from re_buffer.
78492         (allocated): Renamed from re_allocated.
78493         (used): Renamed from re_used.
78494         (syntax): Renamed from re_syntax.
78495         (fastmap): Renamed from re_fastmap.
78496         (translate): Renamed from re_translate.
78497         (can_be_null): Renamed from re_can_be_null.
78498         (regs_allocated): Renamed from re_regs_allocated.
78499         (fastmap_accurate): Renamed from re_fastmap_accurate.
78500         (no_sub): Renamed from re_no_sub.
78501         (not_bol): Renamed from re_not_bol.
78502         (not_eol): Renamed from re_not_eol.
78503         (newline_anchor): Renamed from re_newline_anchor.
78504         (num_regs): Renamed from rm_num_regs.
78505         (start): Renamed from rm_start.
78506         (end): Renamed from rm_end.
78507
78508         (free_state): Move up a bit.
78509
78510         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
78511         #define to be empty.
78512         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
78513         when that is what is intended.
78514         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
78515         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
78516         (MAX): New macro.
78517         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
78518         All uses changed back to re_malloc, etc.  It's now the caller's
78519         responsibility to check for overflow; all callers changed.
78520         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
78521         (re_x2nrealloc): Remove.
78522         (free_state): Remove decl.
78523
78524         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
78525         (re_set_registers, re_exec):
78526         Use K&R-style defn.
78527
78528         2006-01-31  Roland McGrath  <roland@redhat.com>
78529
78530         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
78531         Reported by Mike Frysinger <vapier@gentoo.org>.
78532
78533         2006-01-15  Andreas Jaeger  <aj@suse.de>
78534
78535         [BZ #1950]
78536         * lib/regex_internal.c (re_string_reconstruct): Adjust for
78537         build_wcs_upper_buffer change.
78538         (build_wcs_upper_buffer): Change return type.
78539
78540         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
78541
78542         * lib/regex_internal.h: Include <stdint.h> if available.
78543
78544         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
78545
78546         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
78547
78548         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
78549
78550         * lib/regcomp.c: Adjust for changed secondary hash function.
78551
78552         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
78553
78554         * lib/regex.h: Pretty printing.
78555         Clean up namespace a bit.
78556
78557         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
78558
78559         * lib/regexec.c (update_cur_sifted_state, check_arrival,
78560         check_arrival_add_next_nodes): Avoid using uninitialized variable.
78561
78562         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78563                     Ulrich Drepper  <drepper@redhat.com>
78564
78565         [BZ #1302]
78566         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
78567         changed.
78568         (bitset_word_t): Renamed from bitset_word.  All uses changed.
78569
78570         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
78571
78572         [BZ #281]
78573         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
78574         * lib/regcomp.c: Remove unnecessary uses of
78575         unsigned RE_TRANSLATE_TYPE.
78576         * lib/regex_internal.h: Likewise.
78577         * lib/regex_internal.c: Likewise.
78578         * lib/regexec.c: Likewise.
78579         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
78580
78581         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
78582
78583         * lib/regexec.c (find_recover_state): Remove unnecessary
78584         initialization.
78585         (transit_state_bkref): Make DFA a const pointer.
78586         (get_subexp): Likewise.
78587         (check_arrival): Likewise.
78588         (update_cur_sifted_state): Likewise.
78589         (re_search_internal): Likewise.
78590         (prune_impossible_nodes): Likewise.
78591         (acquire_init_state_context): Likewise.
78592         (proceed_next_node): Likewise.
78593         (set_regs): Likewise.
78594         (free_fail_stack_return): Likewise.
78595         (check_arrival_expand_ecl): Mark DFA parameter as const.
78596         (check_arrival_expand_ecl_sub): Likewise.
78597         (check_subexp_limits): Likewise.
78598         (sub_epsilon_src_nodes):  Likewise.
78599         (add_epsilon_src_nodes):  Likewise.
78600         (merge_state_array): Likewise.
78601         (update_regs): Likewise.
78602         (build_trtable): Likewise.
78603         (sift_states_backward): Mark MCTX parameter as const.
78604         (build_sifted_states): Likewise.
78605         (update_cur_sifted_state): Likewise.
78606         (sift_states_mkref): Likewise.
78607         (check_arrival_expand_ecl): Mark eclosure as const.
78608         (check_dst_limits_calc_pos_1): Likewise.
78609         * lib/regex_internal.h (re_match_context_t): Make dfa a const
78610         pointer.
78611
78612         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
78613
78614         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
78615         (transit_state_sb): Likewise.
78616         (transit_state_mb): Likewise.
78617         (sift_states_iter_mb): Likewise.
78618         (check_arrival_add_next_nodes): Likewise.
78619         (check_node_accept_bytes): Change first parameter to pointer-to-const.
78620         [_LIBC] (re_search_2_stub): Use mempcpy.
78621
78622         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
78623         mbrtowc for very simple UTF-8 case.
78624
78625         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
78626         a pointer-to-const.
78627         (re_acquire_state_context): Likewise.
78628         * lib/regex_internal.h: Adjust prototypes.
78629
78630         * lib/regex.c: Prevent using C++ compilers.
78631
78632         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
78633         (re_acquire_state_context): Likewise.
78634
78635 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78636
78637         * modules/regex (Depends-on): Add ssize_t.
78638
78639 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78640
78641         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
78642         translation table.
78643
78644 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78645
78646         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
78647
78648 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
78649             Bruno Haible  <bruno@clisp.org>
78650
78651         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
78652         <sys/types.h> and <inttypes.h>.
78653
78654 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78655
78656         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
78657         `__error_t_defined', so argp.h will not typedef the former.
78658
78659 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
78660
78661         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
78662         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
78663         glibc names.  Even if glibc is changed to conform to POSIX, the
78664         traditional names will be available anyway, since regex depends on
78665         the extensions module.  Also, fix a longstanding typo in the
78666         implementation of Spencer ERE test #75 from grep 2.3.  Problems
78667         reported by Emanuele Giaquinta.  Also, change sense of cached
78668         variable, so that the message makes sense.
78669
78670 2006-03-24  Simon Josefsson  <jas@extundo.com>
78671
78672         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
78673         including some doc fixes.
78674         (base64_encode_alloc): Fix +1 bug on allocation failures.
78675
78676 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78677
78678         * lib/base64.c (base64_encode): Do not read past end of array with
78679         unsanitized input on systems with CHAR_BIT > 8.
78680
78681 2006-03-24  Eric Blake  <ebb9@byu.net>
78682
78683         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
78684
78685 2006-03-22  Karl Berry  <karl@gnu.org>
78686
78687         * config/srclist.txt (*setenv.[ch]): get from coreutils.
78688         * config/srclistvars.sh (COREUTILS): new var.
78689
78690 2006-03-17  Jim Meyering  <jim@meyering.net>
78691
78692         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
78693         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
78694
78695 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78696
78697         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
78698         no longer needs it.  Instead, check that regoff_t is as least
78699         as wide as ptrdiff_t.
78700
78701         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
78702         so that our regex.h stays compatible with the installed regex.
78703         This is helpful for installers who configure --without-included-regex.
78704         Problem reported by Emanuele Giaquinta.
78705
78706 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78707
78708         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
78709         Typedef to long int, not to off_, as POSIX will likely change
78710         in that direction.
78711
78712 2006-03-15  Eric Blake  <ebb9@byu.net>
78713
78714         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
78715
78716 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
78717
78718         * lib/argp-help.c (validate_uparams): Fix typo
78719         * lib/argp-parse.c (argp_default_options): Consistently begin help
78720         messages with a lowercase letter.
78721
78722 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
78723
78724         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
78725         overrun buffers and shouldn't be used (much as gets shouldn't be
78726         used).
78727         * lib/time_r.c (asctime_r, ctime_r): Likewise.
78728
78729 2006-03-08  Simon Josefsson  <jas@extundo.com>
78730
78731         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
78732         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78733
78734 2006-03-08  Simon Josefsson  <jas@extundo.com>
78735
78736         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
78737         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78738
78739 2006-03-08  Simon Josefsson  <jas@extundo.com>
78740
78741         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
78742         signal that configure disabled the device.
78743
78744 2006-03-08  Simon Josefsson  <jas@extundo.com>
78745
78746         * build-aux/maint.mk: Fix refresh-po, to handle no translated
78747         languages.
78748
78749 2006-03-07  Simon Josefsson  <jas@extundo.com>
78750
78751         * modules/getopt (Depends-on): Add unistd.
78752
78753         * modules/unistd: New file.
78754
78755 2006-03-07  Simon Josefsson  <jas@extundo.com>
78756
78757         * modules/gc-random: New file.
78758
78759 2006-03-07  Simon Josefsson  <jas@extundo.com>
78760
78761         * m4/unistd_h.m4: New file.
78762
78763 2006-03-07  Simon Josefsson  <jas@extundo.com>
78764
78765         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
78766         test to be side-effect free by storing the result in the cache
78767         variable gl_cv_lib_readline, and moving the assignment of
78768         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
78769         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78770
78771 2006-03-07  Simon Josefsson  <jas@extundo.com>
78772
78773         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
78774         error on missing devices (the functions will return an error).
78775
78776         * m4/gc.m4: Move random stuff to gc-random.m4
78777
78778 2006-03-07  Simon Josefsson  <jas@extundo.com>
78779
78780         * lib/unistd_.h: New file.
78781
78782 2006-03-07  Simon Josefsson  <jas@extundo.com>
78783
78784         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
78785
78786 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78787
78788         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
78789         Problem reported by Juan Manuel Guerrero.
78790
78791 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78792
78793         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
78794         the unistd module.
78795         * lib/getlogin_r.c: Likewise.
78796         * lib/getlogin_r.h: Likewise.
78797         * lib/glob.c: Likewise.
78798         * lib/pagealign_alloc.c: Likewise.
78799         * lib/unistd_.h: Remove; no longer needed.
78800
78801 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78802
78803         * MODULES.html.sh (Support for systems lacking POSIX:2001):
78804         Add unistd.
78805         * modules/c-stack (Depends-on): Add unistd.
78806         * modules/getlogin_r: Likewise.
78807         * modules/glob: Likewise.
78808         * modules/pagealign_alloc: Likewise.
78809         * modules/unistd (Files): Remove lib/unistd_.h.
78810         (EXTRA_DIST): Remove.
78811         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
78812         need unistd_.h.
78813         (MOSTLYCLEANFILES): Remove unistd.h-t.
78814
78815 2006-03-03  Simon Josefsson  <jas@extundo.com>
78816
78817         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
78818
78819 2006-03-03  Simon Josefsson  <jas@extundo.com>
78820
78821         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
78822         libidn and bison.
78823
78824 2006-03-03  Simon Josefsson  <jas@extundo.com>
78825
78826         * build-aux/maint.mk: Add indent target.
78827
78828 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
78829
78830         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
78831         our replacement poll.h in any case, to avoid a differing
78832         declaration from a system header.  Seen on AIX.
78833
78834 2006-03-01  Simon Josefsson  <jas@extundo.com>
78835
78836         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
78837         <kasal@ucw.cz>.
78838
78839 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78840
78841         * modules/gettime (Depends-on): Add extensions module.
78842         * modules/nanosleep (Depends-on): Likewise.
78843         * modules/settime (Depends-on): Likewise.
78844
78845 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78846
78847         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
78848         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
78849         pedantically.
78850         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78851         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
78852
78853         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
78854         not "==".  Reported by Ralf Wildenhues.
78855
78856 2006-03-01  Karl Berry  <karl@gnu.org>
78857
78858         * doc/Copyright/request-*: new files, synced from gnuorg.
78859
78860 2006-03-01  Karl Berry  <karl@gnu.org>
78861
78862         * config/srclist.txt (Copyright/*): new entries.
78863
78864 2006-02-28  Simon Josefsson  <jas@extundo.com>
78865
78866         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
78867
78868 2006-02-27  Simon Josefsson  <jas@extundo.com>
78869
78870         * lib/base64.h: Indent #define's.  From Jim Meyering
78871         <jim@meyering.net>.
78872
78873 2006-02-27  Jim Meyering  <jim@meyering.net>
78874
78875         Revert the change of 2006-02-24, so these files can continue
78876         to be sync'd from gettext.
78877         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
78878         of `config.h'.
78879
78880 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
78881
78882         * modules/intprops: New file.
78883         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
78884         Add intprops.
78885         * modules/getloadavg (Files): Remove lib/intprops.h.
78886         (Depends-on): Add intprops.
78887         * modules/human: Likewise.
78888         * modules/inttostr: Likewise.
78889         * modules/openat: Likewise.
78890         * modules/sig2str: Likewise.
78891         * modules/userspec: Likewise.
78892         * modules/utimecmp: Likewise.
78893         * modules/xnanosleep: Likewise.
78894         * modules/xstrtol: Likewise.
78895
78896 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
78897
78898         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
78899         * modules/lock-tests (TESTS): Use $(EXEEXT).
78900         * modules/tls-tests: Likewise.
78901         * modules/argp-tests: Likewise.
78902         (check_PROGRAMS): New var, replacing...
78903         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
78904
78905 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78906
78907         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
78908         `config.h'.
78909
78910 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
78911
78912         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
78913
78914 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78915
78916         Sync from coreutils.
78917         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
78918         gl_CHDIR_SAFER.
78919
78920 2006-02-22  Jim Meyering  <jim@meyering.net>
78921
78922         Sync from coreutils.
78923         * m4/chdir-safer.m4: New file.
78924
78925 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
78926
78927         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
78928         AT_FDCWD exceeds INT_MAX.
78929         * lib/openat.h (AT_FDCWD): Likewise.
78930
78931 2006-02-17  Eric Blake  <address@hidden>
78932
78933         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
78934
78935 2006-02-16  Simon Josefsson  <jas@extundo.com>
78936
78937         * modules/getaddrinfo (Depends-on): Add sys_socket.
78938
78939 2006-02-15  Simon Josefsson  <jas@extundo.com>
78940
78941         * build-aux/maint.mk: Add dsyntax-check rule.
78942
78943 2006-02-15  Eric Blake  <ebb9@byu.net>
78944
78945         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
78946         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
78947         'present but cannot compile' warnings on cygwin.
78948         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
78949         use ws2tcpip.h if sys/socket.h works.
78950         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
78951         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
78952
78953 2006-02-14  Simon Josefsson  <jas@extundo.com>
78954
78955         * modules/maintainer-makefile (Files): Rename.
78956
78957         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
78958         and (the local) Makefile.cfg to maint-cfg.mk.
78959
78960         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
78961         to the latter.
78962
78963         * modules/maintainer-makefile: New module.
78964
78965         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
78966         severaly stripped to make it possible to build it up from scratch
78967         with reliable tests.
78968
78969         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
78970         fixes to permit overriding the default actions when configure and
78971         makefile are not available.
78972
78973 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
78974
78975         Sync from coreutils.
78976         * modules/lstat (Depends-on): Don't depend on xalloc.
78977         (License): Change from GPL to LGPL, since this is now simply a
78978         replacement for a libc function.
78979
78980 2006-02-14  Jim Meyering  <jim@meyering.net>
78981
78982         Sync from coreutils.
78983
78984         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
78985         failure on deficient systems, and simplify gnulib lgpl dependencies.
78986         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
78987         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
78988
78989         * lib/xalloc-die.c: Remove unused definition of N_.
78990
78991 2006-02-14  Jim Meyering  <jim@meyering.net>
78992
78993         Sync from coreutils.
78994         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
78995         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
78996         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
78997         double-quote uses of that variable, to accommodate the rare case in
78998         which getmntent is available in none of the libraries checked.  This
78999         happens at least on FreeBSD 5.0.
79000
79001 2006-02-13  Simon Josefsson  <jas@extundo.com>
79002
79003         * gnulib-tool (Usage): Fix --import, from
79004         karl@freefriends.org (Karl Berry).
79005
79006 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
79007
79008         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
79009
79010 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
79011
79012         * lib/argp-namefrob.h: Restore changes accidentally lost during the
79013         "autoupdate" on 2005-12-12.
79014
79015 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
79016
79017         * modules/closeout (Depends-on): Remove atexit.
79018
79019 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
79020
79021         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
79022         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
79023
79024 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
79025
79026         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
79027         __EXTENSIONS__ if this causes compilation to fail.  Problem
79028         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
79029         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
79030
79031 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
79032
79033         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
79034         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
79035         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
79036         All uses changed.
79037
79038 2006-01-26  Simon Josefsson  <jas@extundo.com>
79039
79040         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
79041         prototype is visible on mingw32.
79042
79043         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
79044         for mingw32.
79045
79046         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
79047         mingw32).
79048
79049 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
79050
79051         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
79052         attempt to open for write; this always fails, at least on POSIX
79053         hosts.  This reinstates the 2006-01-09 change, which was
79054         inadvertently removed.
79055
79056 2006-01-26  Bruno Haible  <bruno@clisp.org>
79057
79058         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
79059         Reported by Paul Eggert.
79060
79061 2006-01-26  Bruno Haible  <bruno@clisp.org>
79062             Paul Eggert  <eggert@cs.ucla.edu>
79063
79064         * lib/stdbool_.h (_Bool)
79065         [(! (defined __cplusplus || defined __BEOS__)
79066           && !defined __GNUC__
79067           && !(defined __HP_cc || defined __xlc__
79068                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
79069                || defined __sgi))]:
79070         #define to signed char in these cases too; this simplifies
79071         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
79072         etc., separately) and makes it more conservative.
79073
79074 2006-01-25  Simon Josefsson  <jas@extundo.com>
79075
79076         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
79077         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
79078         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
79079
79080 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
79081
79082         * lib/argp-namefrob.h: Bugfix. Remove stray #
79083
79084 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
79085
79086         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
79087         so that we test the test.
79088         Check for yet another HP-UX cc bug involving *bool |= bool.
79089
79090 2006-01-25  Karl Berry  <karl@gnu.org>
79091
79092         * config/srclist.txt (vasnprintf.c): sync lost.
79093
79094 2006-01-25  Jim Meyering  <jim@meyering.net>
79095
79096         Sync from the stable (b5) branch of coreutils:
79097
79098         * lib/fts.c (fts_children): Don't let close() clobber errno from
79099         failed fchdir().
79100
79101         * lib/fts.c (fts_stat): When following a symlink-to-directory,
79102         don't necessarily interpret stat-fails+lstat-succeeds as indicating
79103         a dangling symlink.  That can also happen at least for ELOOP.
79104         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
79105         FYI, this bug predates the inclusion of fts.c in coreutils.
79106
79107         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
79108         in their own block, so pre-c99 compilers don't object.
79109
79110         Avoid the double-free (first in fts_read, second in fts_close) that
79111         would occur when an `active' directory is made inaccessible (e.g.,
79112         via chmod a-x) during a traversal.
79113         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
79114         before returning.  Reproduce this failure by
79115         mkdir -p a/b; cd a; chmod a-x . b
79116         Reported by Stavros Passas.
79117
79118 2006-01-25  Jim Meyering  <jim@meyering.net>
79119
79120         * lib/fileblocks.c: Remove more useless parentheses.
79121         * lib/readutmp.h: Likewise.
79122
79123 2006-01-25  Bruno Haible  <bruno@clisp.org>
79124
79125         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
79126         warnings.
79127         Reported by Paul Eggert.
79128
79129 2006-01-25  Bruno Haible  <bruno@clisp.org>
79130
79131         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
79132         rid of a trap command. For Solaris sh.
79133         Reported by Mark D. Baushke <mdb@gnu.org>.
79134
79135 2006-01-24  Simon Josefsson  <jas@extundo.com>
79136
79137         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
79138         Bruno.
79139
79140 2006-01-24  Karl Berry  <karl@gnu.org>
79141
79142         * config/srclist.txt (argp-namefrob.h): sync lost.
79143
79144 2006-01-24  Jim Meyering  <jim@meyering.net>
79145
79146         * modules/openat (Files): Add lib/intprops.h.
79147         From Mark D. Baushke.
79148
79149 2006-01-24  Jim Meyering  <jim@meyering.net>
79150
79151         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
79152         Reported by Mark D. Baushke.
79153
79154 2006-01-24  Jim Meyering  <jim@meyering.net>
79155
79156         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
79157
79158 2006-01-24  Bruno Haible  <bruno@clisp.org>
79159
79160         * modules/strnlen (Maintainer): Change from glibc to all.
79161
79162 2006-01-24  Bruno Haible  <bruno@clisp.org>
79163
79164         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
79165         Patch by Paul Eggert.
79166
79167 2006-01-24  Bruno Haible  <bruno@clisp.org>
79168
79169         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
79170         already has it.
79171         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
79172         2005-11-26.
79173
79174         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
79175         'signed char' to avoid problems with the built-in _Bool type.
79176         Reported by Paul Eggert on 2005-11-26.
79177
79178 2006-01-24  Bruno Haible  <bruno@clisp.org>
79179
79180         * gnulib-tool (func_import): Avoid constructing complicated sed
79181         expressions inside backquote.
79182         Report and solution by Mark D. Baushke <mdb@gnu.org>.
79183
79184 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
79185
79186         These changes imported from libc.
79187         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
79188         test and two separate function calls.
79189         * lib/strndup.c (__strndup): Add libc_hidden_def.
79190
79191 2006-01-23  Simon Josefsson  <jas@extundo.com>
79192
79193         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
79194         Remove the test_*_SOURCES variable: automake infers it by default.
79195         * modules/tls-tests: Likewise.
79196
79197 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79198
79199         Work around porting bugs reported by Dieter in
79200         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
79201         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
79202         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
79203         Include "getopt.h" first, to check interface.
79204         (getenv): Declare only if defined HAVE_DECL_GETENV &&
79205         !HAVE_DECL_GETENV.
79206         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
79207         (__strndup): Revert to K&R-style function dfns, the glibc style.
79208         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
79209         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
79210         Include strnlen.h first, to get prototype properly.
79211         (strnlen): Renamed from __strnlen.
79212         Remove weak alias.
79213
79214 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79215
79216         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
79217
79218 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79219
79220         * config/srclist.txt: Adjust to reflect glibc reorganization.
79221         This affects only comments.
79222
79223 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79224
79225          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
79226          Reported by Bruce Korb <bkorb@gnu.org>.
79227
79228 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
79229
79230         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
79231         to pacify gcc -Wswitch-default.
79232
79233 2006-01-22  Bruno Haible  <bruno@clisp.org>
79234
79235         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
79236         temporary buffer for sprintf, take into account the precision also
79237         for 'd', 'i', 'u', 'o', 'x', 'X'.
79238
79239 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
79240
79241         * modules/argp-tests: New module
79242         * tests/test-argp.c: New file
79243         * tests/test-argp-2.sh: New file
79244
79245 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
79246
79247         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
79248         (__argp_base_name): Removed
79249         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
79250         typo.
79251         (__argp_base_name): Provide macro definition or extern declaration
79252         depending on the configuration
79253
79254 2006-01-20  Simon Josefsson  <jas@extundo.com>
79255
79256         * modules/inet_ntop (Depends-on): Depend on sys_socket.
79257
79258 2006-01-20  Simon Josefsson  <jas@extundo.com>
79259
79260         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
79261
79262 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
79263
79264         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
79265         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
79266         Suggested by Bruno Haible.
79267
79268 2006-01-20  Karl Berry  <karl@gnu.org>
79269
79270         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
79271         until changes propagate, I guess.
79272
79273 2006-01-19  Simon Josefsson  <jas@extundo.com>
79274
79275         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
79276
79277 2006-01-19  Simon Josefsson  <jas@extundo.com>
79278
79279         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
79280
79281 2006-01-19  Simon Josefsson  <jas@extundo.com>
79282
79283         * gnulib-tool: Set check_PROGRAMS.
79284
79285         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
79286         modules/des-tests, modules/gc-arcfour-tests,
79287         modules/gc-arctwo-tests, modules/gc-des-tests,
79288         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
79289         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
79290         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
79291         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
79292         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
79293         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
79294         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
79295         test_*_SOURCES.
79296
79297 2006-01-18  Simon Josefsson  <jas@extundo.com>
79298
79299         * modules/socklen (Depends-on): Depend on sys_socket.
79300
79301 2006-01-18  Simon Josefsson  <jas@extundo.com>
79302
79303         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
79304         modules/des-tests, modules/gc-arcfour-tests,
79305         modules/gc-arctwo-tests, modules/gc-des-tests,
79306         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
79307         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
79308         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
79309         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
79310         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
79311         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
79312         $(EXEEXT) to automake TESTS variable, for mingw32.
79313
79314 2006-01-17  Simon Josefsson  <jas@extundo.com>
79315
79316         * modules/socklen (Include): Need sys/socket.h.
79317
79318 2006-01-17  Bruno Haible  <bruno@clisp.org>
79319
79320         * modules/ssize_t (Include): Add <sys/types.h>.
79321
79322 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
79323
79324         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
79325         it's not portable and it doesn't work with cross-compiles.
79326         Problem reported by Bruno Haible.  Fix missing-$ typo in
79327         'test "gl_cv_ignore_unused_libraries" ...' that prevented
79328         -zignore from being used with Sun's C compiler.
79329
79330 2006-01-12  Simon Josefsson  <jas@extundo.com>
79331
79332         * lib/base64.c: Fix warning, reported by Bruno Haible
79333         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
79334
79335 2006-01-12  Bruno Haible  <bruno@clisp.org>
79336
79337         * modules/ldd: New file.
79338         * build-aux/ldd.sh.in: New file.
79339         * MODULES.html.sh (Support for building libraries and executables): Add
79340         ldd.
79341
79342 2006-01-12  Bruno Haible  <bruno@clisp.org>
79343
79344         * m4/ldd.m4: New file.
79345
79346 2006-01-12  Bruno Haible  <bruno@clisp.org>
79347
79348         * gnulib-tool (func_import, func_create_testdir): Don't go into an
79349         endless loop while replacing $auxdir with build-aux.
79350
79351 2006-01-11  Simon Josefsson  <jas@extundo.com>
79352
79353         * lib/stdint_.h (SIZE_MAX): Add missing (.
79354
79355 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
79356
79357         Sync from coreutils.
79358         * lib/md5.c: Fix commentary typos.
79359         (alignof, UNALIGNED_P): No need for a GCC-specific version.
79360         * lib/md5.h (__attribute__): Remove; unused.
79361         * lib/sha1.c: Fix commentary to match md5 better.
79362         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
79363         so that we don't need to worry about alignment.  All uses changed.
79364         This merges the 2005-10-28 md5 change into sha1.
79365
79366 2006-01-11  Jim Meyering  <jim@meyering.net>
79367
79368         Sync from coreutils.
79369         * lib/md5.c (OP): Fix spacing.
79370
79371 2006-01-11  Bruno Haible  <bruno@clisp.org>
79372
79373         Ensure automatic ordering between gl_LOCK and gl_ARGP.
79374         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
79375         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
79376
79377 2006-01-11  Bruno Haible  <bruno@clisp.org>
79378
79379         Ensure automatic ordering between gl_LOCK and gl_ARGP.
79380         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
79381         the "early" section as well.
79382
79383 2006-01-11  Bruno Haible  <bruno@clisp.org>
79384
79385         Avoid "ar: no archive members specified" error on MacOS X.
79386         * gnulib-tool (func_modules_add_dummy): New function.
79387         (func_import, func_create_testdir): Invoke it.
79388
79389 2006-01-11  Bruno Haible  <bruno@clisp.org>
79390
79391         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
79392         with $auxdir in AC_CONFIG_FILES statements.
79393
79394 2006-01-11  Bruno Haible  <bruno@clisp.org>
79395
79396         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79397         Initialize also noinst_HEADERS to empty.
79398
79399 2006-01-11  Bruno Haible  <bruno@clisp.org>
79400
79401         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
79402         variables.
79403         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
79404         autoreconf.
79405
79406 2006-01-11  Bruno Haible  <bruno@clisp.org>
79407
79408         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
79409         overridable by the user.
79410         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79411
79412 2006-01-10  Simon Josefsson  <jas@extundo.com>
79413
79414         * modules/sys_socket: New file.
79415
79416 2006-01-10  Simon Josefsson  <jas@extundo.com>
79417
79418         * m4/sys_socket_h.m4: New file.
79419
79420 2006-01-10  Simon Josefsson  <jas@extundo.com>
79421
79422         * lib/socket_.h: New file.
79423
79424 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
79425
79426         * modules/readutmp (Maintainer): Add myself.
79427
79428 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
79429
79430         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
79431         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
79432         People who are still concerned with buggy memcmp implementations
79433         can invoke gl_FUNC_MEMCMP themselves.
79434
79435 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
79436
79437         * lib/regex_internal.h (BITSET_WORD_BITS):
79438         Work around a bug in 64-bit PGC (before version 6.1-2), where the
79439         preprocessor mishandles large unsigned values as if they were signed.
79440         Problem reported by Claudio Fontana in
79441         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
79442
79443 2006-01-10  Jim Meyering  <jim@meyering.net>
79444
79445         Avoid the double-free (first in fts_read, second in fts_close) that
79446         would occur when an `active' directory is made inaccessible (e.g.,
79447         via chmod a-x) during a traversal.
79448         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
79449         before returning.  Reproduce this failure by
79450         mkdir -p a/b; cd a; chmod a-x . b
79451         Reported by Stavros Passas.
79452
79453         Sync from coreutils.
79454         * lib/sha1.c: Tweak grammar in a comment.
79455
79456 2006-01-10  Jim Meyering  <jim@meyering.net>
79457
79458         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
79459         Patch by Joerg Sonnenberger.
79460
79461 2006-01-10  Bruno Haible  <bruno@clisp.org>
79462
79463         * modules/readutmp: Depend on module free.
79464         * modules/strtok_r: Depend on module restrict.
79465
79466 2006-01-10  Bruno Haible  <bruno@clisp.org>
79467
79468         * modules/gettext (configure.ac): Add an invocation of
79469         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
79470
79471 2006-01-10  Bruno Haible  <bruno@clisp.org>
79472
79473         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
79474         Reported by Werner Lemberg <wl@gnu.org>.
79475
79476 2006-01-10  Bruno Haible  <bruno@clisp.org>
79477
79478         * lib/localcharset.c: Update from GNU gettext.
79479
79480 2006-01-10  Bruno Haible  <bruno@clisp.org>
79481
79482         * lib/argp.h (__const): Remove macro. Use const instead.
79483         * lib/argp-fmtstream.h (__const): Likewise.
79484         * lib/glob_.h (__const): Remove macro.
79485         * lib/glob-libc.h: Use const instead of __const.
79486
79487 2006-01-10  Bruno Haible  <bruno@clisp.org>
79488
79489         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
79490         variable.
79491         Needed to avoid an automake error regarding the 'gettext' module.
79492
79493 2006-01-09  Simon Josefsson  <jas@extundo.com>
79494
79495         * modules/inet_ntop (Depends-on): Add restrict.
79496
79497 2006-01-09  Simon Josefsson  <jas@extundo.com>
79498
79499         * modules/gc-rijndael-tests (License): Put under LGPL.
79500
79501         * modules/gc-des-tests (License): Likewise.
79502
79503         * modules/gc-arcfour-tests (License): Likewise.
79504
79505         * modules/gc-arctwo-tests (License): Likewise.
79506
79507         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
79508
79509         * modules/gc-hmac-sha1-tests (Files): Likewise.
79510
79511         * modules/gc-hmac-md5-tests (License): Likewise.
79512
79513         * modules/gc-sha1-tests (License): Likewise.
79514
79515         * modules/gc-md5-tests (License): Likewise.
79516
79517         * modules/gc-md4-tests (License): Likewise.
79518
79519         * modules/gc-md2-tests (License): Likewise.
79520
79521         * modules/gc-tests (License): Likewise.
79522
79523         * modules/des-tests (License): Likewise.
79524
79525         * modules/md4-tests (License): Likewise.
79526
79527         * modules/md2-tests (License): Likewise.
79528
79529 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79530
79531         Sync from coreutils:
79532
79533         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
79534         * modules/lib-ignore: New file.
79535         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
79536         chdir-safer.m4, lchmod.m4.
79537         * modules/openat: Add mkdirat.c, openat-priv.h.
79538
79539 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79540
79541         Sync from coreutils.
79542         * m4/lib-ignore.m4: New file.
79543         * m4/lchmod.m4: New file.
79544
79545 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79546
79547         Sync from coreutils.
79548         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
79549         for write access: POSIX says that must fail.
79550         * lib/fts.c (diropen): Likewise.
79551         * lib/save-cwd.c (save_cwd): Likewise.
79552         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
79553         well, for minor improvements on hosts that lack O_DIRECTORY.
79554         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
79555         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
79556         Fall back on chown if open failed with EACCES.
79557
79558         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
79559         Report an error at compile-time if only a 1-second nominal clock
79560         resolution is found.
79561
79562         * lib/lchmod.h: New file.
79563         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
79564         (make_dir_parents): Use lchown rather than chown, and
79565         lchmod rather than chmod.
79566
79567         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
79568         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
79569         "proc" reported by n0dalus.
79570
79571         * lib/mountlist.c: Include <limits.h>.
79572         (dev_from_mount_options)
79573         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
79574         New function.  It no longer assumes "dev=" has the System V meaning
79575         on Linux (since it doesn't).  It also parses "dev=" more carefully.
79576         (read_file_system_list)
79577         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
79578         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
79579         dev= in that case.
79580
79581         * lib/posixtm.h (PDS_PRE_2000): New macro.
79582         * lib/posixtm.c (year): Arg is now syntax_bits rather than
79583         allow_century.  All usages changed.  Reject dates outside the range
79584         1969-1999 if PDS_PRE_2000 is used.
79585
79586 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79587
79588         Sync from coreutils.
79589         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
79590         (Time of day items): Mention the possibility of leap seconds.
79591         Problem reported by Dr. David Alan Gilbert.
79592
79593 2006-01-09  Jim Meyering  <jim@meyering.net>
79594
79595         Sync from coreutils.
79596
79597         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
79598
79599         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
79600
79601         * lib/modechange.c (mode_compile): Reject an invalid mode string
79602         that starts with an octal digit.  From Andreas Gruenbacher.
79603
79604         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
79605         and dup to open_safer and dup_safer, respectively.
79606         (openat_permissive): Fix typo in comment.
79607
79608         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
79609         "gettext.h"; either no longer needed or are guaranteed by openat.h.
79610         (_): Remove; no longer needed.
79611         (openat): Renamed from rpl_openat; no need for rpl_openat
79612         since openat.h renames openat for us.
79613         Replace most of the body with a call to openat_permissive,
79614         to avoid duplicate code.
79615         Port to (probably hypothetical) environments were mode_t is
79616         wider than int.
79617         (openat_permissive): Require mode arg, so that we can check
79618         types better.  Put it just after flags.  Change cwd failure
79619         indicator from pointer-to-bool to pointer-to-errno-value.
79620         All callers changed.
79621         Invoke openat_save_fail and/or openat_restore_fail if
79622         cwd_errno is null, so that openat can call us.
79623         (openat_permissive, fdopendir, fstatat, unlinkat):
79624         Simplify errno handling to avoid some duplicate code,
79625         as it's OK to set errno on success.
79626         * lib/openat.h: Revamp code so that function macros depend on
79627         __OPENAT_PREFIX only, not also on AT_FDCWD.
79628         (openat_ro): Remove.  Caller changed to use openat_permissive.
79629         (openat_permissive): Now a macro, if not a function.
79630         (openat_restore_fail, openat_save_fail): Now always functions,
79631         since mkdirat needs them even if __OPENAT_PREFIX is defined.
79632
79633         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
79634         and openat.c.
79635         * lib/mkdirat.c: Include openat-priv.h.
79636         Remove definitions of macros defined therein.
79637         * lib/openat.c: Likewise.
79638
79639         * lib/mkdirat.c (mkdirat): New file and function.
79640         * lib/openat.h (mkdirat): Declare.
79641
79642         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
79643
79644         * lib/openat.h (openat_permissive): Declare.
79645         (openat_ro): Define.
79646
79647         * lib/openat.c (EXPECTED_ERRNO): New macro.
79648         (openat_permissive): New function -- used in remove.c rewrite.
79649         (all functions): Set errno just before returning, only if there
79650         was an actual failure.
79651         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
79652
79653         Emulate openat-family functions using Linux's procfs, if possible.
79654         Idea and some code based on Ulrich Drepper's glibc changes.
79655
79656         * lib/openat.c: (BUILD_PROC_NAME): New macro.
79657         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
79658         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
79659         before falling back on save_cwd and restore_cwd.
79660         (fdopendir, fstatat, unlinkat): Likewise.
79661
79662         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
79663         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
79664
79665         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
79666         as second argument to va_arg.  Otherwise, some versions of gcc
79667         warn that `if this code is reached, the program will abort'.
79668
79669 2006-01-09  Jim Meyering  <jim@meyering.net>
79670
79671         Sync from coreutils.
79672         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
79673         Require openat-priv.h.
79674
79675 2006-01-09  Bruno Haible  <bruno@clisp.org>
79676
79677         * modules/strnlen (Include): Use strnlen.h.
79678
79679 2006-01-09  Bruno Haible  <bruno@clisp.org>
79680
79681         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
79682
79683 2006-01-09  Bruno Haible  <bruno@clisp.org>
79684
79685         * lib/sysexit_.h (EX_OK): New macro.
79686         Suggested by Martin Lambers <marlam@marlam.de>.
79687
79688 2006-01-09  Bruno Haible  <bruno@clisp.org>
79689
79690         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
79691         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
79692
79693 2006-01-09  Bruno Haible  <bruno@clisp.org>
79694
79695         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
79696         numbers.
79697
79698 2006-01-09  Bruno Haible  <bruno@clisp.org>
79699
79700         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
79701         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
79702         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
79703         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
79704
79705 2006-01-09  Bruno Haible  <bruno@clisp.org>
79706
79707         * build-aux/javacomp.sh.in: New file, moved from lib/.
79708         * modules/javacomp-script (Files): Update.
79709         (configure.ac): Add AC_CONFIG_FILES invocation.
79710         (EXTRA_DIST): Remove variable.
79711
79712         * build-aux/javaexec.sh.in: New file, moved from lib/.
79713         * modules/javaexec (Files): Update.
79714         (configure.ac): Add AC_CONFIG_FILES invocation.
79715         (EXTRA_DIST): Remove javaexec.sh.in.
79716
79717         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
79718         * modules/csharpcomp-script (Files): Update.
79719         (configure.ac): Add AC_CONFIG_FILES invocation.
79720         (EXTRA_DIST): Remove variable.
79721
79722         * build-aux/csharpexec.sh.in: New file, moved from lib/.
79723         * modules/csharpexec (Files): Update.
79724         (configure.ac): Add AC_CONFIG_FILES invocation.
79725         (EXTRA_DIST): Remove csharpexec.sh.in.
79726
79727 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79728
79729         Sync from coreutils.
79730
79731         Add POSIX ACL support
79732         * lib/acl.h (copy_acl, set_acl): Add declarations.
79733         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
79734         systems other than Linux.
79735         (chmod_or_fchmod): New function: use fchmod when possible,
79736         and chmod otherwise.
79737         (file_has_acl): Add a POSIX ACL implementation, with a
79738         Linux-specific subcase.
79739         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
79740         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
79741         acls are unsupported.
79742         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
79743         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
79744         are unsupported.
79745
79746 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79747
79748         Sync from coreutils.
79749         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
79750
79751 2006-01-07  Bruno Haible  <bruno@clisp.org>
79752
79753         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
79754         gl_EARLY.
79755
79756 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79757
79758         * lib/strftime.c (tzname): Don't declare if it is already #defined.
79759         Problem reported for Mingw by Mark Junker.
79760
79761 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79762
79763         * README: Gnulib normally doesn't generate a tarball.
79764
79765 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
79766
79767         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
79768         long int, not int, for nanosecond counts, so that people who are
79769         used to POSIX struct timespec won't be surprised.  Reported by Jim
79770         Meyering.
79771
79772 2005-12-28  Bruno Haible  <bruno@clisp.org>
79773
79774         * build-aux/config.rpath: Update from GNU gettext.
79775
79776 2005-12-16  Jim Meyering  <jim@meyering.net>
79777
79778         * modules/fprintftime: New module.
79779         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
79780
79781 2005-12-16  Jim Meyering  <jim@meyering.net>
79782
79783         * m4/fprintftime.m4: New file.
79784
79785 2005-12-16  Jim Meyering  <jim@meyering.net>
79786
79787         * lib/fprintftime.c, lib/fprintftime.h: New files.
79788
79789 2005-12-15  Simon Josefsson  <jas@extundo.com>
79790
79791         * modules/socklen (configure.ac): Fix M4 macro name, to align with
79792         new m4/socklen.m4.
79793
79794 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79795
79796         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
79797         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
79798
79799 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79800
79801         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
79802         * lib/argp-help.c (fill_in_uparams): Check if the constructed
79803         struct uparams is valid. Fall back to the default values if it is
79804         not.
79805
79806 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79807
79808         * modules/argp (Files): Add argp-pin.c
79809         (Depends-on): dirname
79810         (lib_SOURCES): Add argp-pin.c
79811
79812 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79813
79814         * m4/argp.m4:  Check if program_invocation_name and
79815         program_invocation_short_name are declared and define appropriate
79816         macros if they are not.
79817
79818 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79819
79820         * lib/argp-help.c (__argp_base_name): New function
79821         (__argp_short_program_name): Rewrite using __argp_base_name
79822         * lib/argp-namefrob.h: Define program_invocation_name and
79823         program_invocation_short_name if requested
79824         (__argp_base_name): Add prototype
79825         * lib/argp-parse.c (argp_def): Use gettext wrappers
79826         (argp_default_parser): Use __argp_base_name
79827         * lib/argp-pin.c: New file. Defines program_invocation_name and
79828         program_invocation_short_name on systems that lack them.
79829
79830 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79831
79832         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
79833         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
79834         porting problem reported by Georg Schwarz in
79835         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
79836
79837 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79838
79839         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
79840         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
79841         porting problem reported by Georg Schwarz in
79842         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
79843
79844 2005-12-05  Bruno Haible  <bruno@clisp.org>
79845
79846         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
79847         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
79848         Reported by Mark Junker <mjscod@gmx.de>.
79849
79850 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
79851
79852         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
79853         Use implementation from Albert Chin, with some
79854         comments/corrections by Stepan Kasal and myself.
79855
79856 2005-12-02  Bruno Haible  <bruno@clisp.org>
79857
79858         * gnulib-tool (func_import): Accept GPLed build tool modules when
79859         --lgpl is given.
79860         * modules/csharpcomp-script: New file.
79861         * modules/csharpcomp: Depend on it.
79862         * modules/javacomp-script: New file.
79863         * modules/javacomp: Depend on it.
79864         Suggested by Simon Josefsson.
79865
79866 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
79867
79868         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
79869         statement, to work around an HP-UX 10.20 compiler bug reported by
79870         Peter O'Gorman.
79871
79872 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
79873
79874         * modules/savedir (Depends-on): Add openat.
79875
79876 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
79877
79878         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
79879         (uintmax_t) [defined uintmax_t]: Do not declare.
79880         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
79881         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
79882         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
79883         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
79884         sake of portability to weird hosts that C allows (though we don't
79885         know of any practical examples).
79886
79887         * lib/savedir.h (fdsavedir): New decl.
79888         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
79889         contains most of the former guts of savedir.
79890         (savedir): Use savedirstream.
79891         Include "openat.h".
79892
79893 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
79894
79895         * modules/obstack (Files): Add m4/ulonglong.m4.
79896         Problem reported by Davide Angelocola.
79897
79898 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
79899
79900         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
79901         coreutils no longer futzes with rounding modes.
79902
79903 2005-11-14  Jim Meyering  <jim@meyering.net>
79904
79905         * lib/mkstemp-safer.c: Include <config.h>, required for possible
79906         replacement of mkstemp.
79907
79908 2005-11-10  Simon Josefsson  <jas@extundo.com>
79909
79910         * lib/readline.c: Remove EOL.
79911
79912 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79913
79914         * modules/gethrxtime (Depends-on): Add gettime.
79915
79916 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79917
79918         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
79919         or gettimeofday; no longer needed.
79920
79921 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79922
79923         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
79924         time business.
79925         (gethrxtime) [! (HAVE_NANOUPTIME
79926         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
79927         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
79928         our own approximation.
79929
79930 2005-11-08  Eric Blake  <ebb9@byu.net>
79931
79932         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
79933
79934 2005-11-08  Eric Blake  <ebb9@byu.net>
79935
79936         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
79937
79938 2005-11-04  Bruno Haible  <bruno@clisp.org>
79939
79940         * gnulib-tool: Implement --update mode.
79941
79942 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
79943
79944         Fix porting problem reported by Theodoros V. Kalamatianos.
79945         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
79946         Don't assume that futimes failing means we must fail.
79947
79948 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
79949
79950         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
79951         variables to suggest the intended function of the PATH_MAX check.
79952
79953 2005-10-30  Kean Johnston  <jkj@sco.com>
79954
79955         Trivial changes to support SCO systems.
79956         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
79957         as PATH_MAX.
79958         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
79959         where __ptr is null when no I/O is pending.
79960
79961 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79962
79963         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
79964         leave errno alone.  Problem reported by Dmitry V. Levin.
79965
79966 2005-10-28  Simon Josefsson  <jas@extundo.com>
79967
79968         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
79969         Test more.
79970
79971         * tests/test-gc-md2.c, tests/test-md2.c: New files.
79972
79973         * modules/md2, modules/md2-tests: New files.
79974
79975 2005-10-28  Simon Josefsson  <jas@extundo.com>
79976
79977         * m4/inet_ntop.m4: More tests.
79978
79979         * m4/gc-md2.m4, md2.m4: New file.
79980
79981 2005-10-28  Simon Josefsson  <jas@extundo.com>
79982
79983         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
79984         "restrict" keywords, as per POSIX.  Protect the function
79985         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
79986         Don't use K&R prototypes.  Check the sprintf return values.
79987         Re-define EAFNOSUPPORT if not present.  Indent.
79988
79989         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
79990         suggested by Bruno Haible <bruno@clisp.org>.
79991
79992         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
79993
79994         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
79995
79996         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
79997         libgcrypt).
79998
79999         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
80000
80001         * lib/md2.h, lib/md2.c: New files.
80002
80003 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
80004
80005         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
80006         errno alone.  Problem reported by Frederic Jolliton.
80007
80008 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
80009
80010         * modules/verify (License): Change from GPL to LGPL.  This is a
80011         tiny module and there are apparently near-equivalents that are
80012         under the BSD license.
80013
80014 2005-10-24  Simon Josefsson  <jas@extundo.com>
80015
80016         * modules/sha1: Relicense to LGPL.
80017
80018 2005-10-24  Simon Josefsson  <jas@extundo.com>
80019
80020         * lib/md4.h: Shrink buffer size, now that we changed the type.
80021
80022 2005-10-23  Simon Josefsson  <jas@extundo.com>
80023
80024         * gnulib-tool (func_import): Fix --tests-base.
80025
80026 2005-10-22  Simon Josefsson  <jas@extundo.com>
80027
80028         * modules/arcfour (Depends-on): Need stdint.
80029
80030 2005-10-22  Simon Josefsson  <jas@extundo.com>
80031
80032         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
80033         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
80034
80035 2005-10-22  Simon Josefsson  <jas@extundo.com>
80036
80037         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
80038         suggested by Bruno Haible <bruno@clisp.org>.
80039
80040 2005-10-22  Simon Josefsson  <jas@extundo.com>
80041
80042         * lib/crc.h: Include stddef.h, for size_t.
80043
80044 2005-10-22  Simon Josefsson  <jas@extundo.com>
80045
80046         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
80047         arcfour_context struct (simplify test vector testing in GNU
80048         Shishi).
80049
80050 2005-10-21  Simon Josefsson  <jas@extundo.com>
80051
80052         * modules/des, modules/des-tests: New files.
80053
80054         * modules/gc-des, modules/gc-des-tests: New files.
80055
80056         * tests/test-des.c, tests/test-gc-des.c: New file.
80057
80058 2005-10-21  Simon Josefsson  <jas@extundo.com>
80059
80060         * modules/arctwo, modules/arctwo-tests: New files.
80061
80062         * tests/test-arctwo.c: New file.
80063
80064         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
80065
80066         * tests/test-gc-arctwo.c: New file.
80067
80068 2005-10-21  Simon Josefsson  <jas@extundo.com>
80069
80070         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
80071         Bruno Haible <bruno@clisp.org>.
80072
80073         * m4/gc-des.m4: New file.
80074
80075 2005-10-21  Simon Josefsson  <jas@extundo.com>
80076
80077         * m4/arctwo.m4: New file.
80078
80079         * m4/gc-arctwo.m4: New file.
80080
80081 2005-10-21  Simon Josefsson  <jas@extundo.com>
80082
80083         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
80084         block.
80085
80086 2005-10-21  Simon Josefsson  <jas@extundo.com>
80087
80088         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
80089         <bruno@clisp.org>.
80090
80091         * lib/hmac-sha1.c (hmac_sha1): Likewise.
80092
80093         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
80094         Bruno Haible <bruno@clisp.org>.
80095
80096         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
80097         <bruno@clisp.org>.
80098
80099 2005-10-21  Simon Josefsson  <jas@extundo.com>
80100
80101         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
80102
80103 2005-10-21  Simon Josefsson  <jas@extundo.com>
80104
80105         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
80106
80107 2005-10-21  Simon Josefsson  <jas@extundo.com>
80108
80109         * lib/des.h, lib/des.c: New files.
80110
80111         * lib/gc-gnulib.c: Support DES.c
80112
80113 2005-10-21  Simon Josefsson  <jas@extundo.com>
80114
80115         * lib/arctwo.h, lib/arctwo.c: New files.
80116
80117         * lib/gc-gnulib.c: Support ARCTWO.
80118
80119 2005-10-21  Simon Josefsson  <jas@extundo.com>
80120
80121         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
80122         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80123
80124 2005-10-21  Simon Josefsson  <jas@extundo.com>
80125
80126         * gnulib-tool (func_import, func_create_testdir): Define automake
80127         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
80128         Makefile.am snippet),
80129         suggested by Bruno Haible <bruno@clisp.org>.
80130
80131         * modules/gc (Makefile.am): Use it.
80132
80133 2005-10-21  Bruno Haible  <bruno@clisp.org>
80134
80135         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
80136         patch.
80137
80138 2005-10-19  Simon Josefsson  <jas@extundo.com>
80139
80140         * tests/test-gc-rijndael.c: New file.
80141
80142         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
80143
80144 2005-10-19  Simon Josefsson  <jas@extundo.com>
80145
80146         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
80147         interface too.
80148
80149 2005-10-19  Simon Josefsson  <jas@extundo.com>
80150
80151         * tests/test-gc-arcfour.c: New file.
80152
80153         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
80154
80155 2005-10-19  Simon Josefsson  <jas@extundo.com>
80156
80157         * modules/gc-md4, modules/gc-md4-tests: New file.
80158
80159         * tests/test-gc-md4.c: New file.
80160
80161 2005-10-19  Simon Josefsson  <jas@extundo.com>
80162
80163         * m4/gc-md4.m4: New file.
80164
80165 2005-10-19  Simon Josefsson  <jas@extundo.com>
80166
80167         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
80168         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
80169         <kasal@ucw.cz>.
80170
80171 2005-10-19  Simon Josefsson  <jas@extundo.com>
80172
80173         * m4/gc-arcfour.m4: New file.
80174
80175         * m4/gc-rijndael.m4: New file.
80176
80177 2005-10-19  Simon Josefsson  <jas@extundo.com>
80178
80179         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
80180
80181 2005-10-19  Simon Josefsson  <jas@extundo.com>
80182
80183         * lib/gc-gnulib.c: Support ARCFOUR.
80184
80185 2005-10-19  Simon Josefsson  <jas@extundo.com>
80186
80187         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
80188         support.
80189
80190         * lib/gc.h: Add ECB enum type.
80191
80192         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
80193
80194 2005-10-18  Simon Josefsson  <jas@extundo.com>
80195
80196         * tests/test-md5.c: New file.
80197
80198         * modules/md5-tests: New file.
80199
80200 2005-10-18  Simon Josefsson  <jas@extundo.com>
80201
80202         * tests/test-md4.c: New file.
80203
80204         * modules/md4, modules/md4-tests: New files.
80205
80206 2005-10-18  Simon Josefsson  <jas@extundo.com>
80207
80208         * m4/md4.m4: New file.
80209
80210 2005-10-18  Simon Josefsson  <jas@extundo.com>
80211
80212         * lib/md4.h, lib/md4.c: New files, based on md5.?.
80213
80214 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
80215
80216         * gnulib-tool (func_create_testdir): Omit the second check whether
80217         BUILT_SOURCES in nonempty.
80218
80219 2005-10-17  Simon Josefsson  <jas@extundo.com>
80220
80221         * tests/test-rijndael.c: New file.
80222
80223 2005-10-17  Simon Josefsson  <jas@extundo.com>
80224
80225         * modules/sha1: Depend on stdint instead of md5.
80226
80227         * modules/md5: Depend on stdint, remove uint32_t.
80228
80229 2005-10-17  Simon Josefsson  <jas@extundo.com>
80230
80231         * modules/gc-sha1-tests: New file.
80232
80233         * tests/test-gc-sha1.c: New file.
80234
80235 2005-10-17  Simon Josefsson  <jas@extundo.com>
80236
80237         * m4/md5.m4: Remove call to uint32_t.m4.
80238
80239 2005-10-17  Simon Josefsson  <jas@extundo.com>
80240
80241         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
80242
80243         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
80244         md5.h.
80245
80246         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
80247
80248         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
80249
80250 2005-10-17  Simon Josefsson  <jas@extundo.com>
80251
80252         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
80253
80254 2005-10-17  Simon Josefsson  <jas@extundo.com>
80255
80256         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
80257
80258 2005-10-17  Simon Josefsson  <jas@extundo.com>
80259
80260         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
80261
80262         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
80263
80264 2005-10-17  Bruno Haible  <bruno@clisp.org>
80265
80266         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
80267         that it can also be used in a test.
80268
80269 2005-10-16  Bruno Haible  <bruno@clisp.org>
80270
80271         * gnulib-tool (func_emit_tests_Makefile_am): Also define
80272         TESTS_ENVIRONMENT, so that individual tests can augment it.
80273
80274         * gnulib-tool (func_create_testdir): Use an intermediate target for
80275         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
80276         macros, like $(ALLOCA_H), which cannot be passed through the command
80277         line.
80278
80279 2005-10-15  Simon Josefsson  <jas@extundo.com>
80280
80281         * modules/rijndael-tests: New file.
80282
80283         * modules/rijndael: New file.
80284
80285 2005-10-15  Simon Josefsson  <jas@extundo.com>
80286
80287         * m4/rijndael.m4: New file.
80288
80289 2005-10-15  Simon Josefsson  <jas@extundo.com>
80290
80291         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
80292
80293         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
80294
80295 2005-10-14  Simon Josefsson  <jas@extundo.com>
80296
80297         * tests/test-arcfour.c: New file.
80298
80299         * modules/arcfour, modules/arcfour-tests: New files.
80300
80301 2005-10-14  Simon Josefsson  <jas@extundo.com>
80302
80303         * m4/arcfour.m4: New file.
80304
80305 2005-10-14  Simon Josefsson  <jas@extundo.com>
80306
80307         * lib/arcfour.h, lib/arcfour.c: New files.
80308
80309 2005-10-14  Roland McGrath  <roland@redhat.com>
80310
80311         Import from libc.  [BZ #1331]
80312         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
80313         macro argument.
80314         Reported by Matej Vela <vela@debian.org>.
80315
80316 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
80317
80318         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
80319         include <wchar.h>; no longer needed.
80320
80321 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
80322
80323         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
80324
80325 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
80326         and  Ulrich Drepper  <drepper@redhat.com>
80327
80328         Import from libc.
80329         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
80330         instead of inline stream orientation test and two separate
80331         function calls.  Pay no attention to USE_IN_LIBIO.
80332
80333 2005-10-13  Simon Josefsson  <jas@extundo.com>
80334
80335         * modules/gc-hmac-md5-tests: New file.
80336
80337         * tests/test-gc-hmac-sha1.c: New file.
80338
80339         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
80340
80341         * modules/gc-hmac-md5-tests: New file.
80342
80343         * tests/test-gc-md5.c: New file.
80344
80345         * modules/gc-md5-tests: New file.
80346
80347 2005-10-13  Simon Josefsson  <jas@extundo.com>
80348
80349         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
80350         Move memory allocation outside of loop.
80351
80352 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
80353
80354         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
80355         intermediate directory is in a read-only file system.  Problem
80356         reported by Eric Blake.
80357
80358 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
80359
80360         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
80361
80362 2005-10-12  Simon Josefsson  <jas@extundo.com>
80363
80364         * tests/test-hmac-sha1.c: New file.
80365
80366         * modules/hmac-sha1-tests: New file.
80367
80368         * modules/hmac-sha1: New file.
80369
80370 2005-10-12  Simon Josefsson  <jas@extundo.com>
80371
80372         * modules/gc-sha1: New file.
80373
80374 2005-10-12  Simon Josefsson  <jas@extundo.com>
80375
80376         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
80377
80378         * tests/test-gc-pbkdf2-sha1.c: New file.
80379
80380 2005-10-12  Simon Josefsson  <jas@extundo.com>
80381
80382         * modules/gc-md5, modules/gc-hmac-md5: New files.
80383
80384         * modules/gc (Files): Remove md5, memxor and hmac files.
80385
80386 2005-10-12  Simon Josefsson  <jas@extundo.com>
80387
80388         * m4/gc-pbkdf2-sha1.m4: New file.
80389
80390         * m4/gc-hmac-sha1.m4: New file.
80391
80392         * m4/gc-sha1: New file.
80393
80394         * m4/hmac-sha1.m4: New file.
80395
80396 2005-10-12  Simon Josefsson  <jas@extundo.com>
80397
80398         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
80399
80400         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
80401
80402 2005-10-12  Simon Josefsson  <jas@extundo.com>
80403
80404         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
80405         suggested by Bruno Haible <bruno@clisp.org>.
80406
80407 2005-10-12  Simon Josefsson  <jas@extundo.com>
80408
80409         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
80410
80411 2005-10-12  Simon Josefsson  <jas@extundo.com>
80412
80413         * lib/gc-pbkdf2-sha1.c: New file.
80414
80415         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
80416
80417 2005-10-12  Simon Josefsson  <jas@extundo.com>
80418
80419         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
80420
80421         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
80422
80423 2005-10-12  Simon Josefsson  <jas@extundo.com>
80424
80425         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
80426         GC_USE_HMAC_MD5, respectively.
80427
80428         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
80429         (gc_md5): Fix typo.
80430
80431         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
80432
80433         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
80434
80435         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
80436
80437 2005-10-12  Bruno Haible  <bruno@clisp.org>
80438
80439         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
80440         Reported by Stepan Kasal <kasal@ucw.cz>.
80441
80442 2005-10-11  Simon Josefsson  <jas@extundo.com>
80443
80444         * tests/test-crc.c: New file.
80445
80446         * modules/crc, modules/crc-tests: New files.
80447
80448 2005-10-11  Simon Josefsson  <jas@extundo.com>
80449
80450         * m4/crc.m4: New file.
80451
80452 2005-10-11  Simon Josefsson  <jas@extundo.com>
80453
80454         * lib/gc.h: Add gc_hash and gc_hash_buffer.
80455
80456         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
80457
80458         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
80459
80460 2005-10-11  Simon Josefsson  <jas@extundo.com>
80461
80462         * lib/crc.h, lib/crc.c: New files.
80463
80464         * lib/gc.h (gc_hash_buffer): Add doc.
80465
80466 2005-10-11  Bruno Haible  <bruno@clisp.org>
80467
80468         * modules/c-strcasestr: New file.
80469         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
80470
80471 2005-10-11  Bruno Haible  <bruno@clisp.org>
80472
80473         * modules/c-strcase: New file.
80474         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
80475
80476 2005-10-11  Bruno Haible  <bruno@clisp.org>
80477
80478         * lib/strcasecmp.c: Include limits.h.
80479         (strcasecmp): Avoid integer overflow on exotic platforms.
80480         * lib/strncasecmp.c: Include limits.h.
80481         (strncasecmp): Avoid integer overflow on exotic platforms.
80482         Reported by Paul Eggert.
80483
80484 2005-10-11  Bruno Haible  <bruno@clisp.org>
80485
80486         * lib/c-strcasestr.h: New file, from GNU gettext.
80487         * lib/c-strcasestr.c: New file, from GNU gettext.
80488
80489 2005-10-11  Bruno Haible  <bruno@clisp.org>
80490
80491         * lib/c-strcase.h: New file, from GNU gettext.
80492         * lib/c-strcasecmp.c: New file, from GNU gettext.
80493         * lib/c-strncasecmp.c: New file, from GNU gettext.
80494
80495 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
80496
80497         * modules/mempcpy (License): GPL -> LGPL.
80498         * modules/strchrnul (License): Likewise.
80499         * modules/sysexits (License): Likewise.
80500
80501 2005-10-08  Simon Josefsson  <jas@extundo.com>
80502
80503         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
80504
80505 2005-10-07  Simon Josefsson  <jas@extundo.com>
80506
80507         * m4/memxor.m4: Remove gl_C_RESTRICT call.
80508
80509 2005-10-06  Simon Josefsson  <jas@extundo.com>
80510
80511         * tests/test-hmac-md5.c: New file.
80512
80513         * modules/hmac-md5-tests: New file.
80514
80515         * modules/hmac-md5: New file.
80516
80517 2005-10-06  Simon Josefsson  <jas@extundo.com>
80518
80519         * m4/hmac-md5.m4: New file.
80520
80521         * m4/memxor.m4: Require gl_C_RESTRICT.
80522
80523 2005-10-06  Simon Josefsson  <jas@extundo.com>
80524
80525         * lib/memxor.c (memxor): Avoid casts and warnings.
80526
80527 2005-10-06  Simon Josefsson  <jas@extundo.com>
80528
80529         * lib/hmac-md5.c: New file.
80530
80531         * lib/hmac.h: New file.
80532
80533 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
80534
80535         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
80536         promotes to int, not unsigned int, to catch the AIX 5.3
80537         compiler bug.
80538
80539 2005-10-05  Simon Josefsson  <jas@extundo.com>
80540
80541         * modules/memxor: New file.
80542
80543         * modules/iconv (Files): Move config.rpath to havelib, it is used
80544         there.
80545
80546         * modules/havelib (Files): Add config.rpath.
80547
80548 2005-10-05  Simon Josefsson  <jas@extundo.com>
80549
80550         * m4/memxor.m4: New file.
80551
80552 2005-10-05  Simon Josefsson  <jas@extundo.com>
80553
80554         * lib/memxor.c (memxor): Fix compiler error.
80555
80556         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
80557         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
80558
80559         * lib/memxor.h, lib/memxor.c: New files.
80560
80561         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
80562         we assume all systems have it, suggested by Jim Meyering
80563         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
80564         any systems lack sys/socket.h; mingw32 is known to lack it, but we
80565         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
80566         same reasons.
80567
80568 2005-10-05  Simon Josefsson  <jas@extundo.com>
80569
80570         * config/srclist.txt: Add glibc bug 1423 for md5.h.
80571
80572 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
80573
80574         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
80575         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
80576         needed, since the source code now assumes these .h files.
80577
80578 2005-10-05  Derek Price  <derek@ximbiot.com>
80579
80580         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
80581
80582 2005-10-05  Bruno Haible  <bruno@clisp.org>
80583
80584         * modules/stdint (License): Change to LGPL.
80585
80586 2005-10-04  Simon Josefsson  <jas@extundo.com>
80587
80588         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
80589         D. Baushke" <mdb@gnu.org>.
80590
80591 2005-10-04  Bruno Haible  <bruno@clisp.org>
80592
80593         * lib/verify.h (verify_true): Provide alternative definition for C++.
80594
80595 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
80596
80597         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
80598         (SSIZE_MAX): New macro, if not already defined.
80599         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
80600         than 2 GiB.
80601
80602 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80603
80604         Sync from coreutils.
80605         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
80606         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
80607         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
80608         ULLONG_MAX doesn't work with 2.7.2.1.
80609
80610 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80611
80612         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
80613         From Ben Pfaff.
80614
80615         * modules/exclude (Depends-on): Depend on verify.
80616         * modules/strtoimax (Depends-on): Likewise.
80617         * modules/utimecmp (Depends-on): Likewise.
80618
80619 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80620
80621         * lib/exclude.c: Include verify.h.
80622         (verify): Remove.  All callers changed to use verify.h's version.
80623         * lib/strtoimax.c: Likewise.
80624         * lib/utimecmp.c: Likewis.e
80625
80626         Sync from coreutils.
80627         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
80628         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
80629         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
80630         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
80631         bother returning ENOSYS if settimeofday or stime fails; just let
80632         them return whatever errno they want to return.
80633         * lib/utimens.c: Include unistd.h, for dup2.
80634         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
80635         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
80636
80637 2005-10-02  Jim Meyering  <jim@meyering.net>
80638
80639         Sync from coreutils.
80640         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
80641         from glibc-2.2.5 that fails for read-only files.
80642
80643 2005-10-02  Jim Meyering  <jim@meyering.net>
80644
80645         Sync from coreutils.
80646         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
80647         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
80648         `#if HAVE_CONFIG_H'.
80649         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
80650         Remove AT_FDCWD test.
80651         Do not consume the fd unless successful.
80652         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
80653         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
80654         block, so that we don't even try to compile it if settimeofday is
80655         available.  This works around a compilation failure on OSF1 V5.1,
80656         due to stime requiring a `long int*' while tv_sec is `int'.
80657
80658 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
80659
80660         Sync from coreutils.
80661         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
80662         against `yes', rather than just testing for nonempty.
80663
80664 2005-10-01  Simon Josefsson  <jas@extundo.com>
80665
80666         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
80667         and Darwin.
80668
80669         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
80670         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
80671         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
80672         freeaddrinfo and gai_strerror are declared by the POSIX headers.
80673         Check if struct addrinfo is declared.
80674
80675 2005-10-01  Simon Josefsson  <jas@extundo.com>
80676
80677         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
80678         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
80679         AI_* and EAI_* definitions.  Protect function declarations.
80680
80681 2005-10-01  Jim Meyering  <jim@meyering.net>
80682
80683         Sync from coreutils.
80684
80685         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
80686         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
80687         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
80688         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80689         in the inet and nsl libraries.  Required on Solaris 5.7.
80690
80691 2005-10-01  Jim Meyering  <jim@meyering.net>
80692
80693         Sync from coreutils.
80694         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80695         in the inet and nsl libraries.  Required on Solaris 5.7.
80696
80697 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
80698
80699         * lib/getdelim.c (getdelim): Remove unused variables.
80700
80701 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
80702
80703         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
80704         so that the code works even with ancient cpp.  Portability problem
80705         with GCC 2.7.2.1 reported by Thomas M.Ott.
80706
80707 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
80708
80709         * modules/regex (Depends-on): Add strcase.
80710
80711         * modules/gethostname (Licence): Change from GPL to LGPL, since
80712         gethostname.c is a trivial implementation of a standard library
80713         function.
80714         * modules/poll (License): Change from GPL to LGPL, since it's
80715         derived from LGPL code.
80716
80717 2005-09-27  Jim Meyering  <jim@meyering.net>
80718
80719         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
80720         HAVE_CONFIG_H.
80721
80722         * lib/intprops.h (signed_type_or_expr__): Define.
80723         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
80724         for unsigned types.
80725
80726 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
80727
80728         * lib/verify.h (verify_expr): Remove, replacing with:
80729         (verify_true): New macro that returns true instead of void.
80730         (verify_type__): Remove.
80731         (verify): Use verify_true rather than verify_type__.
80732
80733 2005-09-26  Bruno Haible  <bruno@clisp.org>
80734
80735         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
80736         is necessary.
80737         (lib_SOURCES): Remove mbchar.c.
80738         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
80739         (Files): Add m4/mbrtowc.m4.
80740         * modules/mbiter: Likewise.
80741         * modules/mbuiter: Likewise.
80742
80743 2005-09-26  Bruno Haible  <bruno@clisp.org>
80744
80745         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
80746         compile mbchar.c if they are not both present.
80747         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
80748         * m4/mbiter.m4 (gl_MBITER): Likewise.
80749         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
80750         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
80751         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
80752
80753 2005-09-25  Jim Meyering  <jim@meyering.net>
80754
80755         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
80756         also uses socklen_t.
80757
80758 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
80759
80760         * lib/utimens.c (ENOSYS): Define if not already defined.
80761         (futimens): Support having a null PATH if the file descriptor
80762         is nonnegative.
80763
80764         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
80765         Remove.
80766         (__attribute): Define to empty unless GCC 3.1 or later.
80767         This works around a core dump on OpenBSD 3.4, which has GCC
80768         2.95.3, which dumps core when given __attribute__(()).  It also
80769         simplifies other tests, since we really don't want to bother with
80770         worrying about which ancient version of GCC supported what.
80771         Original problem reported by Yoann Vandoorselaere, with part of
80772         the fix suggested by Derek Price.
80773
80774 2005-09-24  Jim Meyering  <jim@meyering.net>
80775
80776         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
80777         so we can once again use a positive bitfield width of 1 -- now we
80778         don't have to explain why we were using a bitfield width of 2.
80779
80780 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
80781
80782         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
80783         and similarly for the other external symbols.  Problem reported
80784         by James Gallager.
80785
80786         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
80787         bug reported by Jim Meyering.
80788
80789         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
80790         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
80791         not needed, since socklen is a prerequisite module.
80792
80793 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
80794
80795         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
80796         Problem reported by Eric Blake.
80797         (getaddrinfo): Initialize se so that it's not garbage.
80798         Redo internal storage allocation so that it doesn't make unportable
80799         assumptions about alignment.
80800         Fix a memory leak.
80801
80802         * lib/utimens.c (futimens): Use futimesat if available.
80803         Prefer it to futimes since it doesn't have the futimes bug.
80804
80805         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
80806         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
80807         Instead, declare a function that returns a pointer to an array,
80808         and use verify_type__ to declare the size of the array.
80809         Problem and germ of a solution reported by Bruno Haible.
80810         (verify_type__): Use 2, not 1, for bitfield size, to avoid
80811         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
80812
80813 2005-09-23  Jim Meyering  <jim@meyering.net>
80814
80815         Sync from coreutils.
80816         Correct build failure (socklen_t not defined) on at least
80817         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
80818         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
80819
80820 2005-09-23  Jim Meyering  <jim@meyering.net>
80821
80822         * modules/getaddrinfo (Depends-on): Add socklen.
80823
80824 2005-09-23  Bruno Haible  <bruno@clisp.org>
80825
80826         * tests/test-verify.c: New file.
80827
80828 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80829
80830         Sync from coreutils.
80831
80832         * modules/argmatch (Depends-on): Add verify.
80833         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
80834         unistd-safer.
80835         * modules/save-cwd (Depends-on): Likewise.
80836
80837         * modules/openat (Files): Add lib/openat-die.c.
80838         (Depends-on): Remove error, exitfail.
80839         Add dirname.
80840
80841         * modules/verify: New file.
80842         * MODULES.html.sh (Diagnostics <assert.h>): New section,
80843         with "verify" module.
80844
80845 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80846
80847         Sync from coreutils.
80848
80849         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
80850         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
80851         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
80852         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
80853         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
80854         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
80855         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
80856         Don't bother checking for string.h, stdlib.h, unistd.h.
80857         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
80858         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
80859         module's job.
80860         * m4/jm-macros.m4 (gl_MACROS): Likewise.
80861         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
80862
80863         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
80864         (gl_GETDATE): Use it.
80865
80866         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
80867
80868 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80869
80870         Sync from coreutils.
80871
80872         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
80873         stat-time.h.
80874         * lib/argmatch.h: Include verify.h
80875         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
80876         (ARGMATCH_ASSERT): Remove; unused.
80877         * lib/canonicalize.c: Assume STDC_HEADERS.
80878         * lib/exclude.c: Include "strcase.h".
80879         * lib/regex_internal.h [!defined _LIBC]: Likewise.
80880         * lib/getusershell.c: Include stdio--.h rather than stdio.h
80881         and stdio-safer.h.
80882         (getusershell): Call fopen, not fopen_safer.
80883         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
80884         Do not include unistd-safer.h.
80885         (save_cwd): Don't call fd_safer; no longer needed
80886         now that we include fcntl--.h.
80887
80888         * lib/getdate.y (relative_time): New type.
80889         (RELATIVE_TIME_0): New constant.
80890         (parser_control): Use relative_time instead of doing it ourselves.
80891         (%union): Add new relative_time rel member.
80892         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
80893         Now typeless.
80894         (relunit, relunit_snumber): Now of type rel.
80895         (zone, rel, relunit, get_date): Adjust to above changes.
80896
80897         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
80898         Do not include unistd-safer.h.
80899         (getloadavg): Don't call fd_safer; no longer needed
80900         now that we include fcntl--.h.
80901
80902         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
80903         (make_dir_parents): Treat ENOSYS like EEXIST.
80904
80905         Improve quality of diagnostics on restore_cwd failure.
80906         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
80907         (make_dir_parents): Last arg is now int * (for errno), not bool *.
80908         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
80909         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
80910         each time through the loop.  Do not diagnose restore_cwd failure;
80911         that is the caller's job (and perhaps the caller does not care).
80912
80913         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
80914         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
80915         If the file already exists but is not a directory, don't bother
80916         to try to make its parents.
80917         Close potential file descriptor leak if we can't chdir("/") (!).
80918         Don't always return true if chdir($PWD) fails; return true only
80919         if the requested action was done successfully (except for the
80920         chdir($PWD)).
80921         Don't log final directory unless we actually made it.
80922         Refactor to avoid duplicate code to fix up permissions.
80923         Don't attempt to fix up parent permissions if chdir($PWD) fails.
80924
80925         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
80926         to make it a bit faster and (I hope) clearer.
80927         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
80928         Fix bug in formats like %2N.
80929
80930         * lib/verify.h: New file.
80931
80932 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80933
80934         Sync from coreutils.
80935         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
80936
80937 2005-09-22  Jim Meyering  <jim@meyering.net>
80938
80939         Sync from coreutils.
80940
80941         * m4/lstat.m4 (gl_FUNC_LSTAT):
80942         Use AC_LIBSOURCES to require lstat.c and lstat.h.
80943         Remove obsolete comment.
80944         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
80945         * m4/xstrtod.m4: Likewise.
80946
80947         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
80948
80949 2005-09-22  Jim Meyering  <jim@meyering.net>
80950
80951         Sync from coreutils.
80952
80953         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
80954
80955         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
80956         the .tm_year member, since otherwise gcc-4.0 would now warn about
80957         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
80958
80959         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
80960         order to avoid an unsuppressible warning from gcc on 64-bit systems.
80961
80962         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
80963         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
80964         when run in a time zone for which daylight savings time is in effect
80965         for the starting date.
80966
80967         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
80968         stop us from restricting permissions of just-created absolute-named
80969         directories.
80970         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
80971         to restore initial working directory.
80972         * lib/mkdir-p.c (make_dir_parents): New parameter:
80973         different_working_dir, to tell caller if/when we change the working
80974         directory and are unable to return to the initial one.
80975         * lib/mkdir-p.h (make_dir_parents): Update prototype.
80976         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
80977         `return false'.  This fixes a bug introduced on 2004-07-30.
80978
80979         * lib/openat.c (fdopendir): Be sure to close the supplied
80980         file descriptor before returning.  This makes our replacement
80981         implementation a little closer to Solaris's, where fdopendir
80982         ties the file descriptor to the returned DIR* pointer.
80983         * lib/openat.c (unlinkat): New function.
80984         * lib/openat.h (unlinkat): Add prototype.
80985         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
80986         (openat_restore_fail): Rename from openat_restore_die.
80987         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
80988
80989         Provide an alternative to exiting immediately upon save_cwd or
80990         restore_cwd failure.  Now, an application can arrange e.g.,
80991         to perform a longjump in that case.
80992         * lib/openat.c: Include dirname.h.
80993         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
80994         (rpl_openat, fdopendir, fstatat): Call openat_save_die
80995         and openat_restore_die rather than calling error directly.
80996         Don't include "error.h" or "exitfail.h"; they're no longer needed.
80997
80998         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
80999         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
81000         define.
81001
81002         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
81003         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
81004                             int utc, int nanoseconds);
81005         Background:
81006         date should not have to allocate a megabyte of virtual memory to
81007         handle a format argument like +%1048575T.  When implemented with
81008         strftime, it must allocate such a buffer, use strftime to fill it
81009         in, print it, then free it.
81010         With fprintftime, it simply prints everything and exits.
81011         With no need for memory allocation, that's one fewer way to fail.
81012         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
81013         optional field width, not before, so we accept %9:z, not %:9z.
81014         (my_strftime): Be sure to use L_('x') for literals.
81015
81016         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
81017         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
81018         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
81019         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
81020         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
81021         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
81022         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
81023         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
81024         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
81025         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
81026         * lib/xgethostname.c, lib/xreadlink.c:
81027         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
81028
81029         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
81030         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
81031         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
81032         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
81033         and don't include <sys/file.h>).
81034
81035 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
81036
81037         Sync from coreutils.
81038
81039         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
81040         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
81041         [!LDAV_DONE]: Avoid unused variable warning.
81042
81043 2005-09-21  Bruno Haible  <bruno@clisp.org>
81044
81045         * lib/unicodeio.h (unicode_to_mb): New declaration.
81046
81047 2005-09-20  Derek Price  <derek@ximbiot.com>
81048
81049         * lib/getaddrinfo.c: Don't include <netdb.h> included from
81050         getaddrinfo.h.
81051
81052 2005-09-20  Bruno Haible  <bruno@clisp.org>
81053
81054         * gnulib-tool: Remove trailing slashes from the values specified for
81055         --source-base, --m4-base, --tests-base, --aux-dir.
81056         Suggested by Simon Josefsson <jas@extundo.com>.
81057
81058 2005-09-20  Bruno Haible  <bruno@clisp.org>
81059
81060         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
81061         func_modules_to_filelist, func_import, func_create_testdir): Make all
81062         sorting results locale-independent, so that gnulib-cache.m4 doesn't
81063         change when gnulib-tool is invoked in a different locale.
81064
81065 2005-09-19  Simon Josefsson  <jas@extundo.com>
81066
81067         * m4/socklen.m4: Fix typo.
81068
81069 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81070
81071         Use a consistent style for including <config.h>.
81072         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
81073         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
81074         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
81075         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
81076         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
81077         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
81078         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
81079         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
81080         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
81081         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
81082         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
81083         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
81084         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
81085         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
81086         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
81087         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
81088         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
81089         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
81090         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
81091         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
81092         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
81093         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
81094         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
81095         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
81096         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
81097         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
81098         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
81099         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
81100         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
81101         lib/xstrtoumax.c, lib/yesno.c:
81102         Standardize inclusion of config.h.
81103         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
81104         lib/inttostr.h:  Removed inclusion of config.h from header files.
81105         * lib/inttostr.c:  Adjusted in-tree users.
81106         * lib/timespec.h: Remove superfluous warning to include config.h.
81107         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
81108         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
81109         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
81110         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
81111         config.h with HAVE_CONFIG_H.
81112
81113 2005-09-19  Jim Meyering  <jim@meyering.net>
81114
81115         * modules/pathmax (License): Change to LGPL.
81116
81117 2005-09-19  Derek Price  <derek@ximbiot.com>
81118
81119         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
81120
81121 2005-09-19  Bruno Haible  <bruno@clisp.org>
81122
81123         * gnulib-tool (import): Provide default for --tests-base.
81124
81125 2005-09-19  Bruno Haible  <bruno@clisp.org>
81126
81127         * doc/quote.texi: New file, extracted from gnulib.texi.
81128         * doc/ctime.texi: New file, extracted from gnulib.texi.
81129         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
81130         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
81131         * doc/gnulib.texi: Include them.
81132
81133 2005-09-18  Bruno Haible  <bruno@clisp.org>
81134
81135         Portability fix.
81136         * gnulib-tool (func_readlink): New function.
81137         (func_ln_if_changed): Use it.
81138
81139 2005-09-18  Bruno Haible  <bruno@clisp.org>
81140
81141         * gnulib-tool: Support --with-tests also with --import.
81142         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
81143         (func_import): Use variables $testsbase and $inctests. Emit a
81144         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
81145         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
81146         SUBDIRS += $testsdir.
81147         (func_create_testdir): Update.
81148
81149 2005-09-18  Bruno Haible  <bruno@clisp.org>
81150
81151         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
81152         instead of $dry_run.
81153         (func_cp_if_changed, func_mv_if_changed): Remove functions.
81154         (func_ln_if_changed): Don't handle dry-run here.
81155         (func_import): In dry-run mode, detect more precisely which actions
81156         would be performed, and don't use "...ing" verbs.
81157
81158 2005-09-18  Bruno Haible  <bruno@clisp.org>
81159
81160         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
81161         (func_import): Use join on two temporary files instead of three nested
81162         loops, in order to determine which files are new or old.
81163
81164 2005-09-18  Bruno Haible  <bruno@clisp.org>
81165
81166         * gnulib-tool (func_import): Comment out code that spits out the
81167         new files with --dry-run.
81168
81169 2005-09-18  Bruno Haible  <bruno@clisp.org>
81170
81171         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
81172
81173 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81174
81175         * lib/stat-time.h: New file.
81176         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
81177         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
81178         in a different way.
81179         (timespec_cmp): New function.
81180         * lib/utimecmp.c: Include stat-time.h.
81181         (SYSCALL_RESOLUTION): Depend on whether various struct stat
81182         members exist, not on the obsolescent ST_MTIM_NSEC.
81183         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
81184
81185 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81186
81187         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
81188
81189 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81190
81191         * MODULES.html.sh (File system functions): Add stat-time.
81192         * modules/stat-time: New file.
81193         * modules/timespec (Files): Remove m4/st_mtim.m4; this
81194         is now done in a different way, by the stat-time module.
81195         * modules/utimecmp (Depends-on): Add stat-time.
81196
81197 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
81198
81199         * m4/st_mtim.m4: Remove.  Superseded by...
81200         * m4/stat-time.m4: New file.
81201         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
81202         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
81203
81204 2005-09-15  Derek Price  <derek@ximbiot.com>
81205
81206         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
81207
81208 2005-09-15  Derek Price  <derek@ximbiot.com>
81209
81210         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
81211         * lib/regex_internal.c: Ditto, using this...
81212         (__GNUC_PREREQ): ...new macro.
81213         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
81214         using...
81215         (__GNUC_PREREQ): ...this new macro.
81216
81217         * lib/strstr.h: Include string.h. Define strstr as a macro here.
81218
81219 2005-09-15  Derek Price  <derek@ximbiot.com>
81220             Paul Eggert  <eggert@cs.ucla.edu>
81221
81222         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
81223         changes, consolidating in...
81224         * lib/regex_internal.h: ...this file.
81225
81226 2005-09-13  Jim Meyering  <jim@meyering.net>
81227
81228         * lib/canon-host.c: Filter through gnu indent and reword comments
81229         slightly.
81230         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
81231
81232 2005-09-13  Derek Price  <derek@ximbiot.com>
81233
81234         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
81235         failure.
81236         Reported by Jim Meyering  <jim@meyering.net>.
81237
81238 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
81239
81240         * lib/base64.c: Typo.
81241         (base64_encode): Put b64str in initialized data section.
81242
81243 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
81244
81245         Merge glibc and coreutils changes into gnulib, plus a few
81246         extra fixes.
81247         * lib/md5.c: Use #error rather than a string.
81248         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
81249         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
81250         (__attribute__): Define to empty for non recent-GCC.
81251         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
81252         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
81253         Renamed from their non-__ counterparts, with new macros replacing
81254         them if not _LIBC.  Add __THROW attribute.
81255         (rol): Remove.
81256         (struct md5_ctx): Align buffer if using GCC.
81257         * lib/sha1.h (struct sha1_ctx): Likewise.
81258         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
81259         The old name was backwards.
81260         (NOTSWAP): Remove; not used.
81261         (rol): New macro, moved here from md5.h.
81262         (sha1_process_block): Remove a FIXME that doesn't make sense.
81263
81264 2005-09-12  Derek Price  <derek@ximbiot.com>
81265
81266         Return usable errors from canon-host.
81267         * lib/canon-host.h: New file.
81268         * lib/canon-host.c (canon_host): Wrap...
81269         (canon_host_r): ...this new function, which now relies exclusively on
81270         getaddrinfo.
81271         (ch_strerror): New function.
81272         (last_cherror): New global.
81273         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
81274         interface.
81275         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
81276         void *.
81277         (freeaddrinfo): Free ai->ai_canonname when set.
81278
81279 2005-09-12  Derek Price  <derek@ximbiot.com>
81280
81281         Make canon-host require getaddrinfo.
81282         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
81283         AC_LIBSOURCE canon-host.h.  Call...
81284         (gl_PREREQ_CANON_HOST): ...this new function, which requires
81285         gl_GETADDRINFO.
81286         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
81287
81288 2005-09-12  Derek Price  <derek@ximbiot.com>
81289
81290         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
81291         LGPL.
81292         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
81293
81294 2005-09-12  Derek Price  <derek@ximbiot.com>
81295
81296         * lib/gai_strerror.c: Include config.h when available.  Include
81297         getaddrinfo.h before other headers to test interface.
81298         Reported by Larry Jones <lawrence.jones@ugs.com>.
81299
81300 2005-09-12  Derek Price  <derek@ximbiot.com>
81301             Paul Eggert  <eggert@cs.ucla.edu>
81302
81303         * modules/glob (Files): Add glob-libc.h.
81304
81305 2005-09-12  Derek Price  <derek@ximbiot.com>
81306             Paul Eggert  <eggert@cs.ucla.edu>
81307
81308         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
81309         glob_.h, glob-libc.h.
81310         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
81311
81312 2005-09-12  Derek Price  <derek@ximbiot.com>
81313             Paul Eggert  <eggert@cs.ucla.edu>
81314
81315         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
81316         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
81317         protecting things that should be done only in gnulib contexts.
81318         * lib/glob_.h: New file, containing only the glob things needed for
81319         gnulib.
81320         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
81321         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
81322         (glob, globfree, glob_pattern_p): Now defined simply in terms of
81323         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
81324         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
81325         and to respect the namespace rules better.
81326
81327 2005-09-08  Simon Josefsson  <jas@extundo.com>
81328
81329         * modules/socklen: New file.
81330
81331 2005-09-08  Simon Josefsson  <jas@extundo.com>
81332
81333         * m4/socklen.m4: New file.
81334
81335 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
81336
81337         * modules/utimens (Files): Add m4/utimbuf.m4, since
81338         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
81339         Reported by Sergey Poznyakoff.
81340
81341 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
81342
81343         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
81344         definitions, since that's the preferred style in glibc.
81345         Fix a minor spacing issue, and update copyright notice to match
81346         glibc's.
81347
81348 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
81349
81350         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
81351
81352 2005-09-06  Simon Josefsson  <jas@extundo.com>
81353
81354         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
81355         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
81356
81357 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
81358
81359         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
81360         warning.
81361
81362 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
81363
81364         * config/srclist.txt: Add glibc bug 1302.
81365
81366 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
81367
81368         Change bitset word type from unsigned int to unsigned long int,
81369         as this has better performance on typical 64-bit hosts.
81370         Port bitset code to hosts with unusual word sizes.
81371         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
81372         (build_collating_symbol):
81373         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
81374         argument is a bitset.  This is merely a style issue, but it makes
81375         it clearer that an entire array is expected.
81376         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
81377         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
81378         Port to the case where bitset_word is not the same as unsigned int.
81379         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
81380         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
81381         Likewise.
81382         * lib/regexec.c (check_dst_limits_calc_pos_1,
81383         check_subexp_matching_top):
81384         (build_trtable, group_nodes_into_DFAstates):
81385         Likewise.
81386         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
81387         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
81388         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
81389         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
81390         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
81391         * lib/regcomp.c (optimize_subexps, lower_subexp):
81392         Work even if bitset_word has holes in its bitwise representation.
81393         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
81394         * lib/regexec.c (check_dst_limits_calc_pos_1,
81395         check_subexp_matching_top):
81396         Likewise.
81397         * lib/regex_internal.c (re_string_reconstruct):
81398         Don't assume UCHAR_MAX == 255.
81399         * lib/regex_internal.h (bitset_set_all): Likewise.
81400         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
81401         All uses changed.
81402         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
81403         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
81404         All uses changed.
81405         (BITSET_WORD_MAX): New macro.
81406         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
81407         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
81408         (bitset_empty, bitset_copy):
81409         Prefer sizeof (bitset) to multiplying it out ourselves.
81410         (bitset_not_merge): Remove; unused.
81411         (bitset_contain): Return bool, not unsigned int with one bit on.
81412         All callers changed.
81413         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
81414         alignment than re_node_set; do this by defining a new internal
81415         type struct dests_alloc and using it to allocate memory.
81416
81417 2005-09-05  Bruno Haible  <bruno@clisp.org>
81418
81419         * gnulib-tool (func_import): Fix comparison in handling of symbolic
81420         links.
81421
81422 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
81423
81424         * modules/size_max (Makefile.am): Add size_max.h
81425
81426 2005-09-04  Derek Price  <derek@ximbiot.com>
81427
81428         * gnulib-tool (func_import): Fix reversed $symbolic logic.
81429
81430 2005-09-03  Simon Josefsson  <jas@extundo.com>
81431
81432         * gnulib-tool: Fix typo.
81433
81434 2005-09-03  Simon Josefsson  <jas@extundo.com>
81435
81436         * config/srclist.txt: Add glibc bug 1293.
81437
81438 2005-09-03  Derek Price  <derek@ximbiot.com>
81439
81440         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
81441         From Larry Jones <lawrence.jones@ugs.com>.
81442
81443 2005-09-02  Simon Josefsson  <jas@extundo.com>
81444
81445         * modules/socklen: New file.
81446
81447 2005-09-02  Simon Josefsson  <jas@extundo.com>
81448
81449         * modules/havelib: New module.
81450
81451         * modules/gettext, modules/iconv, modules/lock, modules/readline:
81452         Use havelib.
81453
81454 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
81455
81456         Check for arithmetic overflow when calculating sizes, to prevent
81457         some buffer-overflow issues.  These patches are conservative, in the
81458         sense that when I couldn't determine whether an overflow was possible,
81459         I inserted a run-time check.
81460         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
81461         macros.
81462         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
81463         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
81464         (re_xnrealloc, re_x2nrealloc): New inline functions.
81465         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
81466         parse_bracket_exp):
81467         (build_equiv_class, build_charclass): Check for arithmetic overflow
81468         in size expression calculations.
81469         * lib/regex_internal.c (re_string_realloc_buffers):
81470         (build_wcs_upper_buffer, re_node_set_add_intersect):
81471         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
81472         (re_dfa_add_node, register_state): Likewise.
81473         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
81474         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
81475         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
81476         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
81477
81478 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
81479
81480         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
81481         m4/ulonglong.m4.  Problem reported by Martin Lambers.
81482
81483 2005-09-02  Bruno Haible  <bruno@clisp.org>
81484
81485         Support for lib vs. lib64 distinction on biarch platforms.
81486         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
81487         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
81488         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
81489
81490 2005-09-02  Bruno Haible  <bruno@clisp.org>
81491
81492         * gnulib-tool (import): In the other first-use case, provide defaults
81493         as well.
81494
81495 2005-09-02  Bruno Haible  <bruno@clisp.org>
81496
81497         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
81498         patches not yet found in the latest gettext release.
81499
81500 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
81501
81502         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
81503         to avoid a collision with bits/local_lim.h in glibc.
81504         All uses changed.  Problem reported by Dmitry V. Levin in
81505         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
81506
81507         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
81508         bugs in int versus size_t comparisons.
81509         (re_string_context_at): Fix bug where the code assumed that
81510         Idx is signed.
81511
81512         Use bool where appropriate.
81513         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
81514         All callers changed.
81515         (calc_eclosure_iter): Likewise, for ROOT arg.
81516         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
81517         (build_charclass_op): Likewise, for NON_MATCH arg.
81518         * lib/regex_internal.c (re_string_allocate, re_string_construct):
81519         (re_string_construct_common): Likewise, for ICASE arg.
81520         * lib/regexec.c (re_search_2_stub, re_search_stub):
81521         Likewise, for RET_LEN arg.
81522         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
81523         (set_regs): Likewise, for FL_BACKTRACK arg.
81524         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
81525         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
81526         (calc_eclosure_iter, parse_bracket_exp):
81527         Use bool for internal variables that are booleans.
81528         * lib/regexec.c (re_search_internal, check_matching,
81529         proceed_next_node):
81530         (set_regs, build_sifted_states, sift_states_bkref):
81531         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
81532         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
81533         (find_collation_sequence_value):
81534         Likewise.
81535         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
81536         (re_node_set_compare):
81537         Return bool, not int. All callers changed.
81538         * lib/regexec.c (check_halt_node_context, check_dst_limits):
81539         (build_trtable, check_node_accept): Likewise.
81540         * lib/regex_internal.h: Include stdbool.h.
81541
81542         Fix bugs uncovered when converting to bool.
81543         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
81544         failure instead of charging ahead blindly.
81545         * lib/regex_internal.c (register_state): Likewise.
81546         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
81547         for freeing internal storage.
81548         (group_nodes_into_DFA_states): Use unsigned int, not int, for
81549         bitset pieces used as boolean, to avoid undefined behavior
81550         on hosts that do int overflow checking.
81551
81552 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
81553
81554         * config/srclist.txt: Add glibc bugs 1285-1287.
81555
81556 2005-09-01  Jim Meyering  <jim@meyering.net>
81557
81558         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
81559         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
81560         Require gl_STAT_MACROS, too.
81561
81562 2005-09-01  Bruno Haible  <bruno@clisp.org>
81563
81564         * gnulib-tool (import): In the first-use case, provide defaults.
81565
81566 2005-09-01  Bruno Haible  <bruno@clisp.org>
81567
81568         * gnulib-tool (func_import): Remove the .tmp files.
81569
81570 2005-09-01  Bruno Haible  <bruno@clisp.org>
81571
81572         * gnulib-tool (func_import): Fix handling of symbolic links.
81573
81574 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81575
81576         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
81577         old glibc regex code mishandles strings longer than 2**31 bytes.
81578         This patch fixes this when the regex code is used in gnulib
81579         (i.e., outside glibc).
81580
81581         This patch should not affect the use of the regex code inside
81582         glibc.  No doubt this problem also needs to be handled for glibc
81583         as well, but the result will be an incompatible change to the
81584         glibc ABI, and the old ABI will have to be supported too.  That
81585         can be the the subject for another patch.
81586
81587         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
81588         governing whether the rest of this patch is active.  By default,
81589         the macro is disabled and the patch has no effect.
81590         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
81591         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
81592         (struct re_pattern_buffer, re_search, re_search_2, re_match):
81593         (re_match_2, re_set_registers): Use the new types.
81594         * lib/regex_internal.h (Idx, re_hashval_t): New types.
81595         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
81596         New macros.
81597         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
81598         (re_string_context_at, bin_tree_t, re_dfastate_t):
81599         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
81600         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
81601         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
81602         (re_string_char_size_at, re_string_wchar_at):
81603         (re_string_elem_size_at):
81604         Use the new types and macros to port to 64-bit hosts.
81605         Use unsigned types for internal values, so that the code
81606         mostly works even for arrays larger than SSIZE_MAX.
81607         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
81608         (search_duplicated_node, calc_eclosure_iter, fetch_number):
81609         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
81610         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
81611         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
81612         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
81613         (calc_inveclosure, parse_dup_op, build_range_exp):
81614         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
81615         (fetch_number, create_token_tree, mark_opt_subexp):
81616         Likewise.
81617         * lib/regex_internal.c (re_string_construct_common,
81618         create_ci_newstate):
81619         (create_cd_newstate, re_string_allocate, re_string_construct):
81620         (re_string_realloc_buffers, build_wcs_upper_buffer):
81621         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
81622         (re_string_reconstruct, re_string_peek_byte_case):
81623         (re_string_fetch_byte_case, re_string_context_at):
81624         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
81625         (re_node_set_init_copy, re_node_set_add_intersect):
81626         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81627         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81628         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
81629         (re_acquire_state, re_acquire_state_context, register_state):
81630         Likewise.
81631         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
81632         search_cur_bkref_entry):
81633         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
81634         (re_search_internal, re_search_2_stub, re_search_stub)
81635         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
81636         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
81637         (update_cur_sifted_state, check_dst_limits):
81638         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81639         (check_subexp_limits, sift_states_bkref, merge_state_array):
81640         (check_subexp_matching_top, get_subexp, get_subexp_sub):
81641         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
81642         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
81643         (expand_bkref_cache, check_node_accept_bytes):
81644         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
81645         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
81646         (acquire_init_state_context, check_halt_node_context):
81647         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
81648         (sift_states_backward, clean_state_log_if_needed):
81649         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
81650         (find_recover_state, transit_state_sb, transit_state_mb):
81651         (transit_state_bkref, build_trtable, match_ctx_clean):
81652         Likewise.
81653         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
81654         to work around an assumption that REG_MISSING is negative.
81655
81656         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
81657         (seek_collating_symbol_entry) [defined _LIBC]:
81658         (lookup_collation_sequence_value) [defined _LIBC]:
81659         (build_range_exp, build_collating_symbol) [defined _LIBC]:
81660         Use prototypes rather than old-style function definitions.
81661         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
81662         (transit_state_sb) [0]:
81663         (find_collation_sequence_value) [defined _LIBC]: Likewise.
81664
81665         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
81666         rm_eo.
81667
81668         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
81669         (optimize_subexps, lower_subexp):
81670         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
81671         since the signed shift might overflow.  Use 1u<<31 instead.
81672         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
81673         Likewise.
81674         * lib/regexec.c (check_dst_limits_calc_pos_1,
81675         check_subexp_matching_top): Likewise.
81676
81677         * lib/regcomp.c (optimize_subexps, lower_subexp):
81678         Use CHAR_BIT rather than 8, for clarity.
81679         * lib/regexec.c (check_dst_limits_calc_pos_1):
81680         (check_subexp_matching_top): Likewise.
81681         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
81682         have to worry about portability issues when shifting it left.
81683         Remove no-longer-needed test for table_size > 0.
81684         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
81685         in a word, as the resulting behavior is undefined.
81686         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
81687         in one case, a <= should have been an <, and in another case the
81688         whole test was missing.
81689         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
81690         the standard name CHAR_BIT.
81691         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
81692         this is not true on one's complement and signed-magnitude hosts.
81693
81694         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
81695         next_last_offset.
81696         (struct re_dfa_t): Remove unused member states_alloc.
81697         * lib/regcomp.c (init_dfa): Don't initialize unused members.
81698
81699 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81700
81701         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
81702         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
81703         and large-file glibc and in 32-bit large-file Solaris.
81704
81705 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81706
81707         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
81708         lengths fit in regoff_t; this isn't true if regoff_t is the same
81709         width as size_t.
81710         * lib/regex.c (re_search_internal): 5th arg is LAST_START
81711         (= START + RANGE) instead of RANGE.  This avoids overflow
81712         problems when regoff_t is the same width as size_t.
81713         All callers changed.
81714         (re_search_2_stub): Check for overflow when adding the
81715         sizes of the two strings.
81716         (re_search_stub): Check for overflow when adding START
81717         to RANGE; if it occurs, substitute the extreme value.
81718
81719 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81720
81721         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
81722
81723 2005-08-31  Jim Meyering  <jim@meyering.net>
81724
81725         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
81726         a pointer-to-const.
81727         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
81728         (register_state): Likewise.
81729         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
81730         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81731         (group_nodes_into_DFAstates): Likewise.
81732
81733 2005-08-31  Jim Meyering  <jim@meyering.net>
81734
81735         * check-module: Add a FIXME comment.
81736
81737 2005-08-31  Eric Blake  <ebb9@byu.net>
81738
81739         * modules/unistd-safer (Files): Add unistd--.h.
81740         * modules/stdio-safer (Files): Add stdio--.h.
81741
81742 2005-08-31  Derek Price  <derek@ximbiot.com>
81743
81744         * lib/getdelim.c (getdelim): Return EOF on EOF.
81745         Reported by Larry Jones <lawrence.jones@ugs.com>.
81746
81747 2005-08-31  Bruno Haible  <bruno@clisp.org>
81748
81749         Avoid unnecessary diffs in the generated lib/Makefile.am.
81750         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
81751         the generated files.
81752         (func_import): Don't set cmd.
81753
81754 2005-08-31  Bruno Haible  <bruno@clisp.org>
81755
81756         * lib/strstr.c: Include <stddef.h>, for NULL.
81757         * lib/strcasestr.c: Likewise.
81758         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81759
81760 2005-08-31  Bruno Haible  <bruno@clisp.org>
81761
81762         * gnulib-tool: New option --macro-prefix.
81763         (func_import): Use macro_prefix.
81764         (import): Handle option --macro-prefix.
81765
81766 2005-08-31  Bruno Haible  <bruno@clisp.org>
81767
81768         * gnulib-tool (import): Rename most ac_* variables to cached_*.
81769         Also use new variables cached_lgpl, cached_libtool.
81770
81771 2005-08-31  Bruno Haible  <bruno@clisp.org>
81772
81773         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
81774         always instantiating them.
81775
81776 2005-08-31  Bruno Haible  <bruno@clisp.org>
81777
81778         * gnulib-tool (func_import): Read the previous cached settings
81779         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
81780         earlier added by gnulib but are now dropped. Warn when a gnulib file
81781         overwrites a non-gnulib file.
81782
81783 2005-08-31  Bruno Haible  <bruno@clisp.org>
81784
81785         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
81786         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
81787         projects that don't keep autogenerated files in CVS. Put into
81788         actioncmd only the specified modules, not the transitive closure.
81789
81790 2005-08-31  Bruno Haible  <bruno@clisp.org>
81791
81792         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
81793         Create directories that shall be filled.
81794         (import): Don't look for gl_* macros in configure.ac. Recurse across
81795         all directories containing a gnulib-cache.m4 files, if meaningful.
81796
81797 2005-08-31  Bruno Haible  <bruno@clisp.org>
81798
81799         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
81800         (import): Set seen_libtool when we see gl_LIBTOOL.
81801
81802 2005-08-31  Bruno Haible  <bruno@clisp.org>
81803
81804         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
81805         declaration macro definitions from generated gnulib.m4.
81806
81807 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
81808
81809         * lib/iconvme.h: Add prototype for iconv_alloc.
81810
81811 2005-08-29  Simon Josefsson  <jas@extundo.com>
81812
81813         * lib/iconvme.c: Fix errno.
81814
81815 2005-08-29  Bruno Haible  <bruno@clisp.org>
81816
81817         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
81818         that it works when the directory contains spaces.
81819
81820 2005-08-29  Bruno Haible  <bruno@clisp.org>
81821
81822         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
81823
81824 2005-08-29  Bruno Haible  <bruno@clisp.org>
81825
81826         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
81827         Emit more advice.
81828
81829 2005-08-29  Bruno Haible  <bruno@clisp.org>
81830         and Stepan Kasal  <kasal@ucw.cz>
81831
81832         * check-module: If more parameters are given, check each of them
81833         separately; add more exceptions, as noted by Jim Meyering.
81834         (check_module): New procedure.
81835         (%exempt_header): Now contains all exceptions.
81836
81837 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
81838
81839         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
81840
81841 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
81842
81843         * lib/iconvme.c: Split iconv_string into iconv_alloc.
81844
81845 2005-08-28  Bruno Haible  <bruno@clisp.org>
81846
81847         * m4/gnulib-tool.m4: New file.
81848
81849 2005-08-27  Jim Meyering  <jim@meyering.net>
81850
81851         * modules/unistd-safer (Files): Add pipe-safer.c.
81852         * modules/fcntl-safer (Files): Add creat-safer.c.
81853
81854 2005-08-27  Jim Meyering  <jim@meyering.net>
81855
81856         * m4/stdlib-safer.m4: New file.  From coreutils.
81857         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
81858         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
81859         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
81860         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
81861         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
81862
81863 2005-08-27  Jim Meyering  <jim@meyering.net>
81864
81865         * lib/fopen-safer.c: Merge minor changes from coreutils.
81866         * lib/dup-safer.c: Likewise.
81867         * lib/fd-safer.c: Likewise.
81868
81869         Merge from coreutils.
81870         * lib/stdio--.h: New file.
81871         * lib/stdlib--.h: New file.
81872         * lib/mkstemp-safer.c: New file.
81873
81874         GNU tar needs these.
81875         * lib/pipe-safer.c: New file.
81876         * lib/creat-safer.c: New file.
81877         * lib/fcntl--.h (creat): Define to creat_safer.
81878         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
81879         * lib/unistd--.h (pipe): Define to pipe_safer.
81880         * lib/unistd-safer.h: Declare pipe_safer.
81881
81882 2005-08-26  Simon Josefsson  <jas@extundo.com>
81883
81884         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
81885         Haible <bruno@clisp.org>.
81886
81887 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
81888
81889         * lib/regex_internal.h: Remove all references to
81890         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
81891         or better.
81892         (bitset_not, bitset_merge, bitset_not_merge):
81893         (bitset_mask, re_string_allocate, re_string_construct):
81894         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
81895         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
81896         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
81897         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
81898         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81899         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81900         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
81901         (re_acquire_state_context):
81902         Remove unnecessary forward decls.
81903         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
81904         Put __attribute at function definition,
81905         now that the function decl has been removed.
81906         * lib/regex_internal.c (re_string_peek_byte_case):
81907         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
81908         Likewise.
81909
81910 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
81911
81912         * m4/regex.m4: Add AC_PREREQ(2.50).
81913         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
81914
81915 2005-08-25  Simon Josefsson  <jas@extundo.com>
81916
81917         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
81918         __fsetlocking.
81919
81920 2005-08-25  Simon Josefsson  <jas@extundo.com>
81921
81922         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
81923         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
81924         GLIBC specific code.
81925
81926 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81927
81928         Make regex safe for g++.  This fixes one real bug (an "err"
81929         that should have been "*err").  g++ problem reported by
81930         Sam Steingold.
81931         * lib/regex_internal.h (re_calloc): New macro, consistent with
81932         re_malloc etc.  All callers of calloc changed to use re_calloc.
81933         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
81934         not int.  All callers changed.
81935         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
81936         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
81937         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
81938         (find_recover_state): Change "err" to "*err"; this fixes what
81939         appears to be a real bug.
81940         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
81941         versus int.
81942
81943 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81944
81945         * modules/regex (Depends-on): Add malloc, since the code
81946         assumes that !malloc(0) means failure.
81947
81948 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81949
81950         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
81951
81952         alloca modernization/simplification for regex.
81953         * lib/regex.c: Remove portability cruft for alloca.  This no longer
81954         needs to be at the start of the file, and can be moved into
81955         regex_internal.h and simplified.
81956         * lib/regex_internal.h: Include <alloca.h>.
81957         (__libc_use_alloca) [!defined _LIBC]: New macro.
81958         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
81959         now works outside glibc.
81960
81961 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81962
81963         * config/srclist.txt: Add glibc bugs 1241, 1245.
81964
81965 2005-08-25  Jim Meyering  <jim@meyering.net>
81966
81967         * lib/open-safer.c: Include <config.h>.
81968         Otherwise, we'd lose LARGEFILE support in any file using
81969         e.g. "fcntl--.h"
81970
81971 2005-08-25  Bruno Haible  <bruno@clisp.org>
81972
81973         * m4/minmax.m4: Require autoconf 2.52.
81974         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
81975         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
81976         alternatives of translit over the alphabet.
81977         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
81978
81979 2005-08-24  Simon Josefsson  <jas@extundo.com>
81980
81981         * tests/test-getpass.c: New file.
81982
81983 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81984
81985         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
81986         for GNU regex features.
81987
81988 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81989
81990         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
81991         * lib/regex.h (regerror): Likewise.
81992
81993         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
81994         requires this.  (The code never needed it.)
81995
81996         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
81997         All uses of recently-renamed identifiers changed to use the new,
81998         POSIX-compliant names.  The code will build and run just fine
81999         without these changes, but it's better to eat our own dog food
82000         and use the standard-conforming names.
82001
82002         * lib/regex.h: Fix a multitude of POSIX name space violations.
82003         These changes have an effect only for programs that define
82004         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
82005         do not change anything for programs compiled in the normal way.
82006         Also, there is no effect on the ABI.
82007
82008         (_REGEX_SOURCE): New macro.
82009         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
82010         defined and _GNU_SOURCE is not; this fixes a name space violation.
82011
82012         Rename the following macros to obey POSIX requirements.
82013         The old names are still visible as macros if _REGEX_SOURCE is defined.
82014         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
82015         RE_BACKSLASH_ESCAPE_IN_LISTS.
82016         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
82017         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
82018         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
82019         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
82020         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
82021         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
82022         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
82023         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
82024         (REG_INTERVALS): renamed from RE_INTERVALS.
82025         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
82026         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
82027         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
82028         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
82029         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
82030         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
82031         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
82032         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
82033         RE_UNMATCHED_RIGHT_PAREN_ORD.
82034         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
82035         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
82036         (REG_DEBUG): renamed from RE_DEBUG.
82037         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
82038         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
82039         unusual, since we can't clash with the POSIX REG_ICASE.
82040         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
82041         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
82042         (REG_NO_SUB): renamed from RE_NO_SUB.
82043         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
82044         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
82045         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
82046         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
82047         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
82048         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
82049         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
82050         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
82051         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
82052         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
82053         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
82054         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
82055         RE_SYNTAX_POSIX_MINIMAL_BASIC.
82056         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
82057         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
82058         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
82059         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
82060         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
82061         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
82062         (REG_FIXED): Renamed from REGS_FIXED.
82063         (REG_NREGS): Renamed from RE_NREGS.
82064
82065         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
82066         of other REG_* macros, since POSIX says the user is allowed to
82067         #undef these macros selectively.
82068
82069         (reg_errcode_t): Update comment stating what other tables need
82070         to be consistent.
82071
82072         Rename the following enum values to obey POSIX requirements.
82073         The old names are still visible as macros.
82074         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
82075         is not defined, since GNU is supposed to be a superset of POSIX as
82076         much as possible, and since we want reg_errcode_t to be a signed
82077         type for implementation consistency.
82078         (_REG_NOERROR): Renamed from REG_NOERROR.
82079         (_REG_NOMATCH): Renamed from REG_NOMATCH.
82080         (_REG_BADPAT): Renamed from REG_BADPAT.
82081         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
82082         (_REG_ECTYPE): Renamed from REG_ECTYPE.
82083         (_REG_EESCAPE): Renamed from REG_EESCAPE.
82084         (_REG_ESUBREG): Renamed from REG_ESUBREG.
82085         (_REG_EBRACK): Renamed from REG_EBRACK.
82086         (_REG_EPAREN): Renamed from REG_EPAREN.
82087         (_REG_EBRACE): Renamed from REG_EBRACE.
82088         (_REG_BADBR): Renamed from REG_BADBR.
82089         (_REG_ERANGE): Renamed from REG_ERANGE.
82090         (_REG_ESPACE): Renamed from REG_ESPACE.
82091         (_REG_BADRPT): Renamed from REG_BADRPT.
82092         (_REG_EEND): Renamed from REG_EEND.
82093         (_REG_ESIZE): Renamed from REG_ESIZE.
82094         (_REG_ERPAREN): Renamed from REG_ERPAREN.
82095         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
82096         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
82097         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
82098         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
82099
82100         (_REG_RE_NAME, _REG_RM_NAME): New macros.
82101         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
82102         changed.  But support the old name if the new one is not defined
82103         and if _REGEX_SOURCE.
82104
82105         Change the following member names in struct re_pattern_buffer.
82106         The old names are still supported if !_REGEX_SOURCE.
82107         The new names are always supported, regardless of _REGEX_SOURCE.
82108         (re_buffer): Renamed from buffer.
82109         (re_allocated): Renamed from allocated.
82110         (re_used): Renamed from used.
82111         (re_syntax): Renamed from syntax.
82112         (re_fastmap): Renamed from fastmap.
82113         (re_translate): Renamed from translate.
82114         (re_can_be_null): Renamed from can_be_null.
82115         (re_regs_allocated): Renamed from regs_allocated.
82116         (re_fastmap_accurate): Renamed from fastmap_accurate.
82117         (re_no_sub): Renamed from no_sub.
82118         (re_not_bol): Renamed from not_bol.
82119         (re_not_eol): Renamed from not_eol.
82120         (re_newline_anchor): Renamed from newline_anchor.
82121
82122         Change the following member names in struct re_registers.
82123         The old names are still supported if !_REGEX_SOURCE.
82124         The new names are always supported, regardless of _REGEX_SOURCE.
82125         (rm_num_regs): Renamed from num_regs.
82126         (rm_start): Renamed from start.
82127         (rm_end): Renamed from end.
82128
82129         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
82130         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
82131         Prepend __ to parameter names.
82132
82133         Undo yesterday's changes.
82134
82135 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82136
82137         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
82138         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
82139         lib/regex.c.
82140
82141 2005-08-24  Jim Meyering  <jim@meyering.net>
82142
82143         Sync from coreutils.
82144         * m4/fcntl-safer.m4: New file.
82145
82146         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
82147         and object files for this module.
82148
82149 2005-08-24  Jim Meyering  <jim@meyering.net>
82150
82151         Sync from coreutils.
82152         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
82153
82154 2005-08-24  Jim Meyering  <jim@meyering.net>
82155
82156         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
82157         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
82158
82159 2005-08-24  Jim Meyering  <jim@meyering.net>
82160
82161         * modules/fcntl-safer: New module.
82162         * modules/fts (Depends-on): Add fcntl-safer.
82163         * MODULES.html.sh (File descriptor based Input/Output):
82164         Add fcntl-safer.
82165
82166 2005-08-24  Bruno Haible  <bruno@clisp.org>
82167
82168         Support for unit test modules.
82169         * modules/README: Mention tests modules.
82170         * modules/TEMPLATE-TESTS: New file.
82171         * gnulib-tool: New options --extract-tests-module, --with-tests and
82172         --tests-base (unused for the moment).
82173         (testsbase, inctests): New variables.
82174         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
82175         (func_verify_module): Exclude TEMPLATE-TESTS.
82176         (func_verify_nontests_module, func_verify_tests_module): New functions.
82177         (func_get_dependencies): Add implicit dependency for tests modules.
82178         (func_get_tests_module): New function.
82179         (func_modules_transitive_closure): When --with-tests was specified,
82180         include the unit tests as well, unless explicitly avoided.
82181         (func_emit_lib_Makefile_am): Ignore the tests modules here.
82182         (func_emit_tests_Makefile_am): New function.
82183         (func_create_testdir): When --with-tests was specified, emit a
82184         tests/ directory.
82185         * MODULES.html.sh (Future developments): Update.
82186
82187 2005-08-24  Bruno Haible  <bruno@clisp.org>
82188
82189         * modules/tls-tests: New file.
82190         * tests/test-tls.c: New file, from GNU gettext.
82191
82192 2005-08-24  Bruno Haible  <bruno@clisp.org>
82193
82194         * modules/lock-tests: New file.
82195         * tests/test-lock.c: New file, from GNU gettext.
82196
82197 2005-08-24  Bruno Haible  <bruno@clisp.org>
82198
82199         * lib/lock.h: Add multiple inclusion guard.
82200         * lib/tls.h: Add multiple inclusion guard.
82201
82202 2005-08-24  Bruno Haible  <bruno@clisp.org>
82203
82204         * gnulib-tool: Add support for the --aux-dir option to
82205         --create-testdir, --create-megatestdir, --test, --megatest.
82206         (func_create_testdir, func_create_megatestdir): Optionally emit a
82207         AC_CONFIG_AUX_DIR directive.
82208         (create-testdir, create-megatestdir, test, megatest): Provide a
82209         default value for $auxdir.
82210
82211 2005-08-24  Bruno Haible  <bruno@clisp.org>
82212
82213         * gnulib-tool (import): Use compound statement instead of subshell
82214         where possible.
82215
82216 2005-08-24  Bruno Haible  <bruno@clisp.org>
82217
82218         * gnulib-tool (import): Change --aux-dir default to "build-aux".
82219
82220 2005-08-24  Bruno Haible  <bruno@clisp.org>
82221
82222         * gnulib-tool (func_version): Update.
82223
82224 2005-08-24  Bruno Haible  <bruno@clisp.org>
82225
82226         * gnulib-tool (func_import, func_create_testdir,
82227         func_create_megatestdir): Quote all autoconf macro arguments.
82228
82229 2005-08-24  Bruno Haible  <bruno@clisp.org>
82230
82231         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
82232         option --force, because --force causes the aclocal.m4 of each
82233         subdirectory to be newer than the corresponding config.h.in.
82234
82235 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82236
82237         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
82238         All contents moved to gl_REGEX.
82239         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
82240         assume that it does.
82241
82242 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82243
82244         * lib/regex.h (REG_NOSYS)
82245         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
82246         Define, since POSIX requires it as of 2001.
82247         (_REG_ENOSYS)
82248         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
82249         New private symbol, used to keep the enum signed in all cases.
82250         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
82251         Youngman in
82252         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
82253
82254         * lib/regex_internal.c (re_string_skip_chars, register_state):
82255         (calc_state_hash):
82256         Remove forward decls; no longer needed now that we use prototypes.
82257         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
82258         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
82259         (clean_state_log_if_needed): Likewise.
82260
82261 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82262
82263         * config/srclist.txt: Add glibc bugs 1231-1233.
82264
82265 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82266
82267         Fix problems reported by Sam Steingold in
82268         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
82269         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
82270         assumed that reg_errcode_t is a signed type, which is not
82271         necessarily true if _XOPEN_SOURCE is not defined.
82272         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
82273         since some compilers warn about it otherwise.
82274
82275 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82276
82277         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
82278         (init_word_char, create_initial_state, duplicate_node_closure):
82279         (fetch_token, peek_token_bracket, build_range_exp):
82280         (build_collating_symbol): Remove forward decls; no longer needed
82281         now that we use prototypes.
82282
82283         * lib/regcomp.c:
82284         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
82285         (re_compile_fastmap_iter, regcomp, regerror, regfree):
82286         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
82287         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
82288         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
82289         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
82290         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
82291         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
82292         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
82293         (build_range_exp, build_collating_symbol, parse_bracket_exp):
82294         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
82295         (build_charclass, build_charclass_op, fetch_number, create_tree):
82296         (create_token_tree, mark_opt_subexp, duplicate_tree):
82297         Use prototypes rather than old-style definitions.
82298
82299         * lib/regex_internal.c:
82300         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
82301         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
82302         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
82303         (re_string_reconstruct, re_string_peek_byte_case):
82304         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
82305         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
82306         (re_node_set_init_copy, re_node_set_add_intersect):
82307         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82308         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82309         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
82310         (re_acquire_state, re_acquire_state_context, register_state):
82311         (create_ci_newstate, create_cd_newstate, free_state):
82312         Likewise.
82313         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
82314         re_search_2):
82315         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
82316         (re_search_internal, prune_impossible_nodes):
82317         (acquire_init_state_context, check_matching, static):
82318         (check_halt_node_context, check_halt_state_context, proceed_next_node):
82319         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
82320         (update_regs, sift_states_backward, build_sifted_states):
82321         (clean_state_log_if_needed, merge_state_array):
82322         (update_cur_sifted_state, add_epsilon_src_nodes):
82323         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
82324         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
82325         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
82326         (find_recover_state, check_subexp_matching_top, transit_state_mb):
82327         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
82328         (check_arrival, check_arrival_add_next_nodes):
82329         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
82330         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
82331         (check_node_accept_bytes, check_node_accept, extend_buffers):
82332         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
82333         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
82334         (sift_ctx_init):
82335         Likewise.
82336
82337         * lib/regex_internal.h:
82338         (re_string_allocate, re_string_construct, re_string_reconstruct):
82339         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
82340         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
82341         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
82342         (re_string_context_at, re_string_peek_byte_case):
82343         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
82344         is defined, since we now use prototypes always.
82345
82346         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
82347         C89 or better.  All uses removed.
82348
82349 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82350
82351         * config/srclist.txt: Add glibc bugs 1220-1227.
82352
82353 2005-08-20  Jim Meyering  <jim@meyering.net>
82354
82355         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
82356         of unused local, dfa.
82357
82358 2005-08-20  Bruno Haible  <bruno@clisp.org>
82359
82360         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
82361
82362 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82363
82364         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
82365         (re_node_set_insert_last, re_dfa_add_node):
82366         Rename local variables to avoid GCC shadowing warnings.
82367
82368 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82369
82370         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
82371         [defined lint]: Suppress bogus uninitialized-variable warnings.
82372
82373         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
82374         and let the caller return REG_ESPACE if out of space.  This
82375         removes an uninitialied-variable warning with GCC 4.0.1, and also
82376         avoids taking the address of a local variable.  All callers
82377         changed.
82378
82379 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82380
82381         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
82382         $LIBCSRC/posix/regexec.c.
82383         Add glibc bug 1217 for regcomp.c.
82384
82385 2005-08-19  Jim Meyering  <jim@meyering.net>
82386
82387         * lib/regexec.c (proceed_next_node): Redo local variables to
82388         avoid GCC shadowing warnings.
82389
82390 2005-08-18  Bruno Haible  <bruno@clisp.org>
82391
82392         * lib/strstr.c (strstr): Fix return value in multibyte case.
82393         * lib/strcasestr.c (strcasestr): Likewise.
82394
82395 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
82396
82397         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
82398
82399 2005-08-17  Jim Meyering  <jim@meyering.net>
82400
82401         Make the %s format (seconds since the epoch) work for a negative
82402         number and when used with a zero-padded field width, e.g. %015s.
82403
82404         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
82405         label so that it precedes the code to set `digits'.  Otherwise,
82406         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
82407         print `00-22'.  Now, it prints `-0022', as it should.
82408
82409 2005-08-17  Bruno Haible  <bruno@clisp.org>
82410
82411         * modules/strstr (Files): Add m4/mbrtowc.m4.
82412         (Depends-on): Add mbuiter.
82413
82414 2005-08-17  Bruno Haible  <bruno@clisp.org>
82415
82416         * modules/strcasestr: New file.
82417         * MODULES.html.sh (String handling, based on ANSI C 89): Add
82418         strcasestr.
82419
82420 2005-08-17  Bruno Haible  <bruno@clisp.org>
82421
82422         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
82423
82424 2005-08-17  Bruno Haible  <bruno@clisp.org>
82425
82426         * modules/mbuiter: New file.
82427         * MODULES.html.sh (Extended multibyte and wide character utilities):
82428         Add mbuiter.
82429
82430 2005-08-17  Bruno Haible  <bruno@clisp.org>
82431
82432         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
82433         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
82434
82435 2005-08-17  Bruno Haible  <bruno@clisp.org>
82436
82437         * m4/strcasestr.m4: New file.
82438
82439 2005-08-17  Bruno Haible  <bruno@clisp.org>
82440
82441         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
82442         * lib/strstr.c: Completely rewritten, with multibyte locale support.
82443
82444 2005-08-17  Bruno Haible  <bruno@clisp.org>
82445
82446         * lib/strcasestr.h: New file.
82447         * lib/strcasestr.c: New file.
82448
82449 2005-08-17  Bruno Haible  <bruno@clisp.org>
82450
82451         * lib/strcasecmp.c: Use mbuiter.h.
82452
82453 2005-08-17  Bruno Haible  <bruno@clisp.org>
82454
82455         * lib/mbuiter.h: New file.
82456
82457 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
82458
82459         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
82460         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
82461         and gl_GETOPT are both invoked via different paths (as happens
82462         with GNU tar CVS because it uses both argp and getopt), the former
82463         wins.
82464
82465 2005-08-16  Bruno Haible  <bruno@clisp.org>
82466
82467         * modules/tls: New file.
82468         * MODULES.html.sh (Multithreading): Add tls.
82469
82470 2005-08-16  Bruno Haible  <bruno@clisp.org>
82471
82472         * modules/strnlen1: New file.
82473         * MODULES.html.sh (String handling): Add strnlen1.
82474
82475 2005-08-16  Bruno Haible  <bruno@clisp.org>
82476
82477         * modules/strcase (Files): Add m4/mbrtowc.m4.
82478         (Depends-on): Add strnlen1, mbchar.
82479
82480 2005-08-16  Bruno Haible  <bruno@clisp.org>
82481
82482         * modules/mbiter: New file.
82483         * MODULES.html.sh (Extended multibyte and wide character utilities):
82484         Add mbiter.
82485
82486 2005-08-16  Bruno Haible  <bruno@clisp.org>
82487
82488         * modules/mbfile: New file.
82489         * MODULES.html.sh (Extended multibyte and wide character utilities):
82490         Add mbfile.
82491
82492 2005-08-16  Bruno Haible  <bruno@clisp.org>
82493
82494         * modules/mbchar: New file.
82495         * MODULES.html.sh (Extended multibyte and wide character utilities):
82496         New section.
82497
82498 2005-08-16  Bruno Haible  <bruno@clisp.org>
82499
82500         * m4/tls.m4: New file, from GNU gettext.
82501
82502 2005-08-16  Bruno Haible  <bruno@clisp.org>
82503
82504         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
82505         always.
82506         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
82507
82508 2005-08-16  Bruno Haible  <bruno@clisp.org>
82509
82510         * m4/mbiter.m4: New file.
82511
82512 2005-08-16  Bruno Haible  <bruno@clisp.org>
82513
82514         * m4/mbfile.m4: New file.
82515
82516 2005-08-16  Bruno Haible  <bruno@clisp.org>
82517
82518         * m4/mbchar.m4: New file.
82519
82520 2005-08-16  Bruno Haible  <bruno@clisp.org>
82521
82522         * lib/tls.h: New file, from GNU gettext.
82523         * lib/tls.c: New file, from GNU gettext.
82524
82525 2005-08-16  Bruno Haible  <bruno@clisp.org>
82526
82527         * lib/strnlen1.h: New file.
82528         * lib/strnlen1.c: New file.
82529
82530 2005-08-16  Bruno Haible  <bruno@clisp.org>
82531
82532         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
82533         (mbi_init): Update.
82534         (mbi_avail, mbi_advance): Let the iteration end before the terminating
82535         NUL byte, not after it.
82536
82537 2005-08-16  Bruno Haible  <bruno@clisp.org>
82538
82539         * lib/strcase.h (strcasecmp): Add note in comments.
82540         * lib/strncasecmp.c: Use code from strcasecmp.c.
82541         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
82542         (strcasecmp): Work correctly in multibyte locales.
82543
82544 2005-08-16  Bruno Haible  <bruno@clisp.org>
82545
82546         * lib/mbiter.h: New file.
82547
82548 2005-08-16  Bruno Haible  <bruno@clisp.org>
82549
82550         * lib/mbfile.h: New file.
82551
82552 2005-08-16  Bruno Haible  <bruno@clisp.org>
82553
82554         * lib/mbchar.h: New file.
82555         * lib/mbchar.c: New file.
82556
82557 2005-08-16  Bruno Haible  <bruno@clisp.org>
82558
82559         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
82560         the valid ones. Makes the comparison operations transitive:
82561         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
82562         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
82563
82564 2005-08-15  Simon Josefsson  <jas@extundo.com>
82565
82566         * modules/ssize_t (License): Change to 'unlimited'.
82567
82568         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
82569
82570 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
82571
82572         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
82573         Add comments for each pending glibc patch.
82574
82575 2005-08-15  Bruno Haible  <bruno@clisp.org>
82576
82577         * lib/regex.h (__restrict_arr): Don't define to __restrict if
82578         __cplusplus is defined.
82579
82580 2005-08-14  Jim Meyering  <jim@meyering.net>
82581
82582         Sync from coreutils.
82583
82584         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
82585         Use the hash-table-based cycle-detection code not just when
82586         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
82587         Reported by James Youngman in
82588         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
82589         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
82590         FTS_TIGHT_CYCLE_CHECK.
82591         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
82592         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
82593         once again.
82594         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
82595         * lib/fts.c (fd_safer): Remove decl.
82596         Include fcntl--.h rather than unistd-safer.h
82597         (fts_safe_changedir): Don't call fd_safer; no longer needed
82598         now that we include fcntl--.h.
82599
82600 2005-08-12  Simon Josefsson  <jas@extundo.com>
82601
82602         * modules/getndelim2: Use ssize_t module.
82603         * modules/getnline: Likewise.
82604         * modules/safe-read: Likewise.
82605         * modules/xreadlink: Likewise.
82606
82607         * modules/ssize_t: New file.
82608
82609 2005-08-12  Simon Josefsson  <jas@extundo.com>
82610
82611         * m4/readline.m4: Look for termcap, curses or ncurses if required.
82612
82613 2005-08-12  Simon Josefsson  <jas@extundo.com>
82614
82615         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82616         ssize_t.
82617
82618 2005-08-12  Simon Josefsson  <jas@extundo.com>
82619
82620         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
82621         readline, getdelim and check_version.
82622         (Support for systems lacking ISO C 99: Sizes of integer types):
82623         Add size_max.
82624
82625 2005-08-12  Bruno Haible  <bruno@clisp.org>
82626
82627         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
82628
82629 2005-08-11  Simon Josefsson  <jas@extundo.com>
82630
82631         * modules/readline: New file.
82632
82633         * modules/strnlen (Files): Add strnlen.h.
82634
82635 2005-08-11  Simon Josefsson  <jas@extundo.com>
82636
82637         * m4/readline.m4: New file.
82638
82639 2005-08-11  Simon Josefsson  <jas@extundo.com>
82640
82641         * lib/readline.h, readline.c: New file.
82642
82643 2005-08-11  Simon Josefsson  <jas@extundo.com>
82644
82645         * doc/gnulib.texi (Initial import, Finishing touches): Mention
82646         gl_AVOID.
82647
82648 2005-08-11  Bruno Haible  <bruno@clisp.org>
82649
82650         * lib/strnlen.h (strnlen): Change parameter name to match comment.
82651
82652 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
82653
82654         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
82655
82656 2005-08-10  Simon Josefsson  <jas@extundo.com>
82657
82658         * tests/test-iconvme.c: New file.
82659
82660 2005-08-10  Simon Josefsson  <jas@extundo.com>
82661
82662         * m4/strnlen.m4: New file.
82663
82664         * m4/strndup.m4: Don't check for strnlen declaration, done in
82665         strnlen.m4.
82666
82667 2005-08-10  Simon Josefsson  <jas@extundo.com>
82668
82669         * lib/strndup.c: Use strnlen.h.
82670
82671         * lib/strnlen.h: New file.
82672
82673 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82674
82675         * README: Typos.
82676
82677 2005-08-02  Simon Josefsson  <jas@extundo.com>
82678
82679         * modules/readline: New file.
82680
82681 2005-08-02  Simon Josefsson  <jas@extundo.com>
82682
82683         * modules/getdelim: New file.
82684
82685         * modules/getline: Rewrite, don't use getndelim2.
82686
82687 2005-08-02  Simon Josefsson  <jas@extundo.com>
82688
82689         * m4/getline.m4: Separate out getdelim stuff into separate module.
82690
82691         * m4/getdelim.m4: New file.
82692
82693 2005-08-02  Simon Josefsson  <jas@extundo.com>
82694
82695         * lib/getline.h, getline.c: Rewrite.
82696
82697         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
82698
82699 2005-07-31  Bruno Haible  <bruno@clisp.org>
82700
82701         * lib/lock.h (gl_lock_initializer): New macro.
82702         (gl_lock_define_initialized): Use it.
82703         (gl_rwlock_initializer): New macro.
82704         (gl_rwlock_define_initialized): Use it.
82705         (gl_recursive_lock_initializer): New macro.
82706         (gl_recursive_lock_define_initialized): Use it.
82707
82708 2005-07-30  Karl Berry  <karl@gnu.org>
82709
82710         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
82711         Report from Ben Pfaff, regarding getopt.
82712
82713 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
82714
82715         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
82716         normal way.
82717         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
82718         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
82719         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
82720         (gl_GETOPT): Use the new macros.  Most of the implementation
82721         is moved to the new macros.  This is for programs like Emacs
82722         that don't want all the functionality of gl_GETOPT.
82723
82724 2005-07-26  Bruno Haible  <bruno@clisp.org>
82725
82726         * m4/lock.m4: Update from GNU gettext.
82727
82728 2005-07-26  Bruno Haible  <bruno@clisp.org>
82729
82730         * lib/lock.h: Update from GNU gettext.
82731         * lib/lock.c: Update from GNU gettext.
82732
82733 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
82734
82735         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
82736         obsolescent AC_TRY_RUN.  Include the default includes files, for
82737         'exit'.
82738
82739 2005-07-24  Bruno Haible  <bruno@clisp.org>
82740
82741         * modules/visibility: New file.
82742         * MODULES.html.sh (Misc): Add visibility.
82743
82744 2005-07-24  Bruno Haible  <bruno@clisp.org>
82745
82746         * m4/visibility.m4: New file.
82747
82748 2005-07-24  Bruno Haible  <bruno@clisp.org>
82749
82750         * doc/visibility.texi: New file.
82751
82752 2005-07-22  Bruno Haible  <bruno@clisp.org>
82753
82754         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
82755         $(ALLOCA_H), redundant through BUILT_SOURCES.
82756         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
82757         redundant through BUILT_SOURCES.
82758         * modules/byteswap (Makefile.am): Remove explicit dependency on
82759         $(BYTESWAP_H), redundant through BUILT_SOURCES.
82760         * modules/fnmatch (Makefile.am): Remove explicit dependency on
82761         $(FNMATCH_H), redundant through BUILT_SOURCES.
82762         * modules/getopt (Makefile.am): Remove explicit dependency on
82763         $(GETOPT_H), redundant through BUILT_SOURCES.
82764         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
82765         redundant through BUILT_SOURCES.
82766         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
82767         redundant through BUILT_SOURCES.
82768         * modules/stdbool (Makefile.am): Remove explicit dependency on
82769         $(STDBOOL_H), redundant through BUILT_SOURCES.
82770         * modules/stdint (Makefile.am): Remove explicit dependency on
82771         $(STDINT_H), redundant through BUILT_SOURCES.
82772         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
82773         Remove explicit dependency on $(SYSEXITS_H).
82774         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
82775
82776 2005-07-18  Simon Josefsson  <jas@extundo.com>
82777
82778         * lib/check-version.c (check_version): Accept identical versions too.
82779
82780 2005-07-18  Bruno Haible  <bruno@clisp.org>
82781
82782         * modules/lock: New file.
82783         * MODULES.html.sh (Multithreading): New section.
82784
82785 2005-07-18  Bruno Haible  <bruno@clisp.org>
82786
82787         * m4/lock.m4: New file, from GNU gettext.
82788
82789 2005-07-18  Bruno Haible  <bruno@clisp.org>
82790
82791         * lib/lock.h: New file, from GNU gettext.
82792         * lib/lock.c: New file, from GNU gettext.
82793
82794 2005-07-18  Bruno Haible  <bruno@clisp.org>
82795
82796         * lib/lock.h (gl_once_t): New type.
82797         (gl_once_define, gl_once): New macros.
82798         * lib/lock.c (fresh_once): New variable.
82799         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
82800         functions.
82801
82802 2005-07-16  Simon Josefsson  <jas@extundo.com>
82803
82804         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
82805         workaround, suggested by Bruno.
82806
82807 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
82808
82809         * modules/xalloc (Depends-on): Add xalloc-die.
82810         * modules/xvasprintf (Depends-on): Add xalloc-die.
82811
82812 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
82813
82814         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
82815         with a minor change.
82816
82817 2005-07-15  Bruno Haible  <bruno@clisp.org>
82818
82819         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
82820         When using lib/poll.c, define poll as rpl_poll.
82821
82822 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
82823
82824         * modules/argp (Depends-on): Remove unlocked-io.
82825
82826 2005-07-14  Derek Price  <derek@ximbiot.com>
82827
82828         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
82829         for glob symlink bug.
82830
82831 2005-07-14  Bruno Haible  <bruno@clisp.org>
82832
82833         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
82834         Instead, test for *_unlocked function declarations directly.
82835
82836 2005-07-11  Simon Josefsson  <jas@extundo.com>
82837
82838         * modules/size_max: New file.
82839
82840         * modules/xsize: Depend on size_max module for size_max.m4.
82841
82842 2005-07-11  Simon Josefsson  <jas@extundo.com>
82843
82844         * lib/size_max.h: New file.
82845
82846 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
82847
82848         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
82849         copyright symbol and the year.
82850         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
82851         (version_etc_va): Use parameterized copyright notice.
82852         Reword to conform to the current GNU coding standards.
82853
82854 2005-07-11  Karl Berry  <karl@gnu.org>
82855
82856         * doc/gnulib.texi (Quoting): new node.
82857         (Initial import): more info, from Patrice.
82858
82859 2005-07-11  Bruno Haible  <bruno@clisp.org>
82860
82861         * gnulib-tool (func_usage): Document option --avoid.
82862         (Command line options): Handle --avoid.
82863         (func_acceptable): New function.
82864         (func_modules_transitive_closure): Use it.
82865
82866 2005-07-11  Bruno Haible  <bruno@clisp.org>
82867
82868         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
82869         Reported by Jim Meyering.
82870
82871 2005-07-10  Bruno Haible  <bruno@clisp.org>
82872
82873         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
82874         Needed when size_t is smaller than 'unsigned int'.
82875         Reported by Paul Eggert.
82876
82877 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82878
82879         * modules/argp (Depends-on): Add unlocked-io
82880
82881 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82882
82883         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
82884         block of defines.
82885
82886 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
82887
82888         * config/srclist.txt: Comment out regcomp.c, since we have a porting
82889         fix now.
82890
82891 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
82892         and Paul Eggert  <eggert@cs.ucla.edu>
82893
82894         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
82895         in wint_t, not wchar_t.  Remove now-unnecessary cast.
82896
82897 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82898
82899         * modules/regex (Files): Add lib/regex_internal.c,
82900         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
82901         (Depends-on): Add extensions.
82902         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
82903
82904 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82905
82906         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
82907         pathconf.
82908         * m4/same.m4 (gl_SAME): Likewise.
82909         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
82910
82911         * m4/regex.m4: Adjust to new libc regex implementation.
82912         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
82913         all the .c and .h parts of (the new) regex.
82914         Quote the m4 stuff better.
82915         Check for RE_ICASE bug of old gnulib.
82916         Check for REG_STARTEND of recent libc.
82917         Rename local variables from jm_* to gl_*.
82918         Quote operand of "test -f".
82919         Say "recent enough" version of libc, not "version 2".
82920         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
82921         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
82922         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
82923         Remove check for btowc, isascii.
82924         Require AM_LANGINFO_CODESET.
82925
82926 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82927
82928         * lib/regex.c, regex.h: Sync from libc.
82929         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
82930         * lib/regexec.c:
82931         New files, synced from libc, except that regex_internal.h
82932         currently has a small porting fix.
82933
82934 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82935
82936         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
82937         regex_internal.c, regexec.c.
82938         Add regex_internal.h too, but as a comment, since the libc version
82939         is currently broken in gnulib mode.
82940
82941 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
82942
82943         Support programs like Emacs that use gnulib but not gettext.
82944         * MODULES.html.sh (Internationalization functions): Add gettext-h.
82945         * modules/gettext-h: New file.
82946         * modules/gettext (Files): Remove lib/gettext.h.
82947         (Depends-on): Add gettext-h.
82948         (Makefile.am): Remove lib_SOURCES.
82949         * modules/argmatch, modules/c-stack, modules/closeout:
82950         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
82951         * modules/execute, modules/file-type, modules/getaddrinfo:
82952         * modules/getopt, modules/human, modules/javacomp:
82953         * modules/javaexec, modules/mkdir-p, modules/obstack:
82954         * modules/openat, modules/pagealign_alloc, modules/pipe:
82955         * modules/quotearg, modules/regex, modules/rpmatch:
82956         * modules/unicodeio, modules/userspec, modules/version-etc:
82957         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
82958         * modules/xsetenv:
82959         Depend on gettext-h, not gettext.
82960
82961 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
82962
82963         * gnulib-tool (func_import): Add support for 'public domain' license.
82964         * modules/alloca, modules/atexit, modules/memmove:
82965         Now public domain, not GPL.
82966         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
82967         * modules/realloc, modules/strerror, modules/strtod:
82968         Now LGPL, not GPL.
82969
82970 2005-07-05  Bruno Haible  <bruno@clisp.org>
82971
82972         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
82973         autoconf CVS. Needed for mingw.
82974
82975 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82976
82977         Remove the dependency of the strftime module on the tzset module.
82978         * modules/strftime (Depends-on): Remove dependency on tzset.
82979
82980 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82981
82982         Remove the dependency of the strftime module on the tzset module.
82983         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
82984         gl_FUNC_TZSET_CLOBBER.
82985
82986 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82987
82988         Remove the dependency of the strftime module on the tzset module.
82989         * lib/strftime.c (my_strftime)
82990         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
82991         Copy the input structure, to work around some of the bug with
82992         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
82993         Solaris releases, you should also use the tzset module, but we won't
82994         require it as a dependency any more since we don't want LGPLed code
82995         to depend on GPLed code.
82996
82997 2005-07-02  Jim Meyering  <jim@meyering.net>
82998
82999         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
83000         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
83001         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
83002         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
83003
83004 2005-07-02  Jim Meyering  <jim@meyering.net>
83005
83006         * lib/backupfile.c (backup_args): Change a `0' to NULL.
83007
83008 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
83009
83010         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
83011         declares only 'struct timespec;' (!).
83012
83013 2005-07-01  Jim Meyering  <jim@meyering.net>
83014
83015         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
83016         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
83017         * lib/save-cwd.c, tempname.c:
83018         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
83019         and don't include <sys/file.h>).
83020
83021 2005-06-29  Jim Meyering  <jim@meyering.net>
83022
83023         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
83024         type name.  Use the variable name instead.
83025         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
83026         Likewise.
83027
83028 2005-06-28  Simon Josefsson  <jas@extundo.com>
83029
83030         * modules/check-version (Files): Add check-version.m4.
83031
83032 2005-06-28  Simon Josefsson  <jas@extundo.com>
83033
83034         * m4/check-version.m4: New file, suggested by Jim Meyering
83035         <jim@meyering.net>.
83036
83037 2005-06-28  Simon Josefsson  <jas@extundo.com>
83038
83039         * lib/check-version.h, lib/check-version.c: New files.
83040
83041 2005-06-28  Simon Josefsson  <jas@extundo.com>
83042
83043         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
83044         collision with global variable.  Better indentation.  Don't
83045         increment buffer pointer beyond buffer end.  Based on comments
83046         from Paul Eggert <eggert@cs.ucla.edu>.
83047
83048         * lib/base64.h: Indent.
83049
83050 2005-06-28  Simon Josefsson  <jas@extundo.com>
83051
83052         * doc/gnulib.texi (Library version handling): New section.
83053
83054 2005-06-28  Jim Meyering  <jim@meyering.net>
83055
83056         * check-module (find_included_lib_files): Hard-code another
83057         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
83058         but modules/fts-lgpl (correctly) does not list those files.
83059
83060         * modules/canonicalize (Files): Add lib/pathmax.h.
83061
83062 2005-06-25  Simon Josefsson  <jas@extundo.com>
83063
83064         * modules/check-version: New file.
83065
83066 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
83067
83068         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
83069         initializer of struct addrinfo, as an indication that we don't
83070         care how many members the structure has.
83071
83072 2005-06-24  Derek Price  <derek@ximbiot.com>
83073         and Bruno Haible  <bruno@clisp.org>
83074
83075         Remove stat module & update lstat.
83076         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
83077         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83078         * m4/stat.m4: Remove this file.
83079
83080 2005-06-24  Derek Price  <derek@ximbiot.com>
83081         and Bruno Haible  <bruno@clisp.org>
83082
83083         Remove stat module & update lstat.
83084         * lib/stat.c: Remove this file...
83085         (slash_aware_lstat): ...moving this content and its support...
83086         * lib/lstat.c (rpl_lstat): ...into here.
83087         * lib/lstat.h: New file.
83088
83089 2005-06-24  Derek Price  <derek@ximbiot.com>
83090         and Bruno Haible  <bruno@clisp.org>
83091
83092         Remove stat module & update lstat.
83093         * config/srclist.txt (libc sources): Remove stat.
83094
83095 2005-06-24  Derek Price  <derek@ximbiot.com>
83096         and Bruno Haible  <bruno@clisp.org>
83097
83098         Remove stat module & update lstat.
83099         * MODULES.html.sh (stat): Remove.
83100         * MODULES.html: Regenerated.
83101         * modules/lstat (Description): Correct function name.
83102         (Files): Add "lstat.h".
83103         (Depends-on): Remove stat, add xalloc, stat-macros.
83104         * modules/stat: Remove this file.
83105         (Include): Add "lstat.h", remove <sys/stat.h>.
83106
83107 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
83108
83109         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
83110         (ranged_convert): Don't save conversion in a temporary struct.
83111         This causes a warning with GCC 4.0.0, and anyway in the typical
83112         case it's not worth the extra 100 bytes or so of code.
83113         (ranged_convert, __mktime_internal): When calling a function via a
83114         pointer P, use P () rather than (*P) (), as we now assume C89 or
83115         better.
83116
83117 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83118
83119         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
83120         "who -r" failed to give output.  Problem reported by Tim Waugh.
83121
83122         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
83123         (xcalloc): Use it to avoid needless tests.
83124         Problem reported by Jim Meyering.
83125
83126 2005-06-20  Derek Price  <derek@ximbiot.com>
83127
83128         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
83129         unnecessary for Autoconfs > 2.59c.
83130
83131 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83132
83133         * lib/argp.h (__option_is_short): Check upper limit of
83134         __key. Isprint() requires its argument to have the value
83135         of an unsigned char or EOF.
83136
83137 2005-06-16  Jim Meyering  <jim@meyering.net>
83138
83139         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
83140         when either N or S is zero.
83141
83142 2005-06-16  Derek Price  <derek@ximbiot.com>
83143
83144         * m4/bison.m4: Declare YACC & YFLAGS precious.
83145
83146 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
83147
83148         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
83149         multibyte string or pattern, fall back on unibyte matching.
83150         Problem reported by James Youngman.
83151
83152 2005-06-08  Bruno Haible  <bruno@clisp.org>
83153
83154         * modules/csharpcomp: New file.
83155         * MODULES.html.sh (C#): Add csharpcomp.
83156
83157 2005-06-08  Bruno Haible  <bruno@clisp.org>
83158
83159         * m4/csharpcomp.m4: New file, from GNU gettext.
83160
83161 2005-06-08  Bruno Haible  <bruno@clisp.org>
83162
83163         * lib/csharpcomp.h: New file, from GNU gettext.
83164         * lib/csharpcomp.c: New file, from GNU gettext.
83165         * lib/csharpcomp.sh.in: New file, from GNU gettext.
83166
83167 2005-06-08  Bruno Haible  <bruno@clisp.org>
83168
83169         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
83170         warning on mingw.
83171
83172 2005-06-07  Derek Price  <derek@ximbiot.com>
83173
83174         Sync from CVS.
83175         * lib/glob_.h: Indent nested #ifdef.
83176
83177 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83178
83179         Sync from coreutils.
83180         Use "file name" when talking about file names, instead of "filename"
83181         or "path", as per the GNU coding standards.
83182         * lib/mkdir-p.c: Renamed from makepath.c.
83183         (make_dir_parents): Renamed from make_path.  All callers changed.
83184         * lib/mkdir-p.h: Likewise.  All includers changed.
83185         * lib/filenamecat.c: Renamed from path-concat.c.
83186         (file_name_concat): Renamed from path_concat.  All callers changed.
83187         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
83188         * lib/filenamecat.h: Likewise.  All includers changed.
83189         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
83190         in comments or local variable names.
83191         * lib/basename.c: Likewise.
83192         * lib/canonicalize.c, canonicalize.h: Likewise.
83193         * lib/dirname.c, dirname.h: Likewise.
83194         * lib/euidaccess.c: Likewise.
83195         * lib/exclude.c: Likewise
83196         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
83197         * lib/fsusage.c, fsuage.h: Likewise.
83198         * lib/fts.c, fts_.h: Likewise.
83199         * lib/getcwd.c: Likewise.
83200         * lib/getloadavg.c: Likewise.
83201         * lib/mkstemp.c: Likewise.
83202         * lib/mountlist.c, mountlist.h: Likewise.
83203         * lib/openat.c, openat.h: Likewise.
83204         * lib/readlink-stub.c: Likewise.
83205         * lib/readutmp.c, readutmp.h: Likewise.
83206         * lib/rename.c: Likewise.
83207         * lib/rmdir.c: Likewise.
83208         * lib/same.c: Likewise.
83209         * lib/savedir.c: Likewise.
83210         * lib/stripslash.c: Likewise.
83211         * lib/tempname.c: Likewise.
83212         * lib/xreadlink.c: Likewise.
83213         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
83214         All uses changed.
83215         * lib/exclude.h: Likewise.
83216
83217         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
83218         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83219         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
83220         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83221         * lib/pathmax.h: Include <limits.h> unconditionally, since other
83222         files have been getting away with it for years (MORE/BSD 4.3
83223         is extinct now).
83224         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
83225         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83226
83227         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
83228         Define to 256, not 255, as per modern POSIX.
83229
83230 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83231
83232         Sync from coreutils.
83233         Use "file name" when talking about file names, instead of "filename"
83234         or "path", as per the GNU coding standards.
83235         * MODULES.html.sh: mkdir-p renamed from makepath.
83236         filenamecat renamed from path-concat.
83237         * modules/filenamecat: Renamed from modules/path-concat.
83238         (Files): filenamecat.h and filenamecat.c renamed from
83239         path-concat.h and path-concat.c.
83240         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
83241         (Include): filenamecat.h, not path-concat.h.
83242         * modules/mkdir-p: Renamed from modules/makepath.
83243         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
83244         makepath.c.
83245         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
83246         (Include): mkdir-p.h, not makepath.h.
83247
83248 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83249
83250         Sync from coreutils.
83251         * m4/mkdir-p.m4: Renamed from makepath.m4.
83252         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
83253         Rename files from makepath.c to mkdir-p.c, and from
83254         makepath.h to mkdir-p.h.
83255         * m4/filenamecat.m4: Renamed from path-concat.m4.
83256         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
83257         Rename files from path-concat.c to filenamecat.c,
83258         and from path-concat.h to filenamecat.h.
83259         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
83260         "file name" in local variables or comments.
83261         * m4/rename.m4: Likewise.
83262
83263 2005-06-01  Bruno Haible  <bruno@clisp.org>
83264
83265         * modules/csharpexec: New file.
83266         * MODULES.html.sh (C#): New section.
83267
83268 2005-06-01  Bruno Haible  <bruno@clisp.org>
83269
83270         * m4/csharp.m4: New file, from GNU gettext.
83271         * m4/csharpexec.m4: New file, from GNU gettext.
83272
83273 2005-06-01  Bruno Haible  <bruno@clisp.org>
83274
83275         * lib/csharpexec.h: New file, from GNU gettext.
83276         * lib/csharpexec.c: New file, from GNU gettext.
83277         * lib/csharpexec.sh.in: New file, from GNU gettext.
83278
83279 2005-05-31  Derek Price  <derek@ximbiot.com>
83280             Paul Eggert  <eggert@cs.ucla.edu>
83281
83282         Sync from cvs.
83283         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
83284
83285 2005-05-31  Derek Price  <derek@ximbiot.com>
83286             Paul Eggert  <eggert@cs.ucla.edu>
83287
83288         Sync from cvs.
83289         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
83290
83291 2005-05-29  Derek Price  <derek@ximbiot.com>
83292
83293         * config/srclist.txt (glob_.h, glob.c): Add these files.
83294
83295 2005-05-29  Derek Price  <derek@ximbiot.com>
83296
83297         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
83298         * modules/glob: New file.
83299         * modules/getlogin_r: Add link to POSIX spec in description.
83300
83301 2005-05-29  Derek Price  <derek@ximbiot.com>
83302             Paul Eggert  <eggert@cs.ucla.edu>
83303
83304         * m4/glob.m4: New file.
83305
83306 2005-05-29  Derek Price  <derek@ximbiot.com>
83307             Paul Eggert  <eggert@cs.ucla.edu>
83308
83309         * lib/glob_.h, lib/glob.c: New files.
83310
83311 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
83312
83313         * modules/fts (Files): Remove m4/inttypes-pri.m4.
83314         * modules/fts-lgpl (Depends-on): Remove gettext.
83315
83316 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
83317
83318         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
83319         and don't require gt_INTTYPES_PRI.
83320
83321 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
83322
83323         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
83324
83325         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
83326         the configuration hassle isn't worth it.
83327         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
83328         (LONGEST_MODIFIER, PRIuMAX): Remove.
83329
83330 2005-05-27  Bruno Haible  <bruno@clisp.org>
83331
83332         * lib/getlogin_r.h: Remove second include of <stddef.h>.
83333
83334 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
83335
83336         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
83337         _POSIX_PTHREAD_SEMANTICS for Solaris.
83338
83339 2005-05-25  Derek Price  <derek@ximbiot.com>
83340
83341         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
83342
83343 2005-05-25  Derek Price  <derek@ximbiot.com>
83344             Paul Eggert  <eggert@cs.ucla.edu>
83345
83346         * modules/getlogin_r, m4/getlogin_r.m4: New files.
83347         * lib/getlogin_r.c, getlogin_r.h: New files.
83348
83349 2005-05-25  Bruno Haible  <bruno@clisp.org>
83350             Derek Price  <derek@ximbiot.com>
83351
83352         * lib/getlogin_r.h: Simplify API documentation.
83353
83354 2005-05-23  Derek Price  <derek@ximbiot.com>
83355
83356         * modules/minmax (Files): Add m4/minmax.m4.
83357         (configure.ac): Add gl_MINMAX.
83358
83359 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
83360
83361         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
83362         so that unistd-safer.h (GPL'ed code) need not be included.
83363
83364 2005-05-22  Bruno Haible  <bruno@clisp.org>
83365
83366         * m4/minmax.m4: New file.
83367         Based on a patch by Derek Price <derek@ximbiot.com>.
83368
83369 2005-05-22  Bruno Haible  <bruno@clisp.org>
83370
83371         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
83372         (INT64_MIN): Fix definition.
83373         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
83374
83375         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
83376         NEED_SIGNED_INT_TYPES.
83377
83378         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
83379         HAVE_SYSTEM_INTTYPES.
83380
83381 2005-05-22  Bruno Haible  <bruno@clisp.org>
83382
83383         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
83384         Also include <sys/param.h> if it defines MIN, MAX.
83385         Based on a patch by Derek Price <derek@ximbiot.com>.
83386
83387 2005-05-21  Jim Meyering  <jim@meyering.net>
83388
83389         * modules/fts (Files): Add m4/inttypes-pri.m4.
83390         (Depends-on): Add lstat and remove gettext.  Alphabetize.
83391
83392 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83393
83394         New fts module.
83395         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
83396         (setup_dir, free_dir): New functions.
83397         (enter_dir, leave_dir): Define trivial
83398         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
83399         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
83400         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
83401         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
83402         Move to fts-cycle.c.
83403         (fts_open): Use setup_dir.
83404         (fts_close): Use free_dir.
83405         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
83406         This adds a label and some gotos, but the alternatives were messier.
83407         Check for memory allocation failure when entering a dir.
83408         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
83409         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
83410         (FTS): New member fts_cycle, that is a union that contains the
83411         old active_dir_ht and cycle_state.  All uses changed to mention
83412         fts_cycle.ht and fts_cycle.state.
83413         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
83414         fts.c, with the following changes:
83415         (setup_dir, free_dir): New functions.
83416         (enter_dir): Now returns bool.  Return true if successful, false
83417         if memory exhausted.  All callers changed.
83418         Do not bother partly cleaning up on
83419         memory allocation failure; that is free_dir's job.
83420         However, free ad if hash_insert fails, to avoid memory leak.
83421         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
83422         fts->fts_options to see which union member to use.
83423
83424 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83425
83426         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
83427         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
83428
83429 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83430
83431         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
83432
83433 2005-05-20  Jim Meyering  <jim@meyering.net>
83434
83435         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
83436         Now a macro, to pacify GCC.
83437
83438 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
83439
83440         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
83441         of -1.
83442
83443 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
83444
83445         * lib/chown.c (rpl_chown): Return -1 on failure.
83446
83447 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
83448
83449         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
83450         Don't check for stddef.h.
83451         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
83452         don't use its results.
83453         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
83454         since we include them unconditionally.  Don't require
83455         AM_STDBOOL_H, since stdbool is a prerequisite.
83456         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
83457         since we assume C89 or better.
83458         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
83459         as we don't use their results.
83460         Don't check for fchdir, memmove, memset, strrchr, as we use
83461         them unconditionally.
83462         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
83463         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
83464
83465 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
83466
83467         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
83468         Include <stddef.h> unconditionally, since we assume C89 now.
83469         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
83470         * lib/fts.c: Include fts_.h first, to check interface.
83471         Do not include intprops.h; no longer needed.
83472         Include cycle-check.h and hash.h, since fts_.h no longer does.
83473         Remove unnecessary casts of closedir to void.
83474         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
83475         decide whether to decrement nlinks.
83476         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
83477         (FTS): Use struct hash_table * instead of Hash_table, so that
83478         we no longer need to include hash.h here.
83479
83480 2005-05-18  Jim Meyering  <jim@meyering.net>
83481
83482         * modules/dirfd (License): Change to LGPL.  Most of the code
83483         is already in the public domain.
83484
83485 2005-05-18  Jim Meyering  <jim@meyering.net>
83486
83487         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
83488         Reported by Yoann Vandoorselaere.
83489
83490 2005-05-17  Jim Meyering  <jim@meyering.net>
83491
83492         * m4/fts.m4: New file, from coreutils.
83493
83494 2005-05-17  Jim Meyering  <jim@meyering.net>
83495
83496         * lib/fts.c, lib/fts_.h: New files, from coreutils.
83497
83498 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83499
83500         Sync from coreutils.
83501         * m4/unlinkdir.m4: New file.
83502
83503 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83504
83505         Sync from coreutils.
83506         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
83507         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
83508         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
83509         White space changes only.
83510         * lib/makepath.c (make_path): Port to hosts where leading "//" is
83511         special.
83512         * lib/yesno.c: Include getline.h, not ctype.h.
83513         (yesno): Don't remove leading white space; POSIX doesn't allow it.
83514         Use getline to remove arbitrary restriction on response length.
83515
83516 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83517
83518         * config/srclist-update: Spell out "Street" in FSF postal
83519         mail address; this is the style the FSF seems to prefer.
83520
83521         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
83522         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
83523         this updates FSF postal mail address.
83524
83525         Sync from coreutils.
83526         * modules/unlinkdir: New file.
83527         * modules/yesno (Depends-on): Add getline.
83528         * MODULES.html.sh (File system functions): Add unlinkdir.
83529
83530 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83531
83532         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
83533         lib/strsep.h:
83534         Change the initial comment to refer to GPL, not LGPL.
83535         gnulib-tool will change it to LGPL as needed.
83536
83537         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
83538         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
83539         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
83540         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
83541         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
83542         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
83543         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
83544         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
83545         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
83546         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
83547         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
83548         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
83549         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
83550         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
83551         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
83552         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
83553         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
83554         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
83555         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
83556         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
83557         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
83558         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
83559         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
83560         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
83561         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
83562         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
83563         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
83564         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
83565         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
83566         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
83567         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
83568         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
83569         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
83570         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
83571         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
83572         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
83573         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
83574         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
83575         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
83576         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
83577         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
83578         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
83579         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
83580         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
83581         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
83582         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
83583         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
83584         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
83585         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
83586         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
83587         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
83588         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
83589         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
83590         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
83591         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
83592         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
83593         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
83594         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
83595         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
83596         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
83597         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
83598         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
83599         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
83600         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
83601         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
83602         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
83603         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
83604         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
83605         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
83606         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
83607         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
83608         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
83609         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
83610         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
83611         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
83612         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
83613         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
83614         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
83615         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
83616         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
83617         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
83618         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
83619         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
83620         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
83621         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
83622         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
83623         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
83624         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
83625         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
83626         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
83627         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
83628         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
83629         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
83630         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
83631         lib/yesno.c, lib/yesno.h:
83632         Update FSF postal mail address.
83633
83634 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83635
83636         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
83637         tests/test-memmem.c, tests/test-stpncpy.c:
83638         Update FSF postal mail address.
83639
83640 2005-05-13  Bruno Haible  <bruno@clisp.org>
83641
83642         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
83643         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
83644         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
83645         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
83646         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
83647         Add support for 64-bit integers in the MSVC compiler.
83648
83649 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83650
83651         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
83652
83653 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
83654
83655         * gnulib-tool (func_import): Sort and uniquify recommended includes.
83656
83657 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
83658
83659         * doc/getdate.texi (General date syntax): Don't say that date
83660         date --iso-8601=ns generates acceptable dates; it doesn't yet.
83661         Problem reported by Nic Ferrier.
83662
83663 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83664
83665         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
83666         specified in ai_socktype. Fix invalid ai_protocol
83667         check. ai_protocol is usually set to 0 or depending on
83668         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
83669         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
83670         ai_socktype / ai_protocol in the returned addrinfo structure.
83671
83672 2005-05-10  Simon Josefsson  <jas@extundo.com>
83673
83674         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
83675         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
83676
83677 2005-05-10  Karl Berry  <karl@gnu.org>
83678
83679         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
83680         (from http://www.gnu.org/licenses).
83681         * doc/COPYING.LIB: also rename to COPYING.LESSER.
83682         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
83683         fdl.texi suffices.
83684
83685 2005-05-10  Karl Berry  <karl@gnu.org>
83686
83687         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
83688         (COPYING.DOC): remove.
83689
83690         * config/srclist-update: new FSF address.
83691
83692 2005-05-10  Derek Price  <derek@ximbiot.com>
83693
83694         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
83695         possible.
83696
83697 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83698             Bruno Haible  <bruno@clisp.org>
83699
83700         * modules/inet_ntop: New file.
83701         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83702         inet_ntop.
83703
83704 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83705             Bruno Haible  <bruno@clisp.org>
83706
83707         * m4/inet_ntop.m4: New file.
83708
83709 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83710             Bruno Haible  <bruno@clisp.org>
83711
83712         * lib/inet_ntop.h: New file.
83713         * lib/inet_ntop.c: New file, from glibc with modifications.
83714
83715 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
83716
83717         * modules/time_r (License): Change to LGPL.
83718         * modules/extensions (License): Change to LGPL.  Actually,
83719         the license is more permissive than that, but currently gnulib-tool
83720         doesn't know how to handle more-permissive licenses.
83721
83722         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
83723         Problem reported by Dave Love.
83724
83725 2005-05-08  Jim Meyering  <jim@meyering.net>
83726
83727         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
83728         blank.
83729
83730 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83731
83732         * modules/argmatch (Depends-on): Add stdbool.
83733         * modules/backupfile (Depends-on): Likewise.
83734         * modules/chdir-long (Depends-on): Likewise.
83735         * modules/closeout (Depends-on): Likewise.
83736         * modules/cycle-check (Depends-on): Likewise.
83737         * modules/dirname (Depends-on): Likewise.
83738         * modules/fnmatch (Depends-on): Likewise.
83739         * modules/fsusage (Depends-on): Likewise.
83740         * modules/fwriteerror (Depends-on): Likewise.
83741         * modules/getcwd (Depends-on): Likewise.
83742         * modules/getloadavg (Depends-on): Likewise.
83743         * modules/hard-locale (Depends-on): Likewise.
83744         * modules/makepath (Depends-on): Likewise.
83745         * modules/mountlist (Depends-on): Likewise.
83746         * modules/nanosleep (Depends-on): Likewise.
83747         * modules/posixtm (Depends-on): Likewise.
83748         * modules/quotearg (Depends-on): Likewise.
83749         * modules/readtokens (Depends-on): Likewise.
83750         * modules/readtokens0 (Depends-on): Likewise.
83751         * modules/readutmp (Depends-on): Likewise.
83752         * modules/save-cwd (Depends-on): Likewise.
83753         * modules/strftime (Depends-on): Likewise.
83754         * modules/userspec (Depends-on): Likewise.
83755         * modules/utimecmp (Depends-on): Likewise.
83756         * modules/xgetcwd (Depends-on): Likewise.
83757         * modules/xnanosleep (Depends-on): Likewise.
83758         * modules/xstrtod (Depends-on): Likewise.
83759         * modules/yesno (Depends-on): Likewise.
83760
83761 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
83762
83763         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
83764         needless checks.
83765
83766 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83767
83768         Merge from coreutils.  Among other things,
83769         add bulletproofing for cases where stdin, stdout, or stderr are closed.
83770         * lib/fd-safer.c: New file.
83771         * lib/fcntl-safer.h, open-safer.c: Remove.
83772         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
83773         * lib/dup-safer.c: Include unistd-safer.h first.
83774         Don't include errno.h.
83775         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
83776         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
83777         * lib/file-type.c: Rely on file-type.h change.
83778         * lib/getloadavg.c: Include unistd-safer.h.
83779         (getloadavg): Use safer open.
83780         * lib/getusershell.c: Include "stdio-safer.h".
83781         (getusershell): Use safer fopen.
83782         * lib/long-options.c (long_options): Use NULL rather than 0.
83783         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
83784         'free'.
83785         * lib/modechange.c: Likewise.
83786         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
83787         (MODE_DONE): New constant.
83788         (struct mode_change): Remove 'next' member.
83789         (make_node_op_equals): New function; like the old one of the
83790         same name, except it allocates an array.
83791         (mode_compile, mode_create_from_ref): Use it.
83792         (mode_compile): Allocate result as an array, not a linked list.
83793         Parse octal string ourself, so that we catch mistakes like "+0".
83794         (mode_adjust): Arg is an array, not a linked list.
83795         * lib/modechange.c: Include stat-macros.h, xalloc.h.
83796         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
83797         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
83798         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
83799         Remove.  This is now stat-macros.h's job.
83800         (talloc): Remove.  All callers replaced by xalloc, so that
83801         our invokers don't have to worry about reporting memory failures.
83802         (make_node_op_equals): Remove.
83803         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
83804         New constants.
83805         (struct mode_change): Moved here from modechange.h.
83806         (mode_append_entry): Remove.
83807         (mode_compile): Remove MASKED_OPS arg, since it encouraged
83808         apps to have incorrect behavior.  Use simpler algorithm for head
83809         and tail.  Don't futz with umask; that's now the job of mode_adjust.
83810         Detect more invalid usages rather than having somewhat-random behavior.
83811         Don't insert an "a=" action, as that leads to incorrect behavior.
83812         (mode_compile, mode_create_from_ref): Return NULL on error instead
83813         of an enum, since now there's only one way to have an error.  All
83814         callers changed.
83815         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
83816         at the correct time.  Simplify calculation of "+u" and its ilk.
83817         Don't mishandle "+X".
83818         (mode_free): Remove "register" and localize decls.
83819         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
83820         (struct mode_change): Move to modechange.c; callers don't
83821         need to see this stuff.
83822         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
83823         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
83824         (mode_change, mode_adjust): Reflect the new signatures noted above.
83825         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
83826         that might redefine system include files.
83827         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
83828         (my_usleep): Use NULL rather than (void *) 0.
83829         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
83830         Use siginterrupt to specify that system calls should be interrupted.
83831         (rpl_nanosleep): Move initialization of suspended closer to call of
83832         my_usleep.
83833         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
83834         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
83835         (desirable_utmp_entry): New function.
83836         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
83837         using x2nrealloc, to simplify logic.
83838         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
83839         size calculation.  Do not assume utmp file is a regular file.
83840         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
83841         (READ_UTMP_CHECK_PIDS): New constant.
83842         * lib/save-cwd.c: Include unistd-safer.h.
83843         (save_cwd): Use fd_safer.
83844         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
83845         [!_LIBC] Include "stat-macros.h" instead.
83846         * lib/unistd-safer.h (fd_safer): New decl.
83847
83848 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83849
83850         * modules/getloadavg (Depends-on): Add unistd-safer.
83851         * modules/getusershell (Depends-on): Add stdio-safer.
83852         * modules/lstat (Depends-on): Remove xalloc.
83853         * modules/mkstemp (Depends-on): Add stat-macros.
83854         * modules/modechange (Depends-on): Remove xstrtol.
83855         Add stat-macros, xalloc.
83856         * modules/save-cwd (Depends-on): Add unistd-safer.
83857         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
83858         * modules/unistd-safer (Files): Add lib/fd-safer.c
83859         (Makefile.am): Remove lib_SOURCES.
83860
83861         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
83862         Remove fcntl-safer; unistd-safer supersedes it.
83863
83864 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83865
83866         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
83867         AC_HEADER_STAT.
83868         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
83869         (gl_PREREQ_CHOWN): Remove.
83870         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
83871         it.  Don't require AC_HEADER_STAT.
83872         (gl_PREREQ_LSTAT): Remove.
83873         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
83874         Don't require AC_HEADER_STAT.
83875         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
83876         (gl_PREREQ_RMDIR): Remove.
83877         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
83878         mention stat-macros.h or AC_HEADER_STAT, since we'll make
83879         the stat-macros module a prerequisite.
83880         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
83881         * m4/filemode.m4 (gl_FILEMODE): Likewise.
83882         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
83883         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
83884         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
83885         variable names.
83886         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
83887         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
83888         variable prefixes.
83889         * m4/fcntl-safer.m4: Remove.
83890         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
83891         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
83892         Invoke gl_PREREQ_FD_SAFER.
83893         (gl_PREREQ_FD_SAFER): New macro.
83894         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
83895         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
83896         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
83897         Remove duplicate call to AC_LIBOBJ(readutmp).
83898         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
83899
83900         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
83901         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
83902
83903 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83904
83905         * MODULES.html.sh (Misc): Add byteswap.
83906
83907 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83908
83909         * modules/getcwd (Depends-on): Add extensions.
83910         * modules/openat (Depends-on): Likewise.
83911
83912 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83913
83914         * modules/byteswap: New file.
83915
83916 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83917
83918         * m4/byteswap.m4: New file.
83919
83920 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83921
83922         * lib/byteswap_.h: New file.
83923
83924 2005-04-25  Karl Berry  <karl@gnu.org>
83925
83926         * m4/gettext.m4: Update from GNU gettext 0.14.4.
83927
83928 2005-04-25  Albert Chin  <china@thewrittenword.com>
83929
83930         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
83931         Toolkit C bug.
83932
83933 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
83934
83935         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
83936         (func_ln_if_changed): Remove forcibly for no error message
83937         in case file does not exist.
83938
83939 2005-04-19  Simon Josefsson  <jas@extundo.com>
83940
83941         * gnulib-tool (Options): Make --symlink mean --symbolic.
83942
83943 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
83944
83945         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
83946
83947 2005-04-16  Simon Josefsson  <jas@extundo.com>
83948
83949         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
83950
83951 2005-04-15  Simon Josefsson  <jas@extundo.com>
83952
83953         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
83954
83955 2005-04-15  Simon Josefsson  <jas@extundo.com>
83956
83957         * gnulib-tool: Rename --symlink to --symbolic.
83958
83959 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
83960
83961         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
83962         symbolic links to files instead of copying/moving.  Add --aux-dir,
83963         specifying directory relative --dir where auxiliary build tools
83964         are placed.
83965
83966 2005-04-14  Bruno Haible  <bruno@clisp.org>
83967
83968         * modules/allocsa (License): Change to LGPL.
83969         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
83970
83971 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
83972
83973         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
83974         that "UTC +1 second" continues to work.  Problem reported
83975         by Dmitry V. Levin.
83976         (relunit_snumber): New rule.
83977         (relunit): Use it.
83978
83979 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
83980
83981         * lib/getdate.y (universal_time_zone_table): New constant.
83982         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
83983         universal_time_zone_table.
83984         (lookup_zone): Prefer universal_time_zone_table to
83985         local_time_zone_table, so that "GMT" time stamps are allowed in
83986         London during the summer.  Problem reported by Ian Abbott.
83987
83988 2005-04-12  Jim Meyering  <jim@meyering.net>
83989
83990         * lib/human.c (humblock): Set *options even when returning due to
83991         xstrtoumax conversion failure.  Thanks to a used-uninitialized
83992         warning from gcc-4.
83993
83994 2005-04-09  Jim Meyering  <jim@meyering.net>
83995
83996         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
83997         -Wuninitialized: initialize tm0.tm_year.
83998
83999 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
84000
84001         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
84002         count, since there's no maximum.  All uses changed.
84003         Add member dsts_seen.
84004         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
84005         not being INT_MAX.
84006         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
84007         Use pc_rels_seen to decide whether a date is absolute.
84008
84009         * lib/getdate.y (number): Don't overwrite year.
84010         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
84011         check.
84012
84013 2005-04-02  Simon Josefsson  <jas@extundo.com>
84014
84015         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
84016         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
84017
84018 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
84019
84020         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
84021         where no absolute path name can be longer than PATH_MAX.
84022
84023 2005-03-27  Jim Meyering  <jim@meyering.net>
84024
84025         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
84026
84027 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
84028
84029         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
84030         "one's complement" -> "ones' complement" in comment, as per Knuth.
84031         "value of type" -> "type or expression" in comment.
84032         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
84033
84034 2005-03-26  Jim Meyering  <jim@meyering.net>
84035
84036         Comment nits.
84037         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
84038         Correct typos: s/or/of/.
84039
84040 2005-03-26  Jim Meyering  <jim@meyering.net>
84041
84042         * modules/check-include-files: Move to ../ and rename to...
84043         * check-module: ...this.
84044
84045 2005-03-25  Jim Meyering  <jim@meyering.net>
84046
84047         * modules/xvasprintf (Files): Add xalloc.h.
84048
84049 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
84050
84051         * modules/gettext (Files): config/config.rpath ->
84052         build-aux/config.rpath
84053         * modules/iconv (Files): Likewise.
84054         Problem reported by Oskar Liljeblad.
84055
84056 2005-03-23  Jim Meyering  <jim@meyering.net>
84057
84058         * modules/check-include-files: New script to check for
84059         missing dependencies, multiple includes, etc.
84060
84061         * modules/c-strtold (Depends-on): Add xalloc.
84062         * modules/c-strtod (Depends-on): Add xalloc.
84063         * modules/hash (Depends-on): Add xalloc.
84064         (Files): Remove lib/xalloc.h.
84065
84066         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
84067         * modules/userspec (Files): Add lib/inttostr.h.
84068
84069 2005-03-23  Jim Meyering  <jim@meyering.net>
84070
84071         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
84072
84073 2005-03-22  Jim Meyering  <jim@meyering.net>
84074
84075         * modules/stat-macros: New module.
84076         * modules/canonicalize, modules/euidaccess, modules/file-type,
84077         * modules/filemode, modules/lchown, modules/makepath,
84078         * modules/rmdir, modules/stat: Depend on new stat-macros module
84079         rather than listing lib/stat-macros.h manually.
84080         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
84081
84082 2005-03-22  Jim Meyering  <jim@meyering.net>
84083
84084         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
84085
84086 2005-03-22  Bruno Haible  <bruno@clisp.org>
84087
84088         * config/srclist.txt: Replace target directory 'config' with
84089         'build-aux'.
84090         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
84091         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
84092         ../build-aux/.
84093
84094 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
84095
84096         * modules/chdir-long (Depends-on): Add mempcpy.
84097
84098         * modules/acl, modules/backupfile, modules/c-strtod,
84099         modules/c-strtold, modules/canon-host, modules/canonicalize,
84100         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
84101         modules/exclude, modules/exitfail, modules/file-type,
84102         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
84103         modules/getdate, modules/getline, modules/getpagesize,
84104         modules/getpass, modules/getugroups, modules/group-member,
84105         modules/hard-locale, modules/hash, modules/human, modules/idcache,
84106         modules/inttostr, modules/long-options, modules/makepath,
84107         modules/md5, modules/memcasecmp, modules/memcoll,
84108         modules/modechange, modules/mountlist, modules/path-concat,
84109         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
84110         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
84111         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
84112         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
84113         modules/strftime, modules/strndup, modules/strverscmp,
84114         modules/timespec, modules/unlocked-io, modules/userspec,
84115         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
84116         modules/yesno:
84117         Remove lib_SOURCES line from Makefile.am section, as this is now
84118         done automatically by the corresponding Autoconf macro.
84119
84120 2005-03-21  Jim Meyering  <jim@meyering.net>
84121
84122         Changes imported from coreutils.
84123
84124         * lib/cycle-check.c: Don't include xalloc.h.
84125
84126         * lib/path-concat.c: Don't include assert.h.
84127         (path_concat): Remove assertion that would have triggered
84128         for ABASE starting with more than one slash.
84129         Reported by Andreas Schwab.
84130
84131         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
84132         properly when ABASE is an absolute file name.
84133         Correct the description of this function.
84134         Include <assert.h>.
84135         Add an assertion and a test driver.
84136         This fixes a bug introduced on 2004-07-02.
84137         Andreas Schwab reported the resulting failure of cp --parents:
84138         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
84139
84140 2005-03-21  Jim Meyering  <jim@meyering.net>
84141
84142         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
84143         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
84144
84145 2005-03-21  Jim Meyering  <jim@meyering.net>
84146         and  Paul Eggert  <eggert@cs.ucla.edu>
84147
84148         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
84149         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
84150         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
84151         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
84152         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
84153         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
84154         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
84155         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
84156         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
84157         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
84158         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
84159         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
84160         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
84161         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
84162         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
84163         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
84164         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
84165         for these modules.
84166
84167 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
84168
84169         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
84170         (which shouldn't happen), generate nothing instead of returning 0
84171         immediately, so that nstrftime (NULL, ...) doesn't return 0.
84172
84173 2005-03-16  Bruno Haible  <bruno@clisp.org>
84174
84175         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
84176         HAVE_LONGLONG_64BIT.
84177
84178 2005-03-16  Bruno Haible  <bruno@clisp.org>
84179
84180         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
84181         HAVE_LONGLONG_64BIT.
84182
84183 2005-03-16  Bruno Haible  <bruno@clisp.org>
84184
84185         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
84186         HAVE_LONGLONG_64BIT.
84187
84188 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
84189
84190         * lib/strftime.c (my_strftime): Prepend space to format so that we can
84191         reliably distinguish strftime failure from empty output on POSIX
84192         hosts.
84193
84194 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
84195
84196         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
84197         (iconv_string): Don't guess a size-zero buffer, as that might cause
84198         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
84199         result would be 'too large', where 'too large' is (heuristically)
84200         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
84201         overflow concerns.  This will prevent some unwanted malloc failures
84202         when the inputs are very large.
84203
84204 2005-03-15  Karl Berry  <karl@gnu.org>
84205
84206         * config/srclist.txt (config.rpath): from gettext.
84207         * config/config.rpath: update.
84208
84209 2005-03-15  Bruno Haible  <bruno@clisp.org>
84210
84211         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
84212         to 'negate'.
84213
84214         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
84215         variable.
84216
84217         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
84218         results.
84219
84220 2005-03-14  Simon Josefsson  <jas@extundo.com>
84221
84222         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
84223         <fx@gnu.org>.
84224
84225 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
84226
84227         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
84228         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
84229         intprops.h.
84230         * lib/strtol.c: Likewise.
84231
84232 2005-03-14  Jim Meyering  <jim@meyering.net>
84233
84234         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
84235         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
84236         to be nonzero so that we (and caller) can detect the difference
84237         between a valid zero-length expansion and an error return, even
84238         when the underlying strftime fails before writing anything into
84239         that location.
84240
84241 2005-03-14  Bruno Haible  <bruno@clisp.org>
84242
84243         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
84244         Update from GNU gettext 0.14.3.
84245
84246 2005-03-10  Jim Meyering  <jim@meyering.net>
84247
84248         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
84249
84250 2005-03-10  Jim Meyering  <jim@meyering.net>
84251
84252         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
84253         so that this module works on systems without fchdir.
84254
84255 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
84256
84257         Factor int-properties macros into a single file, except for
84258         glibc-related files.
84259         * lib/intprops.h: New file.
84260         * lib/getloadavg.c: Include it instead of limits.h.
84261         (INT_STRLEN_BOUND): Remove.
84262         * lib/human.c: Include intprops.h.
84263         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
84264         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
84265         302/1000.
84266         * lib/inttostr.h: Include intprops.h instead of limits.h.
84267         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
84268         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
84269         for consistency with intprops.h.
84270         (time_t_is_integer, twos_complement_arithmetic): Use them.
84271         * lib/sig2str.h: Include <signal.h>, intprops.h.
84272         (INT_STRLEN_BOUND): Remove.
84273         * lib/strftime.c (TYPE_SIGNED): Remove.
84274         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
84275         * lib/strtol.c: Adjust comments to match intprops.h.
84276         * lib/userspec.c: Include intprops.h.
84277         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
84278         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
84279         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
84280         instead of rolling our own expressions.
84281         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
84282
84283         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
84284         instead of int.
84285         (my_strftime): Do not mishandle years close to INT_MAX, by doing
84286         the right thing even if adding 1900 would overflow.  Similarly
84287         for tm_mon + 1 and tm_yday + 1.
84288         Make %Y always equivalent to %C%y, and similarly for %G and %g.
84289         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
84290         (DO_SIGNED_NUMBER): New macro.
84291         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
84292
84293 2005-03-07  Bruno Haible  <bruno@clisp.org>
84294
84295         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
84296
84297 2005-03-07  Bruno Haible  <bruno@clisp.org>
84298
84299         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
84300
84301 2005-03-04  Derek R. Price  <derek@ximbiot.com>
84302
84303         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
84304         (func_import): Only replace files via --import when they have actually
84305         changed.
84306
84307 2005-03-03  Derek R. Price  <derek@ximbiot.com>
84308
84309         * m4/mmap-anon.m4: New file.
84310         * m4/pagealign_alloc.m4: New file.
84311
84312 2005-03-03  Derek R. Price  <derek@ximbiot.com>
84313             Bruno Haible  <bruno@clisp.org>
84314
84315         * modules/pagealign_alloc: New file.
84316         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
84317
84318 2005-03-03  Derek R. Price  <derek@ximbiot.com>
84319             Bruno Haible  <bruno@clisp.org>
84320
84321         * lib/pagealign_alloc.h: New file.
84322         * lib/pagealign_alloc.c: New file.
84323
84324 2005-03-03  Bruno Haible  <bruno@clisp.org>
84325
84326         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
84327         Use an all-permissive copyright notice, recommended by RMS.
84328
84329 2005-03-02  Bruno Haible  <bruno@clisp.org>
84330
84331         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
84332         of AIX, the replacement has to be done only after <string.h> is
84333         included, therefore not in config.h. stpncpy.h does the replacement,
84334         and stpncpy.c uses it.
84335
84336 2005-03-02  Bruno Haible  <bruno@clisp.org>
84337
84338         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
84339         stpncpy.c uses it.
84340
84341 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
84342
84343         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
84344         The workaround isn't strictly needed for POSIX conformance, and
84345         it's too much of a pain to configure and maintain.  We'll ask
84346         people to fix their kernels instead.
84347         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
84348         (NANOSLEEP_BUG_WORKAROUND): Remove.
84349         (xnanosleep): Remove the workaround.
84350
84351 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
84352
84353         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
84354         Reported by Derek Price.
84355         (Include): Add "timespec.h".
84356
84357         * modules/xnanosleep (Depends-on): Remove gethrxtime.
84358
84359 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
84360
84361         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
84362         to detect nanosleep bug.
84363
84364 2005-03-01  Bruno Haible  <bruno@clisp.org>
84365
84366         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
84367
84368 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
84369
84370         * modules/gethrxtime: New file.
84371         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
84372         (Depends-on): Add gethrxtime.
84373         (configure.ac): Add gl_XNANOSLEEP.
84374         (Makefile.am): Remove lib_SOURCES line.
84375
84376 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
84377
84378         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
84379         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
84380
84381 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
84382
84383         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
84384         * lib/timespec.h (gettime): Return void, since it always
84385         succeeds now.  All uses changed.
84386         * lib/gettime.c (gettime): Likewise.
84387         [HAVE_NANOTIME]: Prefer nanotime.
84388         Assume gettimeofday succeeds, as POSIX requires.
84389         Assime time () succeeds, since other code already does.
84390         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
84391         (timespec_subtract): Remove.
84392         (NANOSLEEP_BUG_WORKAROUND): New constant.
84393         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
84394         things considerably.  Use it only on GNU/Linux hosts, since the
84395         workaround shouldn't be needed elsewhere.
84396
84397 2005-02-24  Bruno Haible  <bruno@clisp.org>
84398
84399         * modules/gettext (Files): Add m4/glibc2.m4.
84400
84401 2005-02-24  Bruno Haible  <bruno@clisp.org>
84402
84403         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
84404         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
84405         * m4/progtest.m4:
84406         Update from GNU gettext 0.14.2.
84407         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
84408
84409 2005-02-24  Bruno Haible  <bruno@clisp.org>
84410
84411         * lib/localcharset.c: Update from GNU gettext 0.14.2.
84412         * lib/config.charset: Update from GNU gettext 0.14.2.
84413
84414 2005-02-24  Bruno Haible  <bruno@clisp.org>
84415
84416         * lib/gettext.h: Update from GNU gettext 0.14.2.
84417
84418 2005-02-23  Simon Josefsson  <jas@extundo.com>
84419
84420         * m4/iconvme.m4: New file.
84421
84422 2005-02-23  Jim Meyering  <jim@meyering.net>
84423
84424         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
84425         change.
84426         Thanks to Bruno Haible for catching it.
84427
84428 2005-02-22  Simon Josefsson  <jas@extundo.com>
84429
84430         * modules/iconvme: New file.
84431
84432         * MODULES.html.sh: Add iconvme.
84433
84434 2005-02-22  Simon Josefsson  <jas@extundo.com>
84435
84436         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
84437
84438 2005-02-22  Simon Josefsson  <jas@extundo.com>
84439
84440         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
84441
84442 2005-02-22  Jim Meyering  <jim@meyering.net>
84443
84444         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
84445         s/ifndef/ifdef/.
84446
84447 2005-02-20  Neil Conway  <neilc@samurai.com>
84448
84449         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
84450         returned by OSX/Darwin if the specified buffer is not large
84451         enough for the hostname.
84452
84453 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84454
84455         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
84456         pass it to _help, otherwise the latter coredumps trying to
84457         dereference state.root_argp.
84458
84459 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
84460
84461         * modules/chdir-long (Depends-on): Add memrchr.
84462         * modules/memrchr (Files): Add lib/memrchr.h.
84463         (Include): "memrchr.h".
84464
84465 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
84466
84467         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
84468
84469 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
84470
84471         * lib/memrchr.h: New file.
84472         * lib/chdir-long.c: Include it.
84473         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
84474         Don't bother including stddef.h.
84475
84476 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
84477
84478         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
84479         inclusion.
84480         Include <sys/types.h>, for dev_t.
84481         (ME_DUMMY, ME_REMOTE): Move from here....
84482         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
84483         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
84484         Dmitry V. Levin.
84485         Include mountlist.h first, to test the interface.
84486
84487 2005-01-29  Bruno Haible  <bruno@clisp.org>
84488
84489         * lib/progname.c (program_name): Initialize.
84490         Needed when linking statically on MacOS X.
84491
84492 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
84493
84494         Sync from coreutils.
84495         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
84496         (Depends-on): Add c-strtod.
84497         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
84498
84499 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
84500
84501         Sync from coreutils.
84502         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
84503
84504         Remove files that are specific to coreutils.
84505         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
84506
84507 2005-01-28  Bruno Haible  <bruno@clisp.org>
84508
84509         * modules/javacomp: New file.
84510         * MODULES.html.sh (Java): Add javacomp.
84511
84512 2005-01-28  Bruno Haible  <bruno@clisp.org>
84513
84514         * m4/javacomp.m4: New file, from GNU gettext.
84515
84516 2005-01-28  Bruno Haible  <bruno@clisp.org>
84517
84518         * lib/javacomp.sh.in: New file, from GNU gettext.
84519         * lib/javacomp.h: New file, from GNU gettext.
84520         * lib/javacomp.c: New file, from GNU gettext.
84521
84522 2005-01-26  Simon Josefsson  <jas@extundo.com>
84523
84524         * lib/gai_strerror.c: Use GPL in header.
84525
84526 2005-01-26  Bruno Haible  <bruno@clisp.org>
84527
84528         * modules/javaexec: New file.
84529         * MODULES.html.sh (Java): Add javaexec.
84530
84531 2005-01-26  Bruno Haible  <bruno@clisp.org>
84532
84533         * m4/javaexec.m4: New file, from GNU gettext.
84534
84535 2005-01-26  Bruno Haible  <bruno@clisp.org>
84536
84537         * lib/javaexec.sh.in: New file, from GNU gettext.
84538         * lib/javaexec.h: New file, from GNU gettext.
84539         * lib/javaexec.c: New file, from GNU gettext.
84540
84541 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84542
84543         * modules/lchown (Depends-on): Remove lchown.h
84544
84545 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84546
84547         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
84548         must be defined if the header file was not found, in order
84549         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
84550
84551 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84552
84553         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
84554         initializers for struct pentry_state.
84555         (__argp_error): Check return value of __asprintf
84556         (__argp_failure): Translate error message
84557
84558         * lib/argp-parse.c: Removed braces around the expansion of N_()
84559
84560 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
84561
84562         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
84563         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
84564         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
84565         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
84566         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
84567         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
84568         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
84569         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
84570         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
84571         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
84572         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
84573         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
84574         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
84575         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
84576         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
84577         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
84578         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
84579         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
84580         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
84581         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
84582         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
84583         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
84584         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
84585         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
84586         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
84587         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
84588         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
84589         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
84590         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
84591         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
84592         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
84593         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
84594         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
84595         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
84596         xstrtol.m4, xstrtoumax.m4, yesno.m4:
84597         Use an all-permissive copyright notice, recommended by RMS.
84598
84599 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
84600
84601         * modules/chdir-long (Depends-on): Remove mempcpy.
84602
84603 2005-01-21  Jim Meyering  <jim@meyering.net>
84604
84605         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
84606         same value as for Solaris 9.
84607
84608         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
84609         component length.  This included changing the parameter to be
84610         of type `char *' rather than `char const *'.
84611         * lib/chdir-long.h (chdir_long): Update prototype.
84612
84613         * lib/openat.c (fdopendir, fstatat): New functions.
84614         * lib/openat.h: Include headers required for use of DIR and struct
84615         stat.
84616         [AT_SYMLINK_NOFOLLOW]: Define.
84617         (fdopendir, fstatat): Add prototypes.
84618
84619 2005-01-21  Bruno Haible  <bruno@clisp.org>
84620
84621         * modules/classpath: New file.
84622         * MODULES.html.sh (Java): Add classpath.
84623
84624 2005-01-21  Bruno Haible  <bruno@clisp.org>
84625
84626         * lib/classpath.h: New file, from GNU gettext.
84627         * lib/classpath.c: New file, from GNU gettext.
84628
84629 2005-01-20  Simon Josefsson  <jas@extundo.com>
84630
84631         * modules/version-etc-fsf: New file.
84632
84633 2005-01-20  Simon Josefsson  <jas@extundo.com>
84634
84635         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
84636         * lib/version-etc.c: Remove version_etc_copyright.
84637         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
84638         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
84639
84640 2005-01-20  Simon Josefsson  <jas@extundo.com>
84641
84642         * lib/base64.h (isbase64): Add.
84643
84644         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
84645         using a unsigned prototype, don't inline.
84646         (base64_decode): Use it.
84647
84648 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84649
84650         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
84651         it.
84652
84653 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84654
84655         * lib/save-cwd.c (save_cwd): Remove code to support the case
84656         where fchdir is missing or flaky.
84657
84658 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84659
84660         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
84661
84662 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
84663
84664         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
84665         AC_LIBSOURCES now does this.
84666         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
84667         with new ullong_max module.
84668
84669 2005-01-19  Bruno Haible  <bruno@clisp.org>
84670
84671         * modules/sh-quote: New file.
84672         * MODULES.html.sh (Executing programs): Add sh-quote.
84673
84674 2005-01-19  Bruno Haible  <bruno@clisp.org>
84675
84676         * lib/sh-quote.h: New file, from GNU gettext.
84677         * lib/sh-quote.c: New file, from GNU gettext.
84678
84679 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84680
84681         Merge from coreutils.
84682         * m4/ullong_max.m4: New file.
84683         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
84684         (gl_MACROS): Assume localeconv exists.
84685
84686 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84687
84688         Merge changes from coreutils, as described below in several
84689         changelogs dated today.
84690
84691         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
84692         (O_DIRECTORY): Remove; not needed here, since "." must be
84693         a directory.  All uses removed.
84694         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
84695         universal on Suns, and we also need to test for IRIX.
84696         Revamp code to use 'if' rather than '#if'.
84697         Avoid unnecessary comparison of cwd->desc to 0.
84698
84699         * lib/utimens.c (futimens): Robustify the previous patch, by checking
84700         for known valid error numbers rather than observed invalid ones.
84701
84702 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84703
84704         * modules/ullong_max: New file.
84705
84706         * modules/chdir-long, modules/openat: New files.
84707         * modules/save-cwd (Depends-on): Depend on chdir-long.
84708         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
84709
84710 2005-01-18  Jim Meyering  <jim@meyering.net>
84711
84712         Merge from coreutils.
84713         * m4/chdir-long.m4, m4/openat.m4: New files.
84714         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
84715         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
84716         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
84717         is sane and DOES follow symlinks.  Besides, testing 20 different
84718         systems found no broken chown implementations.
84719         Prompted by a change in rsync's copy of this macro.
84720         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
84721
84722         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
84723
84724         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
84725         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
84726         NULL-means-set-to-current-time semantics.
84727         Remove temporary file immediately, rather than waiting
84728         for configure's at-exit trap code to do it.
84729
84730 2005-01-18  Jim Meyering  <jim@meyering.net>
84731
84732         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84733
84734         * lib/utimens.c (futimens): Account for the fact that futimes
84735         can also fail with errno == ENOSYS or errno == ENOENT.
84736         Patch from Dmitry V. Levin.
84737
84738         Change the name of the robust chdir function from chdir to chdir_long.
84739         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
84740         (restore_cwd): Use chdir_long, not chdir.
84741         * lib/chdir-long.c: Renamed from chdir.c.
84742         * lib/chdir-long.h: Renamed from chdir.h.
84743         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
84744         Hurd.
84745
84746 2005-01-18  Bruno Haible  <bruno@clisp.org>
84747
84748         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
84749         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
84750         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
84751         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
84752         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
84753         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
84754         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
84755         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
84756         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
84757         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
84758         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
84759         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
84760         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
84761         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
84762         Use an all-permissive copyright notice, recommended by RMS.
84763
84764 2005-01-18  Bob Proulx  <bob@proulx.com>
84765
84766         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
84767         simplify offsetof() macro construct to avoid compile failure with
84768         native HP-UX 11.0 ANSI C compiler.
84769
84770 2005-01-17  Bruno Haible  <bruno@clisp.org>
84771
84772         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
84773         redundant because stpncpy.m4 takes care of it.
84774
84775 2005-01-17  Bruno Haible  <bruno@clisp.org>
84776
84777         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
84778
84779 2005-01-17  Bruno Haible  <bruno@clisp.org>
84780
84781         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
84782         used.
84783
84784 2005-01-17  Bruno Haible  <bruno@clisp.org>
84785
84786         * lib/fwriteerror.h (fwriteerror): Change specification to include
84787         fclose.
84788         * lib/fwriteerror.c: Include <stdbool.h>.
84789         (fwriteerror): At the end, close the file stream. Record whether
84790         stdout was already closed.
84791
84792 2005-01-17  Bruno Haible  <bruno@clisp.org>
84793
84794         * lib/execute.c (environ): Declare if needed.
84795         * lib/pipe.c (environ): Likewise.
84796         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
84797
84798 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84799
84800         * modules/argp: Depend on vsnprintf
84801
84802 2005-01-10  Jim Meyering  <jim@meyering.net>
84803
84804         * modules/closeout (Depends-on): Add atexit.
84805
84806 2005-01-06  Bruno Haible  <bruno@clisp.org>
84807
84808         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
84809
84810 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
84811
84812         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
84813         definitions to be after all include files, to avoid collisions.
84814         Problem reported by Bob Proulx.
84815
84816 2005-01-04  Jim Meyering  <jim@meyering.net>
84817
84818         Changes imported from coreutils.
84819         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
84820         as the mkstemp template, use a temporary directory and an
84821         8.3-friendly template to avoid trouble on systems like DJGPP.
84822         Reported by Juan M. Guerrero via Stepan Kasal.
84823         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
84824         close. Remove the temporary directory right away, rather than waiting
84825         for configure's at-exit trap code to do it.
84826         Suggestion from Stepan Kasal.
84827
84828 2005-01-01  Simon Josefsson  <jas@extundo.com>
84829
84830         * gnulib-tool: Print #include directives when --import'ing.
84831
84832 2004-12-28  Simon Josefsson  <jas@extundo.com>
84833
84834         * tests/test-base64.c: Include required header files.  Remove
84835         unused variables.
84836
84837 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
84838
84839         * modules/error (Depends-on): Remove gettext.
84840
84841 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
84842
84843         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
84844         not needed.  This removes a dependency on the gettext module.
84845         [defined _LIBC]: Do not include <libintl.h>; not needed.
84846
84847 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
84848
84849         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
84850         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
84851
84852 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
84853
84854         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
84855         HAVE_DECL_STRTOLD.
84856
84857 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84858
84859         * modules/getdate (Depends-on): Remove alloca-opt.
84860
84861 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84862
84863         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
84864
84865 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84866
84867         * lib/argp-parse.c: Include <stddef.h>.
84868         (alignof, alignto): New macros.
84869         (parser_init): Don't assume that void * is aligned sufficiently
84870         for struct option.
84871
84872         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
84873         need to extend the stack.
84874         (YYINITDEPTH): New macro, so that the initial stack isn't overly
84875         large.
84876
84877 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84878
84879         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
84880
84881 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
84882
84883         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
84884         (2004-10-24) change.  Apparently this was a false alarm.
84885
84886         * modules/getdate: Depend on alloca-opt, not alloca.
84887
84888 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
84889
84890         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
84891         Remove now-obsolete comment about AIX.
84892         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
84893         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
84894         (YYMAXDEPTH): New macro.
84895
84896 2004-12-18  Simon Josefsson  <jas@extundo.com>
84897
84898         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
84899
84900 2004-12-18  Bruno Haible  <bruno@clisp.org>
84901
84902         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
84903
84904 2004-12-18  Bruno Haible  <bruno@clisp.org>
84905
84906         * lib/fatal-signal.c (fatal_signals): Make non-const.
84907         (init_fatal_signals): New function.
84908         (uninstall_handlers, install_handlers): Ignore signals that were set to
84909         SIG_IGN.
84910         (at_fatal_signal): Call init_fatal_signals.
84911         (init_fatal_signal_set): Likewise. Ignore signals that were set to
84912         SIG_IGN.
84913         Reported by Paul Eggert.
84914
84915 2004-12-18  Bruno Haible  <bruno@clisp.org>
84916
84917         * doc/alloca.texi: New file.
84918         * doc/alloca-opt.texi: New file.
84919
84920 2004-12-17  Jim Meyering  <jim@meyering.net>
84921
84922         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
84923         Otherwise, install-sh could exit with improper exit status when
84924         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
84925
84926 2004-12-16  Simon Josefsson  <jas@extundo.com>
84927
84928         * tests/test-base64.c: Add license.
84929
84930 2004-12-15  Stepan Kasal  <address@hidden>
84931
84932         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
84933
84934 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
84935
84936         * modules/getcwd (Files): Add m4/d-ino.m4.
84937         Suggested by Mark D. Baushke.
84938
84939 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
84940
84941         * lib/getdate.y (textint): New member "negative".
84942         (time_zone_hhmm): New function.
84943         Expect 14 shift-reduce conflicts, not 13.
84944         (o_colon_minutes): New rule.
84945         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
84946         (yylex): Set the "negative" member of signed numbers.
84947
84948 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
84949
84950         * doc/getdate.texi (Time of day items, Time zone items):
84951         Describe new formats +00:00, UTC+00:00.
84952
84953 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
84954
84955         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
84956         spurious "-l"s.  Problem reported by Stepan Kasal.
84957
84958 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
84959
84960         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
84961         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
84962
84963 2004-12-04  Simon Josefsson  <jas@extundo.com>
84964
84965         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
84966         Vandoorselaere <yoann@prelude-ids.org>.
84967
84968 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84969
84970         Changes imported from coreutils.
84971         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
84972         exist.
84973         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
84974
84975 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84976
84977         Changes imported from coreutils.
84978         * lib/hard-locale.c: Assume <locale.h> exists.
84979         Include "strdup.h".
84980         (GLIBC_VERSION): New macro.
84981         (hard_locale): Assume setlocale exists.
84982         Rewrite to avoid #ifdef.
84983         Use strdup rather than malloc + strcpy.
84984         * lib/human.c: Assume <locale.h> exists.
84985         (human_readable): Assume localeconv exists.
84986
84987 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84988
84989         * modules/hard-locale (Depends-on): Add strdup.
84990
84991 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
84992
84993         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
84994         convert T2, not T.  (Imported from libc.)
84995
84996 2004-11-30  Simon Josefsson  <jas@extundo.com>
84997
84998         * modules/restrict (License): Change to LGPL.
84999
85000 2004-11-30  Simon Josefsson  <jas@extundo.com>
85001
85002         * m4/restrict.m4: Add copyright and copying conditions.
85003
85004 2004-11-30  Simon Josefsson  <jas@extundo.com>
85005
85006         * m4/base64.m4: New file.
85007
85008 2004-11-30  Simon Josefsson  <jas@extundo.com>
85009
85010         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
85011         base64.
85012
85013         * tests/test-base64.c: New file.
85014
85015         * modules/base64: New file.
85016
85017 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
85018
85019         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
85020         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
85021
85022         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
85023
85024 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
85025
85026         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
85027         (__getcwd.c): Don't restore errno; glibc doesn't.
85028         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
85029         first, falling back to our code only if its results look suspicious.
85030         Ensure that the resulting buffer is only as large as necessary.
85031
85032         * lib/readutmp.c: Include readutmp.h first.
85033         Include <errno.h>, since readutmp.h no longer does that.
85034         * lib/readutmp.h: Don't include <errno.h>,
85035         <sys/param.h>, <time.h>; not needed to establish interface.
85036         (errno): Remove decl.
85037         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
85038         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
85039         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
85040
85041 2004-11-28  Simon Josefsson  <jas@extundo.com>
85042
85043         * lib/base64.h, base64.c: New file.
85044
85045 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
85046
85047         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
85048
85049 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
85050
85051         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
85052         (Depends-on): Remove pathmax, same.  Add mempcpy.
85053         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
85054         (Makefile.am): Append getcwd.h to lib_SOURCES.
85055         (Include): Add getcwd.h.
85056         (Maintainer): Change from Jim Meyering to "all, glibc",
85057         since getdate now uses intended-for-glibc code.
85058         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
85059         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
85060
85061 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
85062
85063         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
85064         HP's ANSI C compiler.
85065         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
85066         Declaring int functions causes warnings on some modern systems and
85067         shouldn't be needed to compile on ancient ones.
85068         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
85069         defined.
85070
85071         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
85072         with the following changes.
85073         (__set_errno): Parenthesize properly.
85074         Include <stdbool.h>.
85075         (MIN, MAX, MATCHING_INO): New macros.
85076         (__getcwd): Define with prototype, not K&R form.
85077         Use heuristics to allocate default buffer on stack if possible.
85078         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
85079         behavior, and to avoid the PATH_MAX limit when computing
85080         ../../../../...
85081         Use MATCHING_INO to compare inode number to file.
85082         Check for arithmetic overflow in size calculations.
85083         Fix bug in reallocation of dot array that caused getcwd to fail
85084         on directories nested deeper than 75.
85085         Be more careful about saving errno on error.
85086         Do not use realloc; use only free+malloc, as this is a bit
85087         more flexible and avoids a needless copy operation.
85088         Do not inspect st_dev and st_ino for symbolic links; POSIX
85089         doesn't specify the latter.
85090         Check for closedir errors.
85091         Avoid needless casts.
85092         Use "#ifdef weak_alias" around weak_alias, to be like other
85093         glibc code.
85094         The following changes to getcwd.c have effect only when used in
85095         gnulib; they have no effect inside glibc proper.
85096         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
85097         as alloca isn't used.
85098         (alloca, __alloca): Likewise.
85099         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
85100         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
85101         unconditionally, as gnulib assumes C89 or better.
85102         Do not include <sys/param.h>.
85103         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
85104         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
85105         better.
85106         (NULL) [!defined NULL]: Remove; we assume C89 or better.
85107         Include <dirent.h> in a way that is compatible with modern Autoconf.
85108         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
85109         New macros, if not already defined.
85110         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
85111         Use "_LIBC", not "defined _LIBC", for consistency.
85112         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
85113         a mempcpy module.
85114         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
85115         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
85116         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
85117         credit only to Jim Meyering and adjust the copyright dates.
85118         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
85119         <stdlib.h>, <unistd.h>, "pathmax.h".
85120         Instead, include "xgetcwd.h" (first) and "getcwd.h".
85121         (INITIAL_BUFFER_SIZE): Remove.
85122         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
85123
85124 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
85125
85126         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
85127         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
85128         Use the _ONCE methods, for efficiency.
85129         Check for fcntl.h.  In test program, include <errno.h>
85130         and <fcntl.h> if available.  Remove old K&R cruft from
85131         test program.  Check for common errors in GNU/Linux,
85132         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
85133         don't do AC_LIBOBJ, as that's getcwd.m4's job.
85134         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
85135         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
85136         name accordingly.
85137         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
85138         accommodate new getcwd.c.
85139         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
85140         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
85141         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
85142         that's all we need now.
85143
85144 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85145
85146         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
85147         argp-parse.c depends on getopt internals, that means we should
85148         always use our getopt, to be on the safe side.
85149         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
85150         order not to spoil the result of an eventual previous invocation
85151         of gl_GETOPT_SUBSTITUTE.
85152
85153 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85154
85155         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
85156         redefinition warnings. To avoid them, include the defines
85157         in `#if !defined __need_getopt ... #endif'. The only place
85158         where __getopt_argv_const is used is in definitions
85159         of getopt_long and getopt_long_only below, which are as well
85160         protected by `#ifndef __need_getopt'.
85161         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
85162         __need_getopt after including <stdio.h> and <unistd.h> These
85163         headers might have defined it.
85164
85165 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
85166
85167         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
85168
85169 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
85170
85171         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
85172         (futimens): New function, which uses futimes if available.
85173         (futimens, utimens): Support timespec==NULL, with same semantics
85174         as utime and utimens.
85175         * lib/utimens.h (futimens): New decl.
85176
85177 2004-11-23  Jim Meyering  <jim@meyering.net>
85178
85179         * lib/getopt_.h: Remove trailing blanks.
85180
85181 2004-11-23  Jim Meyering  <jim@meyering.net>
85182
85183         * lib/__fpending.c: Add comment.
85184
85185 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
85186
85187         * modules/canonicalize (Depends-on): Add xreadlink.
85188         Problem reported by James Youngman.
85189
85190 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
85191
85192         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
85193         New macros.
85194         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
85195         optopt): Use them instead of invoking ## directly; otherwise, the
85196         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
85197
85198 2004-11-19  Bruno Haible  <bruno@clisp.org>
85199
85200         * lib/strtok_r.c: Move comments from here...
85201         * lib/strtok_r.h: ... to here.
85202
85203 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
85204
85205         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
85206         implementations that mishandle size_t overflow.
85207
85208 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
85209
85210         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
85211         might fail.  Problem reported by Yoann Vandoorselaere.
85212         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
85213         implementations that mishandle size_t overflow.
85214
85215 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85216
85217         * modules/canon-host (Depends-on): Add strdup.
85218
85219 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85220
85221         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
85222
85223 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85224
85225         * lib/canon-host.c: Include "strdup.h".
85226         (canon_host): Use getaddrinfo if available, so that IPv6 works.
85227         Use strdup instead of malloc/strcpy to duplicate strings.
85228
85229         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
85230         (human_space_before_unit): New constant.
85231         * lib/human.c (human_readable): Support it.
85232
85233         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
85234         (xgetcwd): Set errno correctly when failing.
85235         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
85236         the failure is actually due to a PATH_MAX problem.
85237
85238         Further getopt changes to make it more likely that glibc will
85239         buy the changes back.
85240         * lib/getopt.c (POSIXLY_CORRECT): New constant.
85241         (getopt): Use it, so to preserve glibc semantic
85242         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
85243         when compiling for libc.
85244         * lib/getopt_.h (__getopt_argv_const): Bring it back.
85245         (getopt_long, getopt_long_only): Use it.
85246
85247         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
85248         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
85249         (getopt): Argv is now char * const *, as per standard.
85250         (_getopt_internal_r, _getopt_internal): Argv is now char **,
85251         not char *__getopt_argv_const *.
85252         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
85253         _getopt_long_only_r): Likewise.
85254         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
85255         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
85256         _getopt_long_r, _getopt_long_only_r): Likewise.
85257         * lib/getopt_.h (__getopt_argv_const): Remove.
85258         (getopt): Argv is now char * const *, as per standard.
85259
85260         * lib/getdate.y (tORDINAL): New token.
85261         (day, relunit): Allow it for relative times.
85262         (relative_time_table): Use tORDINAL for ordinals.
85263
85264 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85265
85266         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
85267         Document that "second" isn't allowed as an ordinal number.
85268
85269 2004-11-16  Jim Meyering  <jim@meyering.net>
85270
85271         * modules/closeout (Depends-on): Add fpending.
85272
85273 2004-11-15  Jim Meyering  <jim@meyering.net>
85274
85275         * lib/closeout.c: Include "__fpending.h" once again.
85276         Include <stdbool.h>.
85277         (close_stdout): Don't fail just because stdout was closed initially,
85278         since some programs don't write to stdout in the normal course of
85279         operation (other than --version and --help), and we don't want this
85280         function to make e.g. `touch file >&-' fail.
85281         But do fail if it was closed and someone has tried to write to it.
85282         E.g., `printf foo >&-' must fail.
85283
85284 2004-11-13  Jim Meyering  <jim@meyering.net>
85285
85286         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
85287
85288 2004-11-12  Simon Josefsson  <jas@extundo.com>
85289
85290         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
85291         small doc fix is still pending.
85292
85293 2004-11-11  Simon Josefsson  <jas@extundo.com>
85294
85295         * modules/strtok_r: New file.
85296
85297         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85298         strtok_r.
85299
85300 2004-11-11  Simon Josefsson  <jas@extundo.com>
85301
85302         * m4/strtok_r.m4: New file.
85303
85304         * m4/getopt.m4: Replace opterr.
85305
85306 2004-11-11  Simon Josefsson  <jas@extundo.com>
85307
85308         * lib/strtok_r.h, strtok_r.c: New file.
85309
85310 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
85311
85312         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
85313         of replacing opterr, getopt, etc.  This should handle the
85314         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
85315
85316 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
85317
85318         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
85319         we can stop lying to compilers about the constness of argv when we
85320         are compiled outside glibc.
85321         (getopt, getopt_long, getopt_long_only): Use it.
85322         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
85323         _getopt_internal, getopt): Likewise.
85324         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
85325         _getopt_long_only_r): Likewise.
85326         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
85327         _getopt_long_r, _getopt_long_only_r): Likewise.
85328
85329         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
85330         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
85331         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
85332         the other external symbols.
85333         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
85334         declaration, since the above renaming now works around collisions.
85335
85336 2004-11-11  Jim Meyering  <jim@meyering.net>
85337
85338         * lib/linebreak.c: Remove trailing blanks.
85339         * lib/alloca_.h: Likewise.
85340         * lib/acosl.c: Likewise.
85341         * lib/euidaccess.c: Likewise.
85342         * lib/allocsa.h: Likewise.
85343
85344 2004-11-10  Simon Josefsson  <jas@extundo.com>
85345
85346         * m4/getaddrinfo.m4: New file.
85347
85348 2004-11-10  Simon Josefsson  <jas@extundo.com>
85349
85350         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
85351
85352 2004-11-10  Simon Josefsson  <jas@extundo.com>
85353
85354         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85355         getaddrinfo.
85356
85357         * modules/getaddrinfo: New file.
85358
85359 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
85360
85361         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
85362
85363 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
85364
85365         * lib/mktime.c (SHR): New macro, which is a portable
85366         substitute for >> that should work even on Crays.
85367         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
85368         Problem reported by Mark D. Baushke in
85369         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
85370         * lib/getdate.y (SHR): Likewise.
85371         (tm_diff): Use it.
85372         * lib/strftime.c (SHR): Likewise.
85373         (tm_diff): Use it.
85374         * lib/quotearg.c (struct quoting_options): Use unsigned int for
85375         quote_these_too, so that right shifts are well defined.  All uses
85376         changed.
85377
85378 2004-11-10  Jim Meyering  <jim@meyering.net>
85379
85380         Ensure that no close failure goes unreported.
85381         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
85382         return early when it seems there's nothing to flush.
85383         Don't include __fpending.h.
85384
85385 2004-11-10  Jim Meyering  <jim@meyering.net>
85386
85387         * modules/closeout (Depends-on): Remove fpending.
85388
85389 2004-11-10  Jim Meyering  <jim@meyering.net>
85390
85391         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
85392
85393 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
85394
85395         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
85396         gl_FUNC_STRFTIME.
85397         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
85398         and AC_REQUIRE when possible, to avoid duplicate checks.
85399         Check for <wchar.h>.
85400
85401 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
85402
85403         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
85404
85405 2004-11-09  Bruno Haible  <bruno@clisp.org>
85406
85407         * m4/sockpfaf.m4: New file.
85408
85409 2004-11-05  Bruno Haible  <bruno@clisp.org>
85410
85411         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
85412         Reported by Mark D. Baushke <mdb@cvshome.org>.
85413
85414 2004-11-04  Bruno Haible  <bruno@clisp.org>
85415
85416         2004-09-11  Bruno Haible  <bruno@clisp.org>
85417                 * allocsa.valgrind: New file.
85418         2004-02-06  Bruno Haible  <bruno@clisp.org>
85419                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
85420                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
85421                 Reported by Christopher Seip <chris.seip@hp.com>.
85422
85423 2004-11-04  Bruno Haible  <bruno@clisp.org>
85424
85425         * modules/allocsa (Files): Add lib/allocsa.valgrind.
85426         (Makefile.am): Distribute it.
85427
85428 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
85429
85430         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
85431         with errno == ERANGE if the buffer is too small.
85432         Problem reported by Mark D. Baushke.
85433
85434 2004-11-03  Albert Chin  <china@thewrittenword.com>
85435             Paul Eggert  <eggert@cs.ucla.edu>
85436
85437         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
85438         equivalent, substitute $ac_type for equivalent type rather than
85439         blindly using uint32_t *always* which won't work if uint32_t is not
85440         available.  Define _UINT32_T to work around typedef of uint32_t if
85441         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
85442         2.5.1.
85443
85444 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
85445
85446         * m4/jm-macros.m4: Sync from coreutils.
85447         (gl_MACROS): Check for mbrlen, for pathchk.
85448         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
85449
85450 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
85451
85452         * lib/xreadlink.c (MAXSIZE): New macro.
85453         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
85454         size does not exceed MAXSIZE.  Avoid cast.
85455         As suggested by Mark D. Baushke in
85456         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
85457         if readlink fails with buffer size just under MAXSIZE, try again
85458         with MAXSIZE.
85459
85460 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
85461
85462         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
85463
85464 2004-11-02  Derek R. Price  <derek@ximbiot.com>
85465         and  Paul Eggert  <eggert@cs.ucla.edu>
85466
85467         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
85468         (get_date): Overparenthesize to avoid GCC warning.
85469
85470 2004-11-02  Bruno Haible  <bruno@clisp.org>
85471
85472         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
85473         returns void.
85474
85475 2004-11-02  Bruno Haible  <bruno@clisp.org>
85476
85477         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
85478         function returns void.
85479
85480 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
85481
85482         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
85483         fflush_unlocked, flockfile, funlockfile, funlockfile,
85484         fputs_unlocked, putc_unlocked.
85485
85486 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
85487
85488         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
85489         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
85490         already declared.
85491
85492 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
85493
85494         * modules/getdate (Files): Add doc/getdate.texi.
85495         (Depends-on): Add setenv, xalloc.
85496
85497 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
85498
85499         * lib/getdate.y: Add support for TZ="foo" within a date string.
85500         Fix some bugs near time_t boundaries.  Reject dates with
85501         out-of-range components, e.g., "Sept 31".
85502         Include <stdlib.h>, "setenv.h", "xalloc.h".
85503         (ISDIGIT_LOCALE): Remove; unused.
85504         Note that the TZ and time functions used here are not reentrant.
85505         (mktime_ok, get_tz): New functions.
85506         (TZBUFSIZE): New constant.
85507         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
85508         This requires that we sometimes generate our own TZ="XXX..." setting.
85509
85510 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
85511
85512         * doc/getdate.texi: New file, from coreutils with modifications for
85513         the new TZ parsing.
85514
85515 2004-10-27  Derek R. Price  <derek@ximbiot.com>
85516
85517         * lib/mktime.c (not_equal_tm): Remove redundant check.
85518
85519 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
85520
85521         * modules/regex (lib_SOURCES): Add regex.c.
85522         Reported by James Youngman in
85523         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
85524
85525 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
85526
85527         * lib/getdate.y: Use Bison 1.875 features, and some minor
85528         code cleanups.  This change does not affect semantics.
85529         Don't include <stdlib.h>; no longer needed.
85530         Don't include unlocked-io.h; only the "#if TEST" code uses
85531         stdio, and performance isn't crucial there.
85532         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
85533         Bison 1.875 features as described below.
85534         All uses of "PC." replaced by "pc->".
85535         (YYSTYPE): Add a forward declaration.
85536         (yylex, yyerror): Use full prototypes in forward decls.
85537         Use "%pure-parser" rather than obsolescent "%pure_parser".
85538         Use %parse-param and %lex-param instead of obsolescent
85539         YYPARSE_PARAM and YYLEX_PARAM.
85540         (meridian_table, month_and_day_table, time_units_table,
85541         relative_time_table, time_zone_table, military_table,
85542         lookup_zone, lookup_word, get_date):
85543         Use NULL instead of 0 where appropriate.
85544         (to_hour): Avoid abort (), to avoid a dependency on
85545         stdlib.h.
85546         (yyerror, yylex): Now accepts parser_control * arg.
85547         (main) [TEST]: Use '\0' rather than 0 for char.
85548
85549 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
85550
85551         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
85552
85553 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
85554
85555         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
85556         It's now the caller's responsibility to handle the case where
85557         !HAVE_GETPAGESIZE && !defined getpagesize.
85558
85559         * lib/mktime.c (leapyear): Arg is long int, not int.
85560
85561 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
85562
85563         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
85564
85565 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
85566
85567         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
85568         missing.  Problem reported by James Youngman.
85569
85570 2004-10-16  Simon Josefsson  <jas@extundo.com>
85571
85572         * gnulib-tool: Fix comments.  Fix parse problem.
85573         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
85574
85575 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
85576
85577         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
85578         implementation of getopt_long.  Problem reported by Alexander Taler in:
85579         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
85580
85581 2004-10-15  Bruno Haible  <bruno@clisp.org>
85582
85583         * gnulib-tool: Untabify. Initialize supplied_libname.
85584         (func_usage): More homogenous output.
85585         (func_modules_transitive_closure, func_modules_to_filelist,
85586         func_emit_lib_Makefile_am): New functions.
85587         (func_import): New function, extracted from big case statement. Use
85588         func_get_license, func_modules_transitive_closure,
85589         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
85590         opt_lgpl. Don't use test -a, as it's not portable.
85591         (func_create_testdir): Use func_modules_transitive_closure,
85592         func_modules_to_filelist, func_emit_lib_Makefile_am.
85593
85594 2004-10-15  Bruno Haible  <bruno@clisp.org>
85595
85596         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
85597
85598 2004-10-15  Bruno Haible  <bruno@clisp.org>
85599
85600         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
85601         the portions belonging to each module.
85602         Suggested by Derek Robert Price <derek@ximbiot.com>.
85603
85604 2004-10-12  Simon Josefsson  <jas@extundo.com>
85605
85606         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
85607         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
85608         to real functions.
85609
85610 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85611
85612         * modules/vsnprintf: New file.
85613
85614 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85615
85616         * m4/vsnprintf.m4: New file.
85617
85618 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85619
85620         * lib/vsnprintf.h: New file.
85621         * lib/vsnprintf.c: New file.
85622
85623 2004-10-11  Bruno Haible  <bruno@clisp.org>
85624
85625         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
85626         vsnprintf.
85627
85628 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
85629
85630         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
85631
85632 2004-10-07  Bruno Haible  <bruno@clisp.org>
85633
85634         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
85635         fits into the provided buffer.
85636
85637 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
85638
85639         * lib/diacrit.c, diacrit.h: Add GPL notice.
85640
85641         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
85642         notice.
85643         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
85644         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
85645         This avoids a potential constant-folding bug.
85646
85647 2004-10-05  Bruno Haible  <bruno@clisp.org>
85648
85649         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
85650         for the declaration of strsep.
85651
85652 2004-10-05  Bruno Haible  <bruno@clisp.org>
85653
85654         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
85655
85656 2004-10-04  Simon Josefsson  <jas@extundo.com>
85657
85658         * modules/memmem: New file.
85659         * tests/test-memmem.c: New file.
85660         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
85661
85662 2004-10-04  Simon Josefsson  <jas@extundo.com>
85663
85664         * m4/memmem.m4: New file.
85665
85666 2004-10-04  Simon Josefsson  <jas@extundo.com>
85667
85668         * lib/memmem.h: New file.
85669         * lib/memmem.c: New file, taken from glibc.
85670
85671 2004-10-04  Simon Josefsson  <jas@extundo.com>
85672
85673         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
85674         '#ifdef USE_UNLOCKED_IO'.
85675
85676 2004-10-04  Simon Josefsson  <jas@extundo.com>
85677
85678         * config/srclist.txt: Add memmem from glibc.
85679
85680 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85681
85682         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
85683
85684         * modules/argmatch, modules/argp, modules/closeout, modules/error,
85685         modules/exclude, modules/getdate, modules/getline,
85686         modules/getndelim2, modules/getpass, modules/getpass-gnu,
85687         modules/getusershell, modules/linebuffer, modules/md5,
85688         modules/mountlist, modules/posixtm, modules/readtokens,
85689         modules/readutmp, modules/regex, modules/sha1,
85690         modules/version-etc, modules/yesno:
85691         Remove dependency on unlocked-io.
85692
85693 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85694
85695         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
85696
85697         * m4/unlocked-io.m4: Add copyright notice.
85698         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
85699
85700 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85701
85702         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
85703         * lib/xmalloc.c (xmemdup): Likewise.
85704         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
85705         XFREE): Remove these long-obsolescent macros.
85706         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
85707         * lib/xstrdup.c: Remove.
85708
85709         * lib/regex.c (re_comp): Cast gettext return value to char *,
85710         Problem reported by Martin Neitzel via Mark D. Baushke.
85711
85712 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85713
85714         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
85715         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
85716         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
85717         regex.c, sha1.c, version-etc.c, yesno.c:
85718         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
85719         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
85720         the includer's responsibility.
85721
85722         Sync from coreutils.
85723
85724         * lib/modechange.c (mode_compile): Don't decrement a pointer that
85725         points to the start of a string, as the C Standard says the
85726         resulting behavior is undefined.
85727
85728         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
85729         simple -> simple_backups, numbered_existing ->
85730         numbered_existing_backups, numbered -> numbered_backups
85731         to avoid shadowing problems.  All uses changed.
85732         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
85733         * lib/backupfile.c (check_extension, numbered_backup):
85734         Rename locals to avoid shadowing 'basename'.
85735         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
85736         once.
85737
85738         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
85739         * lib/.cvsignore: Add getopt.h.
85740
85741 2004-10-04  Bruno Haible  <bruno@clisp.org>
85742
85743         * modules/README: New file.
85744         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
85745         not a module.
85746
85747 2004-10-02  Jim Meyering  <jim@meyering.net>
85748
85749         * lib/dirfd.h, getpagesize.h: Add copyright notice.
85750
85751 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85752
85753         * modules/strsep: New file.
85754
85755 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85756
85757         * m4/strsep.m4: New file.
85758
85759 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85760
85761         * lib/strsep.h: New file.
85762         * lib/strsep.c: New file.
85763
85764 2004-10-01  Simon Josefsson  <jas@extundo.com>
85765
85766         * lib/snprintf.c (snprintf): Handle size==0.
85767
85768 2004-10-01  Simon Josefsson  <jas@extundo.com>
85769             Bruno Haible  <bruno@clisp.org>
85770
85771         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
85772         (snprintf): Declare 'args'.
85773
85774 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
85775
85776         * lib/snprintf.c: Remove comments as to why each header is needed.
85777
85778 2004-10-01  Bruno Haible  <bruno@clisp.org>
85779
85780         * MODULES.html.sh: Add strsep.
85781
85782 2004-09-30  Simon Josefsson  <jas@extundo.com>
85783
85784         * modules/snprintf: New file.
85785
85786 2004-09-30  Simon Josefsson  <jas@extundo.com>
85787
85788         * m4/snprintf.m4: New file.
85789
85790 2004-09-30  Simon Josefsson  <jas@extundo.com>
85791
85792         * lib/snprintf.h, lib/snprintf.c: New files.
85793
85794 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85795
85796         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
85797         (hol_entry_help): Never translate an empty string.
85798         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
85799         * lib/argp.h (OPTION_NO_TRANS): New option.
85800
85801 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85802
85803         * modules/argp (Maintainer): Replace Simon Josefsson
85804         by Sergey Poznyakoff.
85805
85806 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85807
85808         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
85809         changes merged back into glibc.
85810
85811 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85812
85813         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
85814
85815 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85816
85817         * lib/xvasprintf.c: Include xalloc.h.
85818         (xvasprintf): Use xalloc_die, not xmalloc_die.
85819
85820 2004-09-29  Bruno Haible  <bruno@clisp.org>
85821
85822         * modules/alloca-opt: New file, derived from modules/alloca.
85823         * modules/allocsa: Depend on alloca-opt instead of alloca.
85824         * modules/setenv: Likewise.
85825         * modules/vasnprintf: Likewise.
85826         * MODULES.html.sh: Add alloca-opt.
85827
85828 2004-09-28  Simon Josefsson  <jas@extundo.com>
85829
85830         * gnulib-tool: New parameter --lgpl, to asseert that modules are
85831         LGPL, and to replace license template from GPL to LGPL.
85832
85833 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
85834
85835         * modules/dummy: Change license to LGPL.
85836
85837 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
85838
85839         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
85840
85841 2004-09-24  Simon Josefsson  <jas@extundo.com>
85842
85843         * modules/minmax (License): Change from GPL to LGPL.
85844
85845 2004-09-23  Simon Josefsson  <jas@extundo.com>
85846
85847         * gnulib-tool (--import): Typo.
85848
85849 2004-09-23  Simon Josefsson  <jas@extundo.com>
85850
85851         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
85852
85853 2004-09-22  Bruno Haible  <bruno@clisp.org>
85854
85855         * modules/*: Add 'License' field.
85856         * gnulib-tool: Accept --extract-license option.
85857         (func_get_license): New function.
85858
85859 2004-09-21  Bruno Haible  <bruno@clisp.org>
85860
85861         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
85862         Reported by Simon Josefsson.
85863
85864 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85865
85866         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
85867         gl_AC_TYPE_LONG_LONG.
85868
85869 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85870
85871         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
85872
85873 2004-09-18  Simon Josefsson  <jas@extundo.com>
85874         and  Paul Eggert  <eggert@cs.ucla.edu>
85875
85876         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
85877         calls with autoreconf.  Define GL_LIB.
85878
85879 2004-09-14  Karl Berry  <karl@gnu.org>
85880
85881         * config/srclist.txt: unsync setenv.c, sigh.
85882
85883 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
85884
85885         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
85886         Problem reported by Bruno Haible in:
85887         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
85888
85889 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
85890
85891         * config/srclist.txt: Comment out argp-pvh.c.
85892
85893 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
85894
85895         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
85896         in case some system header has #define'd it.  Problem reported by
85897         Soeren D. Schulze in
85898         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
85899
85900 2004-09-09  Karl Berry  <karl@gnu.org>
85901
85902         * regex.[ch]: delete from the root.  These were supposed to be
85903                 synced with emacs cvs, but this has not happened for about
85904                 a year, and anyway nothing else uses emacs regex.[ch].
85905                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
85906                 lib/regex[.ch] is untouched.
85907
85908 2004-09-09  Bruno Haible  <bruno@clisp.org>
85909
85910         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
85911
85912 2004-09-09  Bruno Haible  <bruno@clisp.org>
85913
85914         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
85915         modifications.
85916         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
85917
85918 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
85919
85920         * modules/xvasprintf: New file.
85921         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
85922
85923 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
85924
85925         * lib/xvasprintf.h: New file.
85926         * lib/xvasprintf.c: New file.
85927         * lib/xasprintf.c: New file.
85928
85929 2004-09-08  Bruno Haible  <bruno@clisp.org>
85930
85931         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
85932
85933 2004-09-08  Bruno Haible  <bruno@clisp.org>
85934
85935         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
85936         length is > INT_MAX.
85937         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
85938         more.
85939
85940 2004-09-08  Bruno Haible  <bruno@clisp.org>
85941
85942         * lib/stdint_.h: New file, taken from GNU clisp.
85943
85944 2004-09-08  Bruno Haible  <bruno@clisp.org>
85945             Oskar Liljeblad  <oskar@osk.mine.nu>
85946
85947         * modules/stdint: New file.
85948         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
85949
85950 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85951
85952         Import from coreutils.
85953         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
85954         strings on unbounded length.  alloca's performance benefits aren't
85955         that important here.
85956         (V_STRDUP): Remove.
85957         (parse_with_separator): New function, with most of the internals
85958         of the old parse_user_spec.  Allow user to omit both user and group,
85959         for compatibility with FreeBSD.
85960         Clone only the user name, not the entire spec.
85961         Do not set *uid, *gid unless entirely successful.
85962         Avoid memory leak in some failing cases.
85963         Fix regression for USER.GROUP reported by Dmitry V. Levin in
85964         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
85965         (parse_user_spec): Rewrite to use parse_with_separator.
85966
85967 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85968
85969         * modules/userspec: Don't depend on alloca.
85970
85971 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85972
85973         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
85974
85975 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85976
85977         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
85978         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
85979         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
85980
85981 2004-08-16  Simon Josefsson  <jas@extundo.com>
85982
85983         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
85984         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
85985         Add --dry-run for --import.
85986         Let user provided command line parameters override configure.ac
85987         settings.
85988
85989 2004-08-12  Simon Josefsson  <jas@extundo.com>
85990
85991         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
85992         as discussed with Paul Eggert in threads rooted at
85993         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
85994         and
85995         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
85996         Before, the test was empty, and relied on ELIDE_CODE in source
85997         code.)
85998         (gl_PREREQ_GETOPT): New macro.
85999         (gl_GETOPT): Use them.
86000
86001 2004-08-12  Simon Josefsson  <jas@extundo.com>
86002
86003         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
86004         * lib/getopt_.h: Renamed from getopt.h.
86005
86006 2004-08-12  Simon Josefsson  <jas@extundo.com>
86007
86008         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
86009         Change default library name from libfoo to libgnu.
86010         Now, if you have a configure.ac that says:
86011                 gl_SOURCE_BASE(gl)
86012                 gl_M4_BASE(gl/m4)
86013                 gl_MODULES(error getopt etcetera)
86014                 gl_INIT
86015         you can import all you need by running:
86016                 ../gnulib/gnulib-tool --import
86017
86018         * modules/getopt (Files): Rename getopt.h to getopt_.h.
86019         (Makefile.am): Rewrite, use logic from argz.
86020         (Include): Use <getopt.h> instead of "getopt.h".
86021
86022 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86023
86024         * modules/argp (Files): Add m4/unlocked-io.m4.
86025         (Depends-on): Add extensions.
86026
86027 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86028
86029         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
86030         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
86031         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
86032         Check for program_invocation_name, program_invocation_short_name,
86033         flockfile, funlockfile, features.h, _getopt_long_only_r.
86034
86035 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86036
86037         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
86038         its complicated substitute.
86039         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
86040         and program_invocation_name.
86041         (__argp_basename) [!_LIBC]: Remove; the only use was
86042         replaced by its body.
86043         (__argp_short_program_name): Change condition from
86044         !defined __argp_short_program_name to
86045         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
86046         to match argp-namefrob.h.
86047         (__argp_failure): Don't assume strerror_r returns char *.
86048         * lib/argp-parse.c (N_): Define unconditionally.
86049         (argp_default_options): Fill out initializers with 0 to avoid
86050         gcc warnings.
86051
86052 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86053
86054         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
86055         getopt1.c.
86056
86057 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86058
86059         Merge from coreutils.
86060
86061         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
86062
86063         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
86064         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
86065
86066 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86067
86068         Merge from coreutils.
86069
86070         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
86071         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
86072         for Reliant Unix 5.43.
86073
86074         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
86075         (union fooround): Use uintmax_t, not long int.
86076         The rest is a merge from libc:
86077         [defined _LIBC]: Include <shlib-compat.h>.
86078         (_obstack) [defined _LIBC]: Remove after 2.3.4.
86079
86080         * lib/settime.c (settime): Recode to avoid warning with
86081         Sun Forte C 6U2.
86082
86083         * lib/strverscmp.c: Convert to UTF-8.
86084
86085 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86086
86087         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
86088         m4/uintmax_t.m4.
86089
86090 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86091
86092         * modules/xalloc-die: New file.
86093         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
86094
86095         * modules/md5 (Files): Add m4/uint32_t.m4.
86096         * modules/sha1: Renamed from modules/sha.
86097         (Files):
86098         Rename lib/sha.h to lib/sha1.h.
86099         Rename lib/sha.c to lib/sha1.c.
86100         Rename m4/sha.m4 to m4/sha1.m4.
86101         (lib_SOURCES): Likewise.
86102         (configure.ac): Rename gl_SHA to gl_SHA1.
86103         (Include): sha.h -> sha1.h.
86104
86105 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86106
86107         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
86108         * m4/sha1.m4: Renamed from sha.m4.
86109         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
86110
86111 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86112
86113         * lib/obstack.h (obstack_empty_p):
86114         Don't assume that chunk->contents is suitably aligned.
86115         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
86116         Likewise. Problem reported by Benno in
86117         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
86118
86119         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
86120         readable.  This could be improved further but it'd take some work.
86121
86122 2004-08-08  Simon Josefsson  <jas@extundo.com>
86123
86124         * modules/xgethostname (Depends-on): Remove exit and error (not
86125         used).
86126
86127         * modules/getpass-gnu: Add getpass.h.
86128         (Depends-on): Add stdbool.
86129         * modules/getpass: Add getpass.h.
86130
86131 2004-08-08  Simon Josefsson  <jas@extundo.com>
86132
86133         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
86134         Check getpass declaration.
86135
86136 2004-08-08  Simon Josefsson  <jas@extundo.com>
86137
86138         * lib/xgethostname.c: Don't include error.h (not used).
86139
86140         * lib/getpass.h: Add.
86141         * lib/getpass.c: Include getpass.h first.
86142
86143 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
86144
86145         * lib/xalloc-die.c: New file.
86146         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
86147         All uses removed.
86148         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
86149         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
86150         xalloc-die.c.
86151         (_, N_, xalloc_die): Move to xalloc-die.c.
86152         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
86153         so that we needn't mess with xalloc_msg_memory_exhausted.
86154
86155         * lib/sha1.h: Renamed from sha.h.
86156         (SHA1_H): Renamed from _SHA_H.
86157         (sha1_ctx): Renamed from sha_ctx.
86158         (sha1_init_ctx): Renamed from sha_init_ctx.
86159         (sha1_process_block): Renamed from sha_process_block.
86160         (sha1_process_bytes): Renamed from sha_process_bytes.
86161         (sha1_finish_ctx): Renamed from sha_finish_ctx.
86162         (sha1_read_ctx): Renamed from sha_read_ctx.
86163         (sha1_stream): Renamed from sha_stream.
86164         (sha1_buffer): Renamed from sha_buffer.
86165         * lib/sha1.c: Likewise; renamed from sha.c.
86166         Do not include <sys/types.h>.
86167         Include <stddef.h> rather than <stdlib.h>.
86168
86169 2004-08-08  Bruno Haible  <bruno@clisp.org>
86170
86171         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
86172         FILESYSTEM_PREFIX_LEN.
86173         * lib/progreloc.c: Likewise.
86174         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
86175
86176 2004-08-06  Simon Josefsson  <jas@extundo.com>
86177
86178         * modules/progname (Depends-on): Don't depend on stdbool.
86179
86180 2004-08-06  Simon Josefsson  <jas@extundo.com>
86181
86182         * modules/getsubopt: New file.
86183         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86184         getsubopt.
86185
86186 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86187
86188         More merge from coreutils.
86189
86190         * m4/utimens.m4, m4/utimecmp.m4: New files.
86191         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
86192         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
86193         prereq.m4, sha.m4: Import changes from coreutils.
86194
86195 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86196
86197         More merge from coreutils.
86198         * modules/raise, modules/readtokens0, modules/utimens:
86199         * modules/utimecmp, module/xnanosleep: New files.
86200         * modules/strftime: Add lib/strftime.h.
86201         Change include from <time.h> to "strftime.h".
86202         * modules/yesno: Add lib/yesno.h.
86203         * modules/backupfile: Remove lib/addext.c.
86204         * modules/euidaccess: Add stat-macros.h.
86205         * modules/canonicalize, modules/euidaccess,
86206         modules/filemode, modules/lchown, modules/makepath,
86207         modules/rmdir, modules/stat: Likewise.
86208
86209 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86210
86211         Merge from tar.
86212         * lib/argp-help.c (make_hol, hol_append): Don't assume that
86213         SIZE_MAX is a valid preprocessor constant.
86214         (__argp_basename): Change from "#ifndef _LIBC"
86215         to "#ifndef __argp_short_program_name", so that
86216         we don't compile these functions for tar.
86217
86218         More merges from coreutils.
86219         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
86220         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
86221         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
86222         * lib/addext.c: Remove; no longer needed.
86223         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
86224         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
86225         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
86226         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
86227         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
86228         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
86229         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
86230         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
86231         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
86232         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
86233         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
86234         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
86235         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
86236         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
86237         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
86238         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
86239         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
86240         Import changes from coreutils.
86241
86242 2004-08-05  Simon Josefsson  <jas@extundo.com>
86243
86244         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
86245
86246 2004-08-05  Simon Josefsson  <jas@extundo.com>
86247
86248         * m4/getsubopt.m4: New file.
86249
86250 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86251
86252         Merge from coreutils.
86253
86254         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
86255         * m4/getcwd-path-max.m4: New files.
86256
86257         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
86258         FILESYSTEM_PREFIX_LEN ->
86259         FILE_SYSTEM_PREFIX_LEN.
86260         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
86261         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
86262         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
86263         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
86264
86265         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
86266         prerequisite modules now handle the DOS stuff.
86267         Don't check for unistd.h.
86268
86269 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86270
86271         Merge from coreutils.
86272
86273         * lib/.gdb-history: Remove; this doesn't belong here.
86274
86275         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
86276         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
86277         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
86278         * lib/getcwd.c: New files.
86279
86280         * lib/dirname.h: Include <stdbool.h>.
86281         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
86282         for consistency with POSIX terminology.  All uses changed.
86283         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
86284         (strip_trailing_slashes): Use bool for booleans.
86285         * lib/stripslash.c (strip_trailing_slashes): Likewise.
86286
86287         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
86288         sometimes returns a positive errno value even when it succeeds.
86289         (print_errno_message) [!LIBC]: Fall back on strerror if
86290         __strerror_r fails.
86291
86292         * lib/path-concat.c (mempcpy): Don't define if a system header defines
86293         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
86294         (longest_relative_suffix): New function.
86295         (path_concat): Use it.  Assume first argument is not NULL.
86296         Port to DOS.  Omit redundant separators.
86297         Report an error instead of returning NULL.
86298         Use mempcpy instead of memcpy.
86299         (xpath_concat): Remove: not declared or used.
86300
86301         * lib/same.h: Include <stdbool.h>
86302         (same_name): Return bool, not int.
86303         * lib/same.c (same_name): Likewise.
86304         (errno): Don't declare; we assume C89 or better now.
86305
86306         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
86307         if not already defined.
86308
86309         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
86310         * lib/dup-safer.c (errno): Likewise.
86311
86312 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86313
86314         Merge from coreutils.
86315         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
86316         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
86317         * modules/path-concat: Don't depend on strdup.
86318
86319 2004-08-03  Simon Josefsson  <jas@extundo.com>
86320
86321         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
86322         * lib/progname.h: Don't include stdbool.h.
86323
86324 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
86325
86326         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
86327         * MODULES.html.sh (func_all_modules): Remove fatal.
86328
86329 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
86330
86331         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
86332
86333 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
86334
86335         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
86336         working.
86337
86338 2004-08-02  Simon Josefsson  <jas@extundo.com>
86339
86340         * lib/getsubopt.h: New file, with comments from Bruno Haible.
86341         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
86342         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
86343
86344 2004-08-01  Simon Josefsson  <jas@extundo.com>
86345
86346         * lib/xgetdomainname.c: Include stdlib.h, for free().
86347
86348 2004-07-19  Bruno Haible  <bruno@clisp.org>
86349
86350         * MODULES.html.sh (func_all_modules): Add dummy.
86351
86352 2004-07-16  Simon Josefsson  <jas@extundo.com>
86353
86354         * modules/dummy: New file.
86355
86356 2004-07-16  Simon Josefsson  <jas@extundo.com>
86357
86358         * lib/dummy.c: New file.
86359
86360 2004-07-16  Bruno Haible  <bruno@clisp.org>
86361
86362         * lib/backupfile.h: Add extern "C" for C++.
86363         * lib/closeout.h: Likewise.
86364         * lib/copy-file.h: Likewise.
86365         * lib/findprog.h: Likewise.
86366         * lib/full-write.h: Likewise.
86367         * lib/pathname.h: Likewise.
86368         * lib/progname.h: Likewise.
86369         * lib/stpcpy.h: Likewise.
86370         * lib/stpncpy.h: Likewise.
86371         * lib/strcase.h: Likewise.
86372         * lib/strstr.h: Likewise.
86373         * lib/xalloc.h: Likewise.
86374
86375         * lib/mbswidth.h: Add extern "C" for C++.
86376         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
86377
86378 2004-07-13  Robert Millan  <robertmh@gnu.org>
86379
86380         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
86381
86382 2004-07-09  Simon Josefsson  <jas@extundo.com>
86383
86384         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
86385         failed without this.)
86386
86387 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
86388
86389         * modules/chown (Files): Add lib/fchown-stub.c, since
86390         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
86391
86392 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
86393
86394         * lib/fchown-stub.c: New file.
86395
86396 2004-06-24  Jim Meyering  <jim@meyering.net>
86397
86398         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
86399
86400 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86401
86402         * modules/argz: Omit "#include".
86403
86404         * MODULES.html.sh (func_all_modules): Add calloc, to match
86405         2004-06-01 addition of calloc module.
86406
86407 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86408
86409         * m4/argz.m4: New file, which is autoupdated from libtool.
86410
86411 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86412
86413         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
86414         libtool.
86415
86416 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86417
86418         * config/srclist-update: Don't insist on "USA." before the
86419         close-comment, as libtool omits the period and puts the */ on a
86420         separate line.
86421         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
86422         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
86423
86424 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
86425
86426         * modules/argz: New file.
86427         * MODULES.html.sh (func_all_modules): Add argz.
86428
86429 2004-06-12  Jim Meyering  <jim@meyering.net>
86430         and  Paul Eggert  <eggert@cs.ucla.edu>
86431
86432         * modules/hash (Files): Add lib/xalloc.h.
86433         * modules/pipe (Depends-on): Add wait-process.
86434         * modules/stat (Depends-on): Add xalloc.
86435         * modules/userspec (Files): Add lib/userspec.h.
86436         * modules/xstrto
86437
86438         Upgrade from gettext-0.13.
86439         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
86440         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
86441         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
86442
86443 2004-06-10  Jim Meyering  <jim@meyering.net>
86444
86445         * lib/calloc.c: New file.
86446
86447 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
86448
86449         * lib/getdate.y (yylex): Allow space between sign and number.
86450         Problem reported by Dan Jacobson.
86451
86452 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
86453
86454         Merge from coreutils CVS.
86455
86456         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
86457         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
86458         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
86459         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
86460         xstrtol.m4: Fix copyright date and/or serial number.
86461
86462         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
86463         See if we need an fchown replacement.
86464         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
86465         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
86466         and use the replacement function if we detect either defect.
86467
86468         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
86469         gl_UTIMECMP.
86470
86471 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
86472         and  Jim Meyering  <jim@meyering.net>
86473
86474         Merge from coreutils CVS.
86475
86476         * lib/stat-macros.h: New file, with contents from file-type.h
86477         and coreutils' system.h.
86478         * lib/file-type.c: Include "stat-macros.h".
86479         * lib/file-type.h (file_type): Move all macro definitions to new file,
86480         stat-macros.h.
86481
86482         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
86483         Wrap old code with this conditional.
86484         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
86485         function that does not dereference symlinks.
86486         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
86487
86488         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
86489         dependency problems.
86490         (xreadlink): Accept new arg SIZE, for efficiency.
86491         All decls and uses changed.
86492         * lib/xreadlink.h: Include <stddef.h>, for size_t.
86493
86494         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
86495         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
86496
86497         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
86498         sysexits.h.
86499
86500 2004-06-01  Jim Meyering  <jim@meyering.net>
86501
86502         * m4/calloc.m4: New file.
86503
86504 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
86505
86506         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
86507         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
86508         Also, fix a typo in a diagnostic.
86509
86510 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
86511
86512         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
86513         or AC_FUNC_REALLOC.
86514
86515 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
86516
86517         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
86518         macros to be defined.
86519         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
86520         the allocator returns NULL because the requested size is zero.
86521
86522 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86523
86524         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
86525         var.  Add comment explaining why libc still defines it.  This
86526         merges the following patch from glibc:
86527         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
86528
86529 2004-05-20  Andreas Schwab  <schwab@suse.de>
86530
86531         * m4/free.m4: Replace free if it not known to work, not the other
86532         way round.
86533
86534 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
86535
86536         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
86537         present in glibc since revision 1.1 of this file.
86538         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
86539         obstack_alignment_mask, obstack_alloc, obstack_base,
86540         obstack_blank, obstack_blank_fast, obstack_chunk_size,
86541         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
86542         obstack_grow0, obstack_init, obstack_int_grow,
86543         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
86544         obstack_next_free, obstack_object_size, obstack_ptr_grow,
86545         obstack_ptr_grow_fast, obstack_room): Remove declarations of
86546         nonexistent functions.
86547
86548 2004-05-18  Karl Berry  <karl@gnu.org>
86549
86550         * config/srclist.txt: break link for vasnprintf.c.
86551
86552 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86553
86554         Port obstack to the AS/400, where pointers are 16 bytes wide and
86555         you cannot cast an integer to a valid pointer.  This patch is
86556         currently waiting to be integrated into glibc; see
86557         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
86558
86559         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
86560         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
86561         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
86562         (struct obstack): temp member is now a union of a pointer and
86563         an integer, instead of an integer.  All integer uses changed.
86564         This does not affect the physical layout of struct obstack,
86565         except on hosts (like the AS/400) where the size or alignment of
86566         void * is greater than that of ptrdiff_t.
86567         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
86568         __STDC__)]: Store temporary in pointer member of union, not
86569         integer member.
86570         * lib/obstack.c: Include <stddef.h>, for offsetof.
86571         (struct fooalign): Remove; it doesn't need a name.
86572         (union fooround): Change double to long double, and add void *.
86573         (DEFAULT_ALIGNMENT): Use offsetof to compute.
86574         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
86575         not a macro.  Hence the values are always int; so remove all
86576         casts-to-int in uses.
86577
86578 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86579
86580         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
86581         we can get this patch merged into glibc.
86582
86583 2004-05-17  Derek R. Price  <derek@ximbiot.com>
86584             Paul Eggert  <eggert@cs.ucla.edu>
86585
86586         * m4/argp: Depend on alloca.
86587
86588 2004-05-17  Derek R. Price  <derek@ximbiot.com>
86589             Paul Eggert  <eggert@cs.ucla.edu>
86590
86591         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
86592         freecoding.
86593
86594 2004-05-17  Bruno Haible  <bruno@clisp.org>
86595
86596         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
86597         precision that consists of a '.' followed by an empty digit string.
86598         Patch by Tor Lillqvist <tml@iki.fi>.
86599
86600 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86601
86602         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
86603         for backward compatibility with older code.  We need our own
86604         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
86605         it under some other name, and our alloca.h will define it.
86606
86607 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86608             Derek Price  <derek@ximbiot.com>
86609
86610         * lib/alloca.c: Include <alloca.h>, to get our interface.
86611         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
86612         include <alloca.h> first.  Use C89 prototype for alloca; this
86613         requires including <stddef.h> for size_t.  Use extern "C" if C++.
86614         Use #elif for simplicity, since we can assume C89 now.
86615         Don't try to source the system alloca.h since it will not be found
86616         and to prevent recursively including its replacement.
86617         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
86618         * lib/regex.c: Likewise.
86619
86620 2004-05-16  Derek Price  <derek@ximbiot.com>
86621             Paul Eggert  <eggert@cs.ucla.edu>
86622
86623         getline cleanup.  This changes the getndelim2 API: both order of
86624         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
86625         no delimiter).
86626
86627         * lib/getline.c: Don't include stddef.h or stdio.h, since our
86628         interface does that.
86629         (getline): Always use getdelim, so that we don't have two
86630         copies of this code.
86631         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
86632         if available.
86633         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
86634         (GETNDELIM2_MAXIMUM): New macro.
86635         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
86636         instead of the old practice of delim2==0.  All callers changed.
86637         Return -1 on overflow, instead of returning junk.
86638         Do not set *linesize unless allocation succeeds.
86639         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
86640         that we include sys/types.h.
86641         * lib/getnline.h: Likewise.
86642         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
86643         (getndelim2): Reorder arguments.
86644         * lib/getnline.c (getnline, getndelim):
86645         Don't discard the NMAX argument.
86646         (getnline): Invoke getndelim, to avoid code duplication.
86647         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
86648         of (size_t) -1 by callers of the getnline family.
86649
86650 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86651
86652         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
86653         Check for gettimeofday.
86654         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
86655         Check for settimeofday, stime.
86656
86657 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86658
86659         * lib/nanosleep.c (suspended): Change its type from int to
86660         sig_atomic_t volatile.
86661         (first_call): Make it private to rpl_nanosleep, and have it
86662         be zero initially as that's a bit faster.
86663         (my_usleep): Round up fractional times instead of truncating them,
86664         as this is the usual meaning for 'sleep'.
86665
86666         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
86667         doesn't work.
86668         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
86669         (ENOSYS): Define if not defined.
86670         (settime): Fall back on stime if it exists and settimeofday fails.
86671         But don't bother with fallbacks if a method fails with errno == EPERM.
86672
86673 2004-05-11  Jim Meyering  <jim@meyering.net>
86674
86675         Prior to this change, the save_cwd caller required read access to the
86676         current directory on most systems (ones with the fchdir function).
86677
86678         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
86679         fails, try write-only, and finally, resort to using xgetcwd.
86680
86681 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86682
86683         * lib/obstack.c, obstack.h: Import changes from libc.
86684
86685 2004-04-28  Bruno Haible  <bruno@clisp.org>
86686
86687         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
86688         also implicitly appends .exe to executables.
86689         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
86690         accepts Windows pathnames.
86691         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86692         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86693         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86694         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86695         Reported by Derek Robert Price <derek@ximbiot.com>.
86696
86697 2004-04-21  Karl Berry  <karl@gnu.org>
86698
86699         * config/srclist.txt (localcharset.c): break sync.
86700
86701 2004-04-20  Paul Eggert  <eggert@twinsun.com>
86702
86703         * m4/host-os.m4: Add a copyright notice.
86704
86705 2004-04-20  Jim Meyering  <jim@meyering.net>
86706
86707         Change UTILS_ to gl_ in AC_DEFINE'd names.
86708         Change utils_- and jm_-prefixed variables, too.
86709         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
86710         UTILS_FUNC_MKDIR_TRAILING_SLASH.
86711         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
86712
86713         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
86714         Don't emit trailing blanks.
86715         Also rename jm_-prefixed variables to have gl_ prefix.
86716
86717         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
86718         Also rename jm_-prefixed variables to have gl_ prefix.
86719
86720         * m4/jm-macros.m4: Reflect the renamings.
86721         * m4/prereq.m4: Likewise.
86722
86723 2004-04-20  Jim Meyering  <jim@meyering.net>
86724
86725         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
86726         memory.
86727
86728 2004-04-20  Jim Meyering  <jim@meyering.net>
86729             Bruno Haible  <bruno@clisp.org>
86730
86731         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
86732         memory when realloc fails.
86733
86734 2004-04-19  Jim Meyering  <jim@meyering.net>
86735
86736         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
86737         now that readutmp.c may call `free (0)'.
86738
86739 2004-04-19  Bruno Haible  <bruno@clisp.org>
86740
86741         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
86742         * m4/inttypes_h.m4: Likewise.
86743         * m4/stdint_h.m4: Likewise.
86744         * m4/intmax_t.m4: Likewise.
86745         * m4/uintmax_t.m4: Likewise.
86746
86747 2004-04-18  Jim Meyering  <jim@meyering.net>
86748
86749         * m4/prereq.m4: Don't forbid jm_ prefix.
86750
86751         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
86752         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
86753         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
86754         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
86755         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
86756         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
86757         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
86758         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
86759         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
86760         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
86761         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
86762         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
86763         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
86764         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
86765         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
86766         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
86767         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
86768         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
86769         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
86770
86771 2004-04-18  Jim Meyering  <jim@meyering.net>
86772
86773         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
86774         failure, don't leak memory and do call END_UTMP_ENT.
86775
86776 2004-04-16  Jim Meyering  <jim@meyering.net>
86777
86778         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
86779         coreutils' stat program.
86780         (gl_PREREQ): Don't require jm_PREREQ_STAT.
86781
86782 2004-04-11  Paul Eggert  <eggert@twinsun.com>
86783
86784         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
86785         C89.
86786         (CHAR_BIT): Remove, since we assume C89.
86787         Include <stdint.h> if available, as per current Autoconf CVS advice.
86788
86789 2004-03-31  Jim Meyering  <jim@meyering.net>
86790
86791         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
86792         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
86793         * m4/xalloc.m4: Likewise.
86794
86795 2004-03-30  Paul Eggert  <eggert@twinsun.com>
86796
86797         Merge from coreutils.
86798
86799         * m4/inttostr.m4: New file.
86800         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
86801         Require AM_STDBOOL_H and gl_TIMESPEC instead.
86802         Require gl_CLOCK_TIME.
86803         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
86804
86805 2004-03-30  Paul Eggert  <eggert@twinsun.com>
86806
86807         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
86808         not bool, to be more consistent with Unix conventions.
86809         Suggested by Bruno Haible.
86810
86811         Merge from coreutils.
86812
86813         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
86814         * lib/umaxtostr.c: New files.
86815
86816         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
86817         the usual <time.h> dance.
86818         (get_date): Change signature to support fractional time stamps.
86819         All callers changed.
86820         * lib/getdate.y: Include "getdate.h" first, as we can now
86821         assume C89 and don't need to worry about 'const'.
86822         Similarly, include "unlocked-io.h" near start, not in middle.
86823         Include <limits.h>.
86824         (textint.value): Use long int rather than int.
86825         (textint.digits): Use size_t rather than int.
86826         (BILLION, LOG10_BILLION): New constants.
86827         (parser_control): New member rel_ns.  Members day_ordinal,
86828         time_zone, month, day, hour, minutes, rel_year, rel_month,
86829         rel_day, rel_hour, rel_minutes, rel_seconds
86830         are now long int, not int.  Member seconds is now struct timespec,
86831         not int.  New member timespec_seen.  Members dates_seen, days_seen,
86832         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
86833         not int.
86834         (%union.intval): Now long int, not int.
86835         New member timespec.
86836         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
86837         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
86838         (spec): Now is a timespec or an item list.
86839         (timespec, items): New nonterminals.
86840         (time, rel, relunit, number, get_date):
86841         Add support for fractional seconds.
86842         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
86843         (gmtime, localtime, mktime): Remove decls; not needed with C89.
86844         (to_hour): First arg is now long int, not int.
86845         (to_year): Returns long int, not int.
86846         Don't treat year -70 like 70.
86847         (tm_diff): Returns long int, not int.
86848         (lookup_word): Use bool instead of int when appropriate.
86849         (yylex): Use size_t for count, not int.
86850         Detect overflow when parsing large integer constants.
86851         Add support for fractions.
86852         (get_date): Make pointers 'const' if possible.
86853         Use more-portable code to detect integer overflow.
86854         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
86855         Don't use ctime; it's not reliable if the year has >4 digits.
86856
86857         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
86858         This is for compatibility with BSD.
86859
86860         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
86861         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
86862         From coreutils' system.h.
86863
86864         * lib/userspec.c: Don't include "posixver.h".
86865         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
86866         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
86867         compatible extension.  Simplify code by removing a boolean int
86868         that was always nonzero if a string was nonnull.
86869
86870 2004-03-30  Jim Meyering  <jim@meyering.net>
86871
86872         Merge from coreutils.
86873
86874         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
86875         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
86876         on some systems one must include <grp.h> before it.
86877         Reported by Christian Krackowizer.
86878
86879 2004-03-30  Jim Meyering  <jim@meyering.net>
86880
86881         Merge from coreutils.
86882
86883         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
86884
86885         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
86886         an empty input stream.
86887
86888         * lib/readtokens.c: Include <stdbool.h>.
86889         (readtoken): Use `size_t' rather than int/long.
86890         All callers adjusted.
86891         Use `bool' rather than `int' where appropriate.
86892         Use memset rather than an explicit loop.
86893         Use x2nrealloc rather than xrealloc.
86894         Allow the use of `\0' as a delimiter.
86895         (readtokens): Likewise.
86896         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
86897
86898 2004-03-30  Jim Meyering  <jim@meyering.net>
86899
86900         * m4/realloc.m4: Remove file, since now it does no more than
86901         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
86902         the `configure.ac' section of module/realloc.
86903         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
86904
86905 2004-03-30  Bruno Haible  <bruno@clisp.org>
86906
86907         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
86908         nonnull.
86909
86910 2004-03-29  Paul Eggert  <eggert@twinsun.com>
86911
86912         Merge changes to getloadavg.c from coreutils and Emacs.
86913
86914         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
86915         Define to an expression, not to the empty string.
86916         Include cloexec.h and xalloc.h.
86917         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
86918         Use set_cloexec_flag rather than rolling our own.
86919         * lib/cloexec.c, lib/cloexec.h: New files.
86920
86921 2004-03-29  Paul Eggert  <eggert@twinsun.com>
86922
86923         * m4/cloexec.m4: New file.
86924
86925 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86926
86927         * lib/getopt.h: Sync with libc CVS.
86928
86929 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86930             Bruno Haible  <bruno@clisp.org>
86931
86932         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
86933         mbswidth.
86934
86935 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86936             Bruno Haible  <bruno@clisp.org>
86937
86938         * lib/mbswidth.h: Include <wchar.h> only if
86939         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
86940         <wchar.h>.
86941         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
86942
86943 2004-03-09  Paul Eggert  <eggert@twinsun.com>
86944
86945         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
86946         Sync with libc CVS.
86947         * lib/getopt_int.h: New file, also synced from libc.
86948
86949 2004-03-09  Paul Eggert  <eggert@twinsun.com>
86950
86951         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
86952         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
86953         Bring back getopt.c, getopt.h, getopt1.c.
86954
86955 2004-03-07  Paul Eggert  <eggert@twinsun.com>
86956
86957         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
86958         All uses changed.  Check for sa_sigaction member; this fixes
86959         a bug first reported by Jason Andrade in
86960         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
86961
86962 2004-03-07  Paul Eggert  <eggert@twinsun.com>
86963
86964         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
86965         '#if' expressions.  Unlike the code it replaces, it does not
86966         depend on (defined _SC_PAGESIZE).  However, it does depend on
86967         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
86968         first reported by Jason Andrade in
86969         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
86970
86971 2004-02-25  Simon Josefsson  <jas@extundo.com>
86972
86973         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
86974
86975 2004-02-25  Simon Josefsson  <jas@extundo.com>
86976
86977         * lib/strdup.h: New file.
86978         * lib/strdup.c: Include it.
86979         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
86980         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
86981
86982 2004-02-23  Karl Berry  <karl@gnu.org>
86983
86984         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
86985         (from fencepost.gnu.org:/gd/gnuorg).
86986
86987 2004-02-23  Karl Berry  <karl@gnu.org>
86988
86989         * config/srclistvars.sh (GNUORG) [karl]: redefine.
86990         * config/srclist.txt: add maintain/standards documents.
86991
86992 2004-02-18  Bruno Haible  <bruno@clisp.org>
86993
86994         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
86995         Reported by Derek Robert Price <derek@ximbiot.com>.
86996
86997 2004-02-16  Karl Berry  <karl@gnu.org>
86998
86999         * config/mkinstalldirs, install-sh: update from automake.
87000
87001 2004-02-06  Karl Berry  <karl@gnu.org>
87002
87003         * m4/po.m4: update from gettext 0.14.1.
87004
87005 2004-02-06  Karl Berry  <karl@gnu.org>
87006
87007         * lib/config.charset: update from gettext 0.14.1.
87008
87009 2004-02-05  Paul Eggert  <eggert@twinsun.com>
87010
87011         Add comments and code, prompted by suggestions from Bruno Haible
87012         for sh-quote.
87013         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
87014         describing the enum quoting_style values.
87015         * lib/quotearg.c (quotearg_alloc): New function.
87016         (quotearg_buffer_restyled): Treat lone { and } as special.
87017         Treat = as special.  Work around bug with older shells
87018         that "see" a '\' that is really the 2nd byte of a multibyte char.
87019         Quote empty string with shell_quoting_style.
87020
87021 2004-02-03  Bruno Haible  <bruno@clisp.org>
87022
87023         * m4/pipe.m4: New file, from GNU gettext.
87024
87025 2004-02-03  Bruno Haible  <bruno@clisp.org>
87026
87027         * lib/pipe.h: New file, from GNU gettext.
87028         * lib/pipe.c: New file, from GNU gettext.
87029
87030 2004-01-27  Bruno Haible  <bruno@clisp.org>
87031
87032         * m4/execute.m4: New file, from GNU gettext.
87033
87034 2004-01-27  Bruno Haible  <bruno@clisp.org>
87035
87036         * lib/execute.h: New file, from GNU gettext.
87037         * lib/execute.c: New file, from GNU gettext.
87038         * lib/w32spawn.h: New file, from GNU gettext.
87039
87040 2004-01-24  Paul Eggert  <eggert@twinsun.com>
87041
87042         Merge from diffutils.
87043
87044         * lib/file-type.c (file_type): Add typed memory objects.
87045         * lib/file-type.h (S_TYPEISTMO): New macro.
87046
87047         * lib/c-stack.h (c_stack_action): Remove argv argument.
87048         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
87049         (die): Don't calculate message unless segv_action returns.
87050         (get_stack_location, min_address_from_argv, max_address_from_argv,
87051         volatile stack_base, volatile_stack_size): Remove.
87052         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
87053         that every segmentation violation is a stack overflow.  (Ouch!)
87054         See Debian bug 136249 (still outstanding) for more info about why
87055         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
87056
87057 2004-01-24  Paul Eggert  <eggert@twinsun.com>
87058
87059         Exit-status fix from coreutils.
87060
87061         Use exit_failure consistently in place of EXIT_FAILURE,
87062         so that program exit statuses are consistent on failure.
87063
87064         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
87065         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
87066         * lib/argmatch.h: Comment fix to match the above.
87067         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
87068         Now a macro referring to exit_failure, instead of a separate
87069         variable.  Include "exitfail.h" to get it.
87070         * lib/xstrtol.h: Include "exitfail.h".
87071         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
87072
87073         * lib/long-options.c (parse_long_options): Use prototype
87074         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
87075         for clarity.
87076
87077 2004-01-21  Jim Meyering  <jim@meyering.net>
87078
87079         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
87080         so as not to conflict with a different-sized __mktime_internal
87081         function in GNU libc.
87082         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
87083         Problem building statically-linked `ls' reported by Michael Brunnbauer.
87084
87085 2004-01-20  Karl Berry  <karl@gnu.org>
87086
87087         * config/config.guess: update from config.
87088
87089         * config/srclistvars.sh: GNUWWWLICENSES for karl.
87090
87091 2004-01-20  Bruno Haible  <bruno@clisp.org>
87092
87093         Safer stack allocation.
87094         * lib/setenv.c: Include allocsa.h.
87095         (alloca): Remove fallback definition.
87096         (freea): Remove macro.
87097         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
87098         instead of freea.
87099
87100 2004-01-20  Bruno Haible  <bruno@clisp.org>
87101
87102         * m4/eealloc.m4: New file, from GNU gettext.
87103
87104 2004-01-20  Bruno Haible  <bruno@clisp.org>
87105
87106         * m4/allocsa.m4: New file, from GNU gettext.
87107
87108 2004-01-20  Bruno Haible  <bruno@clisp.org>
87109
87110         * lib/xallocsa.h: New file, from GNU gettext.
87111         * lib/xallocsa.c: New file, from GNU gettext.
87112
87113 2004-01-20  Bruno Haible  <bruno@clisp.org>
87114
87115         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
87116
87117 2004-01-20  Bruno Haible  <bruno@clisp.org>
87118
87119         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
87120         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
87121         specially.
87122
87123 2004-01-20  Bruno Haible  <bruno@clisp.org>
87124
87125         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
87126         patch.
87127
87128 2004-01-20  Bruno Haible  <bruno@clisp.org>
87129
87130         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
87131
87132 2004-01-20  Bruno Haible  <bruno@clisp.org>
87133
87134         * lib/eealloc.h: New file.
87135
87136 2004-01-20  Bruno Haible  <bruno@clisp.org>
87137
87138         * lib/binary-io.h: Avoid warnings on Cygwin.
87139
87140 2004-01-20  Bruno Haible  <bruno@clisp.org>
87141
87142         * lib/allocsa.h: New file, from GNU gettext.
87143         * lib/allocsa.c: New file, from GNU gettext.
87144
87145 2004-01-18  Karl Berry  <karl@gnu.org>
87146
87147         * doc/gpl.texi, doc/lgpl.texi: new files.
87148
87149 2004-01-18  Karl Berry  <karl@gnu.org>
87150
87151         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
87152         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
87153
87154 2004-01-15  Paul Eggert  <eggert@twinsun.com>
87155
87156         Merge from coreutils.
87157
87158         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
87159         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
87160         (gl_DEFAULT_POSIX2_VERSION): Move
87161         the documentation from 'configure' into 'config.hin',
87162         so that 'configure --help' isn't burdened by it and
87163         we don't have to worry about its formatting there.
87164         Reword the documentation so that it's more succinct
87165         and can be run together into a single paragraph.
87166         * m4/same.m4 (gl_SAME): Check for pathconf.
87167
87168 2004-01-15  Paul Eggert  <eggert@twinsun.com>
87169
87170         Merge from coreutils.
87171
87172         * lib/posixver.c: Include posixver.h.
87173
87174         * lib/same.c: Include <stdbool.h>, <limits.h>.
87175         (_POSIX_NAME_MAX): Define if not defined.
87176         (MIN): New macro.
87177         (same_name): If file names are silently truncated, report
87178         that the file names are the same if they are the same after
87179         the silent truncation.
87180
87181         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
87182         conversion function.
87183         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
87184         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
87185         longer needed.
87186
87187 2004-01-15  Jim Meyering  <jim@meyering.net>
87188
87189         Merge from coreutils.
87190
87191         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
87192         if no library is required.
87193         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
87194         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
87195         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
87196         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
87197         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
87198         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
87199         value, $ac_cv_search_crypt, if it's "none required".
87200         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
87201         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
87202         not gl_FUNC_GETLOADAVG.
87203         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
87204         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
87205
87206 2004-01-15  Jim Meyering  <jim@meyering.net>
87207
87208         Merge from coreutils.
87209
87210         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
87211         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
87212         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
87213
87214         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
87215         optional configure-time default.
87216
87217         * lib/version-etc.c (version_etc_copyright): Update copyright date.
87218
87219         * lib/xreadlink.c (xreadlink): Correct outdated comment.
87220
87221 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
87222
87223         Merge from coreutils.
87224
87225         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
87226         value, $ac_cv_search_nanosleep, if it's "none required".
87227
87228 2004-01-14  Paul Eggert  <eggert@twinsun.com>
87229
87230         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
87231         with like-named macro in fnmatch.c.
87232         (EXT): Use an internal constant instead.
87233
87234         Merge fnmatch patches from glibc.
87235         * lib/fnmatch.c (mbsinit): Remove define.
87236         Add libc_hidden_ver (__fnmatch, fnmatch).
87237         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
87238         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
87239
87240 2004-01-14  Karl Berry  <karl@gnu.org>
87241
87242         * config/install-sh: update from automake.
87243
87244 2004-01-13  Karl Berry  <karl@gnu.org>
87245
87246         * config/install-sh: update from automake.
87247
87248 2004-01-09  Karl Berry  <karl@gnu.org>
87249
87250         * config/install-sh: update from automake.
87251
87252 2004-01-05  Karl Berry  <karl@gnu.org>
87253
87254         * config/config.{sub,guess}: update from config.
87255
87256 2003-12-31  Karl Berry  <karl@gnu.org>
87257
87258         * config/depcomp: update from automake.
87259
87260 2003-12-14  Karl Berry  <karl@gnu.org>
87261
87262         * lib/config.charset: update from gettext-runtime.
87263
87264 2003-12-03  Paul Eggert  <eggert@twinsun.com>
87265
87266         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
87267         Bug reported by Alfred M. Szmidt.
87268
87269 2003-12-03  Bruno Haible  <bruno@clisp.org>
87270
87271         * m4/gettext.m4: Upgrade from gettext-0.13.
87272         * m4/po.m4: Upgrade from gettext-0.13.
87273         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
87274         * m4/intmax.m4: New file, from gettext-0.13.
87275         * m4/printf-posix.m4: New file, from gettext-0.13.
87276
87277 2003-11-29  Karl Berry  <karl@gnu.org>
87278
87279         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
87280
87281 2003-11-25  Paul Eggert  <eggert@twinsun.com>
87282             Bruno Haible  <bruno@clisp.org>
87283
87284         * lib/printf-parse.h: Don't include sys/types.h.
87285         (ARG_NONE): New macro.
87286         (char_directive): Change type of *arg_index fields to size_t.
87287         * lib/printf-parse.c: Don't include sys/types.h.
87288         (SSIZE_MAX): Remove macro.
87289         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
87290         Remove unnecessary overflow check.
87291         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
87292         fields.
87293
87294 2003-11-25  Bruno Haible  <bruno@clisp.org>
87295
87296         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
87297
87298 2003-11-25  Bruno Haible  <bruno@clisp.org>
87299
87300         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
87301         gt_TYPE_SSIZE_T.
87302
87303 2003-11-24  Paul Eggert  <eggert@twinsun.com>
87304
87305         * modules/alloca: Remove dependency on xalloc.
87306
87307 2003-11-24  Paul Eggert  <eggert@twinsun.com>
87308
87309         * lib/alloca.c: Remove dependency on xalloc module.
87310         (xalloc_die): Remove.
87311         (memory_full) [!defined emacs]: New macro.
87312         [!defined emacs]: Don't include xalloc.h.
87313         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
87314         address arithmetic overflows.  Change datatypes a bit to avoid
87315         unnecessary casts.
87316
87317 2003-11-22  Jim Meyering  <jim@meyering.net>
87318
87319         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
87320         s/size/size_t/.
87321
87322 2003-11-21  Karl Berry  <karl@gnu.org>
87323
87324         * config/config.{sub,guess}: update from config.
87325
87326 2003-11-18  Karl Berry  <karl@gnu.org>
87327
87328         * config/config.{sub,guess}: update from config.
87329
87330         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
87331
87332 2003-11-17  Paul Eggert  <eggert@twinsun.com>
87333
87334         * README: Mention that S+T cannot overflow if S is the size of
87335         an existing object and T is sufficiently small.
87336
87337 2003-11-17  Jim Meyering  <jim@meyering.net>
87338
87339         On systems without utime and without a utimes function capable of
87340         dealing with a NULL struct utimbuf* argument, this utime replacement
87341         could -- in unusual circumstances -- leak a file descriptor.
87342         * lib/utime.c: Include <unistd.h> and <errno.h>.
87343         (utime_null): Be sure to close `fd' and to preserve errno.
87344         Reported by Geoff Collyer via Arnold Robbins.
87345
87346 2003-11-17  Bruno Haible  <bruno@clisp.org>
87347
87348         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
87349         (Depends-on): Add xsize.
87350
87351 2003-11-17  Bruno Haible  <bruno@clisp.org>
87352
87353         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
87354
87355 2003-11-17  Bruno Haible  <bruno@clisp.org>
87356
87357         * lib/vasnprintf.c (alloca): Remove fallback definition.
87358         (freea): Remove definition.
87359         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
87360         Reported by Paul Eggert.
87361
87362 2003-11-16  Paul Eggert  <eggert@twinsun.com>
87363             Bruno Haible  <bruno@clisp.org>
87364
87365         Protect against address arithmetic overflow.
87366         * lib/printf-args.h: Include stddef.h.
87367         (arguments): Change type of field 'count' to size_t.
87368         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
87369         'unsigned int' where appropriate.
87370         * lib/printf-parse.h: Include sys/types.h.
87371         (char_directive): Change type of *arg_index fields to ssize_t.
87372         (char_directives): Change type of fields 'count', max_*_length to
87373         size_t.
87374         * lib/printf-parse.c: Include sys/types.h and xsize.h.
87375         (SSIZE_MAX): Define fallback value.
87376         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
87377         instead of 'int' where appropriate. Check a_allocated, d_allocated
87378         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
87379         * lib/vasnprintf.c: Include xsize.h.
87380         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
87381         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
87382         overflow. Avoid wraparound when converting a width or precision from
87383         decimal to binary.
87384
87385 2003-11-16  Bruno Haible  <bruno@clisp.org>
87386
87387         Update from GNU gettext.
87388         * lib/printf-parse.c: Generalize to it can be compiled for wide
87389         strings.
87390         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
87391         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
87392         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
87393         SNPRINTF): New macros.
87394         Don't include <alloca.h> if the file is used inside libintl.
87395         (local_wcslen): New function, for Solaris 2.5.1.
87396         (VASNPRINTF): Use it instead of wcslen.
87397
87398 2003-11-16  Bruno Haible  <bruno@clisp.org>
87399
87400         * lib/xsize.h (xmax): New function.
87401         (xsum, xsum3, xsum4): Declare as "pure" functions.
87402
87403 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87404
87405         * modules/xalloc (Files): Undo latest change, since xalloc.h
87406         no longer needs SIZE_MAX or PTRDIFF_MAX.
87407
87408 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87409
87410         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
87411         gl_PTRDIFF_MAX.
87412
87413 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87414
87415         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
87416         "return", to pacify some unknown compiler.  Problem reported
87417         by Joerg Schilling.
87418
87419 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87420
87421         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
87422         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
87423         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
87424         heuristic is just as accurate as far as we know, and it removes a
87425         dependency on size_max.m4 and ptrdiff_max.m4.
87426
87427 2003-11-11  Bruno Haible  <bruno@clisp.org>
87428
87429         * modules/xsize (Files): Add m4/size_max.m4.
87430         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
87431
87432 2003-11-11  Bruno Haible  <bruno@clisp.org>
87433
87434         * m4/size_max.m4: New file.
87435         * m4/ptrdiff_max.m4: New file.
87436         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
87437         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
87438         (gl_XALLOC): Invoke it.
87439
87440 2003-11-11  Bruno Haible  <bruno@clisp.org>
87441
87442         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
87443         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
87444         defined.
87445
87446 2003-11-10  Paul Eggert  <eggert@twinsun.com>
87447
87448         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
87449         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
87450         rejected some allocations of exactly SIZE_MAX - 2 bytes.
87451         From Bruno Haible.
87452         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
87453         not (size_t) -1, since it's defined here.
87454
87455 2003-11-09  Karl Berry  <karl@gnu.org>
87456
87457         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
87458
87459 2003-11-06  Paul Eggert  <eggert@twinsun.com>
87460
87461         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
87462         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
87463         Reject sizes of exactly SIZE_MAX bytes.
87464         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
87465         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
87466
87467 2003-11-05  Bruno Haible  <bruno@clisp.org>
87468
87469         * lib/xsize.h: Include limits.h, to avoid a possible collision with
87470         SIZE_MAX defined in <limits.h> on Solaris.
87471
87472 2003-11-04  Jim Meyering  <jim@meyering.net>
87473
87474         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
87475         variable names, rather than @VAR@.
87476         * modules/poll: Likewise.
87477
87478 2003-11-04  Bruno Haible  <bruno@clisp.org>
87479
87480         * modules/xsize: New file.
87481         * modules/linebreak: Depend on xsize.
87482         * MODULES.html.sh (func_all_modules): Add xsize.
87483
87484 2003-11-04  Bruno Haible  <bruno@clisp.org>
87485
87486         * m4/xsize.m4: New file.
87487
87488 2003-11-04  Bruno Haible  <bruno@clisp.org>
87489
87490         * lib/xsize.h: New file.
87491         * lib/linebreak.c: Include xsize.h.
87492         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
87493         argument for overflow.
87494         Suggested by Paul Eggert.
87495
87496 2003-11-03  Karl Berry  <karl@gnu.org>
87497
87498         * config/config.{guess,sub}: update from config.
87499
87500 2003-11-03  Jim Meyering  <jim@meyering.net>
87501
87502         * modules/userspec (lib_SOURCES): Add userspec.h.
87503         (Include): Add "userspec.h".
87504         Improve description.
87505
87506 2003-11-03  Jim Meyering  <jim@meyering.net>
87507
87508         * lib/userspec.c: Include "userspec.h".
87509         * lib/userspec.h: New file.
87510
87511 2003-11-03  Bruno Haible  <bruno@clisp.org>
87512
87513         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
87514
87515 2003-11-03  Bruno Haible  <bruno@clisp.org>
87516
87517         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
87518         available, to avoid (extremely rare) race condition.
87519         Suggested by Paul Eggert.
87520
87521 2003-11-02  Karl Berry  <karl@gnu.org>
87522
87523         * config/srclist.txt (vasprintf.c): sync broken, sigh.
87524
87525 2003-10-31  Paul Eggert  <eggert@twinsun.com>
87526
87527         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
87528         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
87529         (read_filesystem_list): Set and use me_type_malloced.
87530         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
87531         whatever the type happens to be), for brevity and consistency.
87532         Check for size calculation overflow on Alphas running OSF/1.
87533
87534 2003-10-31  Jim Meyering  <jim@meyering.net>
87535
87536         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
87537
87538         * lib/linebuffer.c: Include <string.h> for declaration of memset.
87539
87540 2003-10-30  Paul Eggert  <eggert@twinsun.com>
87541             Bruno Haible  <bruno@clisp.org>
87542
87543         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
87544         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
87545
87546 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
87547
87548         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
87549         netbsd*-gnu*.  Suggested by Robert Millan.
87550
87551 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87552
87553         * modules/group-member: Depend on stdbool.
87554
87555 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87556
87557         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
87558
87559 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87560
87561         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
87562         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
87563         after the 'gnu' in these cases.  This fixes some bugs in the
87564         previous change, and is based on suggestions by Robert Millan.
87565
87566 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87567
87568         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
87569         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
87570         no longer needed.
87571         * lib/quotearg.c (quotearg_n_options): Use it.
87572         * lib/group-member.c: Include <stdbool.h>.
87573         (free_group_info): Arg is now const *; don't free arg.
87574         (get_group_info): Now returns bool and accepts struct group_info *,
87575         rather than returning a malloc'ed struct group_info *.
87576         All uses changed.  Check for overflow in internal size calculation.
87577
87578         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
87579         rather than xmalloc/xrealloc.
87580         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
87581         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
87582         conformance bug: the old code used a pointer after freeing the
87583         storage that it addressed.
87584         * lib/hash.c (hash_initialize): Simplify the code by using
87585         xalloc_oversized rather than doing it by hand.
87586         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
87587         the buffer preserved.  Use free and xmalloc instead.
87588         * lib/quotearg.c (quotearg_n_options): Likewise.
87589         Use a simpler test for size overflow.  Don't use xalloc_oversized
87590         because unsigned int might be wider than size_t (!); this suggests
87591         that we should switch from unsigned int to size_t for slot numbers.
87592
87593 2003-10-28  Paul Eggert  <eggert@twinsun.com>
87594
87595         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
87596         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
87597         NetBSD kernels.  Requested by Richard Stallman.
87598
87599 2003-10-27  Paul Eggert  <eggert@twinsun.com>
87600
87601         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
87602         to allocate the returned structure.  Do not allocate a subarray,
87603         as x2nrealloc will do that.
87604         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
87605         instead of xnrealloc.
87606         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
87607
87608 2003-10-27  Bruno Haible  <bruno@clisp.org>
87609
87610         * lib/stdbool_.h: Better support for BeOS.
87611
87612 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87613
87614         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
87615         now uses inline.
87616
87617 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87618
87619         * lib/xalloc.h (xalloc_oversized): New static inline function, for
87620         callers that want to do their own size-overflow checking.  Include
87621         <stdbool.h>, since xalloc_oversized returns bool.
87622         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
87623         to use xalloc_oversized.
87624
87625         Add two functions x2realloc, x2nrealloc, for programs that grow
87626         arrays dynamically by doubling their sizes.
87627         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
87628         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
87629         New functions.
87630
87631         Port to C99 semantics for 'inline' of external functions.
87632         Bug reported by Bruno Haible.
87633         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
87634         with the old contents of xnmalloc.
87635         (xnmalloc, xmalloc): Use it.
87636         (xnrealloc_inline): New static inline function,
87637         with the old contents of xnrealloc.
87638         (xnrealloc, xrealloc): Use it.
87639
87640         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
87641         that.
87642
87643 2003-10-26  Karl Berry  <karl@gnu.org>
87644
87645         * config/srclist.txt (COPYING.DOC): no longer available from
87646         /gd/gnuorg; don't know where the ultimate source is.
87647
87648 2003-10-25  Paul Eggert  <eggert@twinsun.com>
87649
87650         Fix several address-calculation bugs in the hash modules,
87651         plus some minor code cleanup.
87652
87653         * lib/hash.h: Include <stdbool.h>, for bool.
87654         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
87655         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
87656         hash_get_n_entries, hash_get_max_bucket_length,
87657         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
87658         hash_rehash): Use size_t rather than unsigned.
87659         * lib/hash.c (struct hash_table, hash_get_n_buckets,
87660         hash_get_n_buckets_used, hash_get_n_entries,
87661         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
87662         hash_get_entries, hash_do_for_each, hash_string, is_prime,
87663         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
87664         Likewise.
87665         (SIZE_MAX): Define if not defined.
87666         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
87667         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
87668         hash_print):
87669         Use const * when possible.
87670         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
87671         (check_tuning): Fix bug: if tuning parameters were very close to
87672         0 or 1, rounding errors could have caused subscript violations.
87673         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
87674         (hash_initialize): Add 'fail:' label
87675         to free table and return NULL, and use it to simplify code.
87676         Use calloc rather than clearing the storage ourself.
87677         (hash_initialize, hash_rehash): Check for arithmetic overflow in
87678         buffer size calculations.
87679         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
87680         Include <stddef.h>, for size_t.
87681         * lib/hash-pjw.c (hash_pjw): Likewise.
87682         Switch to method described by Bruno Haible.
87683         Include <limits.h>, for CHAR_BIT.
87684         (SIZE_BITS): New macro.
87685
87686 2003-10-23  Paul Eggert  <eggert@twinsun.com>
87687
87688         * m4/getline.m4 (AM_FUNC_GETLINE):
87689         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
87690         hosts.  Problem reported by Derek Robert Price in
87691         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
87692         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
87693         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
87694
87695 2003-10-21  Paul Eggert  <eggert@twinsun.com>
87696
87697         * lib/getndelim2.c (getndelim2): When size calculation overflows,
87698         ceiling the allocation at NMAX bytes rather than silently
87699         discarding input bytes before NMAX is reached.  This makes
87700         a difference only if NMAX exceeds SIZE_MAX / 2.
87701
87702         * lib/obstack.c: Merge from glibc.
87703         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
87704         Add libc_hidden_def (_obstack_newchunk).
87705         (_obstack_free) [! defined _LIBC]: Remove.
87706         [defined _LIBC]: Make a strong alias from obstack_free, rather than
87707         a clone of the function body.
87708         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
87709         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
87710
87711         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
87712         glibc.
87713         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
87714         arg to memcpy.
87715
87716         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
87717         (obstack_ptr_grow_fast, obstack_int_grow_fast):
87718         Don't use lvalue casts, as GCC plans to remove support for them
87719         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
87720         was also present in the non-GCC version, indicating that this
87721         code had always been buggy and had never been widely used.
87722         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
87723         Use the fast variant of each macro, rather than copying the
87724         definiens of the fast variant; that way, we'll be more likely to
87725         catch future bugs in the fast variants.
87726
87727 2003-10-20  Bruno Haible  <bruno@clisp.org>
87728
87729         * modules/wait-process: New file.
87730         * MODULES.html.sh (func_all_modules): Add wait-process.
87731
87732 2003-10-20  Bruno Haible  <bruno@clisp.org>
87733
87734         * m4/wait-process.m4: New file.
87735
87736 2003-10-20  Bruno Haible  <bruno@clisp.org>
87737
87738         * lib/wait-process.h: New file, from GNU gettext.
87739         * lib/wait-process.c: New file, from GNU gettext.
87740
87741 2003-10-19  Jim Meyering  <jim@meyering.net>
87742
87743         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
87744         HPUX 10.20.
87745
87746 2003-10-18  Karl Berry  <karl@gnu.org>
87747
87748         * config/config.guess: update from config.
87749
87750 2003-10-16  Paul Eggert  <eggert@twinsun.com>
87751
87752         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
87753         (getgroups): First arg is int, not size_t.
87754         Don't let 'free' mangle errno.
87755
87756 2003-10-16  Paul Eggert  <eggert@twinsun.com>
87757
87758         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
87759
87760 2003-10-16  Karl Berry  <karl@gnu.org>
87761
87762         * config/config.{guess,sub}: update from config.
87763
87764 2003-10-16  Jim Meyering  <jim@meyering.net>
87765
87766         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
87767         memcpy.
87768
87769 2003-10-15  Paul Eggert  <eggert@twinsun.com>
87770
87771         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
87772         (SIZE_MAX): Remove.
87773         (new_exclude, add_exclude_file): Initial size no longer needs to
87774         be a power of 2.
87775         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
87776         our own address arithmetic overflow checking.
87777
87778         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
87779         (fnmatch): Do not alloca more than 2000 wide characters;
87780         instead, use malloc for large buffers.
87781         Check for address arithmetic overflow, and return -1
87782         with errno set to ENOMEM in that case.
87783         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
87784         (NEW_PATTERN): Do not alloca more than 8000 bytes;
87785         instead, return -1.  Check for address arithmetic overflow.
87786
87787 2003-10-14  Paul Eggert  <eggert@twinsun.com>
87788
87789         Handle invalid suffixes and overflow independently, so that
87790         callers can treat them independently as needed.  Fix some bugs in
87791         suffix handling, e.g., "100k@" was not diagnosed as an invalid
87792         suffix for a human-readable blocksize.  The major caller-visible
87793         change is the addition of a new
87794         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
87795         that both overflow and suffix chars were found.
87796
87797         * lib/human.c (humblock): Don't check separately for invalid suffix
87798         char; that is xstrtoumax's job (now that its bug is fixed).
87799         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
87800         INTMAX_MAX]: New macros.
87801         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
87802         TYPE_MAXIMUM): New macros.
87803         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
87804         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
87805         if overflow occurs, as it's what __strtol does and it's more useful
87806         in practice.
87807         (__xstrtol): If __strtol reports some error other than ERANGE,
87808         reflect it to the caller as LONGINT_INVALID.  If it reports
87809         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
87810         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
87811         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
87812         value.
87813         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
87814         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
87815         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
87816         [defined UINTMAX_MAX]: New macros.
87817
87818 2003-10-14  Bruno Haible  <bruno@clisp.org>
87819
87820         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
87821
87822 2003-10-14  Bruno Haible  <bruno@clisp.org>
87823
87824         * m4/sig_atomic_t: New file, from GNU gettext.
87825         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
87826
87827 2003-10-14  Bruno Haible  <bruno@clisp.org>
87828
87829         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
87830         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
87831         Also use volatile where needed.
87832
87833 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87834
87835         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
87836         Change maintainer from Bruno Haible to 'all'.
87837
87838 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87839
87840         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
87841
87842 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87843
87844         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
87845         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
87846         and define in terms of the other primitives.
87847         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
87848         (SIZE_MAX): Define if not already defined.
87849         (array_size_overflow): New function.
87850         (xalloc_die): Abort instead of exiting if 'error' returns.
87851         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
87852         (xmalloc, xrealloc): Use them.
87853         (xcalloc): Check for address arithmetic overflow.
87854         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
87855         a bit faster than strcpy.
87856
87857 2003-10-10  Simon Josefsson  <jas@extundo.com>
87858
87859         * modules/argp (Depends-on): Add restrict and strcase.
87860
87861 2003-10-10  Simon Josefsson  <jas@extundo.com>
87862
87863         * m4/argp.m4: Add AC_C_INLINE.
87864
87865 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87866
87867         Merge getpass from libc, plus a few fixes.
87868
87869         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
87870         Include <stdbool.h>.
87871         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
87872         __fsetlocking to empty.
87873         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
87874         do include <bits/libc-lock.h>.
87875         Do not include <fcntl.h>; not needed.
87876         [_LIBC]: Include <wchar.h>.
87877         (NOTCANCEL_MODE): New macro.
87878         (flockfile, funlockfile) [_LIBC]: New macros.
87879         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
87880         [!_LIBC]: New macros.
87881         (call_fclose): New function.
87882         (getpass): Use it.  Save tty stream separately; this simplifies the
87883         code and makes it more reliable if stdin happens to equal stdout.
87884         Invoke __fsetlocking on tty.
87885         Handle thread cancellation if needed.
87886         Namespace cleanup (use __tcgetattr, __getline).
87887         Use bool for Booleans.
87888         [USE_IN_LIBIO]: Handle wide streams.
87889         [!_LIBC]: Unconditionally do the fseek, since we don't know what
87890         stream might go where.
87891
87892         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
87893         doesn't have to include <stdio.h> before us.
87894         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
87895         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
87896         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
87897         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
87898         if not declared, so that we can use getpass.c code from libc without
87899         rewriting it.
87900         (flockfile, ftrylockfile, funlockfile): New macros.
87901
87902 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87903
87904         * modules/getpass: Depend on stdbool.
87905
87906 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87907
87908         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
87909
87910 2003-10-07  Karl Berry  <karl@gnu.org>
87911
87912         * config/config.{guess,sub}: update from config.
87913
87914 2003-10-06  Jim Meyering  <jim@meyering.net>
87915             Bruno Haible  <bruno@clisp.org>
87916
87917         This lets translators provide better translations for the
87918         "Written by ..." part of --version output.
87919         * lib/version-etc.h: Include stdarg.h.
87920         (version_etc_copyright): Declare as readonly.
87921         (version_etc): Make this function variadic with a NULL-terminated list
87922         of author name strings.
87923         (version_etc_va): New declaration.
87924         * lib/version-etc.c: Include stdarg.h, stdlib.h.
87925         (version_etc_copyright): Declare as readonly.
87926         (version_etc_va): New function. Provide a different translatable string
87927         for each possible number of authors < 10. Abbreviate when there are 10
87928         authors or more.
87929         (version_etc): Make this function variadic. Call version_etc_va.
87930         Suggestion from Gary V. Vaughan.
87931
87932         * lib/long-options.h (parse_long_options): Change prototype: the
87933         authors string is moved to the end and becomes variadic.
87934         * lib/long-options.c: Include stdarg.h.
87935         (parse_long_options): Make this function variadic, too.
87936         Call version_etc_va, not version_etc.
87937
87938 2003-10-06  Bruno Haible  <bruno@clisp.org>
87939
87940         * modules/version-etc-2: Remove file.
87941         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
87942
87943 2003-10-06  Bruno Haible  <bruno@clisp.org>
87944
87945         * modules/fatal-signal: New file.
87946         * MODULES.html.sh (func_all_modules): Add fatal-signal.
87947
87948 2003-10-06  Bruno Haible  <bruno@clisp.org>
87949
87950         * m4/fatal-signal.m4: New file.
87951         * m4/signalblocking.m4: New file, from GNU gettext.
87952
87953 2003-10-06  Bruno Haible  <bruno@clisp.org>
87954
87955         * lib/version-etc-2.h: Remove file.
87956         * lib/version-etc-2.c: Remove file.
87957
87958 2003-10-06  Bruno Haible  <bruno@clisp.org>
87959
87960         * lib/fatal-signal.h: New file, from GNU gettext.
87961         * lib/fatal-signal.c: New file, from GNU gettext.
87962
87963 2003-10-05  Paul Eggert  <eggert@twinsun.com>
87964
87965         * README: Rework advice for preventing empty .o files.
87966         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
87967         not <sys/types.h>.
87968
87969 2003-10-04  Karl Berry  <karl@gnu.org>
87970
87971         * lib/argp*: update from libc.
87972
87973 2003-10-04  Karl Berry  <karl@gnu.org>
87974
87975         * config/config.{guess,sub}: update from config.
87976
87977 2003-10-02  Bruno Haible  <bruno@clisp.org>
87978
87979         * modules/lchown (Include): Add lchown.h.
87980         * modules/time_r (Include): Use "..." syntax.
87981         * modules/xgetdomainname (Include): Add xgetdomainname.h.
87982
87983 2003-10-01  Simon Josefsson  <jas@extundo.com>
87984
87985         * MODULES.html.sh (func_all_modules): Move gethostname from section
87986         'based on' to section 'lacking' POSIX:2001.
87987
87988 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
87989
87990         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
87991         to output mode on the same stream.
87992
87993 2003-09-29  Paul Eggert  <eggert@twinsun.com>
87994
87995         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
87996         Fix arg typo in previous patch.
87997
87998 2003-09-28  Jim Meyering  <jim@meyering.net>
87999
88000         * lib/error.c: Correct cpp indentation.
88001
88002 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88003
88004         * modules/free: New file.
88005
88006 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88007
88008         * m4/free.m4: New file.
88009
88010 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88011
88012         * lib/minmax.h (MIN, MAX)
88013         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
88014         Omit the special code that used __typeof__, since we worry that
88015         it could be more trouble than it's worth.  See:
88016         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
88017         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
88018
88019         * lib/free.c: New file.
88020
88021 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
88022
88023         Trivial fixes to Makefile.am parts of module listings.
88024         * modules/strstr: Append strstr.h to lib_SOURCES.
88025         * modules/strcase: Likewise, for strcase.h.
88026
88027 2003-09-27  Karl Berry  <karl@gnu.org>
88028
88029         * config/mkinstalldirs: update from automake.
88030
88031 2003-09-26  Paul Eggert  <eggert@twinsun.com>
88032
88033         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
88034         (error_tail): Do not loop, reallocating temporary buffer, since
88035         the output cannot contain more wide characters than the input
88036         contains bytes, the size must be big enough already.  This avoids
88037         one potential size overflow calculation.  Check for size overflow
88038         when calculating temporary buffer size.  Free temporary buffer
88039         when done, if it was allocated with malloc; this plugs a memory
88040         leak.  Remove casts from void * to pointers, that are no longer
88041         needed now that we're assuming C89 or better.
88042
88043         Merge error changes from glibc.
88044
88045         * lib/error.c, error.h: Update copyright notice header to match glibc.
88046         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
88047         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
88048         Disable cancellation while printing error.
88049         * lib/error.h: Prepend __ to parameter names.
88050
88051 2003-09-26  Jim Meyering  <jim@meyering.net>
88052
88053         * lib/error.c (error_tail): Move some declarations
88054         into inner scope where the local variables are used.
88055
88056 2003-09-26  Bruno Haible  <bruno@clisp.org>
88057
88058         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
88059         stpncpy().
88060         Don't define stpncpy through config.h; it's now done through stpncpy.h.
88061
88062 2003-09-26  Bruno Haible  <bruno@clisp.org>
88063
88064         * lib/stpncpy.h (gnu_stpncpy): New declaration.
88065         (stpncpy): Define as alias for gnu_stpncpy.
88066         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
88067
88068 2003-09-25  Simon Josefsson  <jas@extundo.com>
88069
88070         * lib/xgetdomainname.h: New file.
88071         * lib/xgetdomainname.c: New file.
88072
88073 2003-09-25  Simon Josefsson  <jas@extundo.com>
88074             Bruno Haible  <bruno@clisp.org>
88075
88076         * modules/getdomainname: New file.
88077         * modules/xgetdomainname: New file.
88078         * MODULES.html.sh (func_all_modules): Add getdomainname,
88079         xgetdomainname.
88080
88081 2003-09-25  Simon Josefsson  <jas@extundo.com>
88082             Bruno Haible  <bruno@clisp.org>
88083
88084         * m4/getdomainname.m4: New file.
88085
88086 2003-09-25  Simon Josefsson  <jas@extundo.com>
88087             Bruno Haible  <bruno@clisp.org>
88088
88089         * lib/getdomainname.h: New file.
88090         * lib/getdomainname.c: New file.
88091
88092 2003-09-25  Karl Berry  <karl@gnu.org>
88093
88094         * lib/argp-fmtstream.c, argp-help.c: update from libc.
88095
88096 2003-09-25  Karl Berry  <karl@gnu.org>
88097
88098         * config/install-sh: update from automake.
88099
88100 2003-09-25  Bruno Haible  <bruno@clisp.org>
88101
88102         * modules/version-etc-2: New file, from modules/version-etc with
88103         modifications.
88104         * MODULES.html.sh (func_all_modules): Add version-etc-2.
88105
88106 2003-09-25  Bruno Haible  <bruno@clisp.org>
88107
88108         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
88109         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
88110
88111 2003-09-24  Simon Josefsson  <jas@extundo.com>
88112
88113         * modules/xgethostname: Add xgethostname.h.
88114
88115 2003-09-24  Paul Eggert  <eggert@twinsun.com>
88116
88117         * lib/linebuffer.c (freebuffer): Don't free the argument, just
88118         the buffer associated with the argument.  Bug reported by
88119         Simon Josefsson.
88120
88121 2003-09-24  Paul Eggert  <eggert@twinsun.com>
88122
88123         * README: Document assumptions that 'int' is at least 32 bits
88124         wide, that integer arithmetic is 2's complement without overflow,
88125         that there are no holes in integer values, that adding sizes of
88126         two nonoverlapping objects can't overflow, and that all-bits-zero
88127         yields scalar zero.  Fix spelling and capitalization typos.
88128
88129 2003-09-19  Karl Berry  <karl@gnu.org>
88130
88131         * lib/argp.h: update from libc.
88132
88133 2003-09-17  Paul Eggert  <eggert@twinsun.com>
88134
88135         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
88136         to avoid spurious warnings like "AC_RUN_IFELSE was called before
88137         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
88138
88139 2003-09-17  Paul Eggert  <eggert@twinsun.com>
88140
88141         * gnulib-tool: Use "test -h", not "test -L", for portability
88142         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
88143         (tags_regexp): Remove, since \| doesn't conform to POSIX.
88144         (sed_extract_prog): Issue s commands one-by-one, rather than
88145         using \| in one s command.
88146
88147 2003-09-16  Paul Eggert  <eggert@twinsun.com>
88148
88149         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
88150         input error, instead of returning NULL the next time we are called
88151         (and therefore losing track of errno).
88152
88153 2003-09-16  Bruno Haible  <bruno@clisp.org>
88154
88155         * gnulib-tool (func_create_testdir): Warn about duplicated
88156         dependencies.
88157
88158 2003-09-15  Paul Eggert  <eggert@twinsun.com>
88159
88160         * modules/argmatch, modules/fatal, modules/obstack,
88161         modules/xalloc, modules/xgethostname: Sort dependencies by
88162         importance, not alphabetically.
88163
88164 2003-09-15  Paul Eggert  <eggert@twinsun.com>
88165
88166         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
88167         fails, so that the caller gets the proper errno.
88168
88169         * lib/readutmp.c (read_utmp): Likewise.
88170         Check for fstat error.  Close stream and free storage
88171         when failing.
88172
88173 2003-09-14  Karl Berry  <karl@gnu.org>
88174
88175         * config/srclist.txt (strdup.c): disable for c89 changes.
88176
88177 2003-09-14  Jim Meyering  <jim@meyering.net>
88178
88179         * lib/getloadavg.c: Correct cpp indentation.
88180         * lib/strdup.c: Likewise.
88181         * lib/vasnprintf.c: Likewise.
88182
88183 2003-09-14  Bruno Haible  <bruno@clisp.org>
88184
88185         * modules/fwriteerror: New file.
88186         * MODULES.html.sh (func_all_modules): Add fwriteerror.
88187
88188 2003-09-14  Bruno Haible  <bruno@clisp.org>
88189
88190         * lib/fwriteerror.h: New file.
88191         * lib/fwriteerror.c: New file.
88192
88193 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88194
88195         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
88196         modules/xgethostname, modules/xalloc: Depend on exit.
88197
88198 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88199
88200         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
88201
88202         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
88203         and AC_MINIX, too, so that their extensions are available.
88204
88205         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
88206         This macro has been superseded by gl_BACKUPFILE.
88207
88208         More patches to assume C89 or better.
88209
88210         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
88211
88212         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
88213         unconditionally.
88214         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
88215         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
88216         Include <string.h>, <stdlib.h> unconditionally.
88217         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
88218         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
88219         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
88220         headers or for string.h.
88221         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
88222         or strtoul.
88223
88224         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
88225         headers.
88226         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
88227         * m4/userspec.m4 (gl_USERSPEC): Likewise.
88228         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
88229         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
88230         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88231         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
88232         memcpy, memset.
88233         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
88234         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
88235         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
88236         strtol.
88237         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
88238         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
88239         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
88240         strtoul.
88241
88242 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88243
88244         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
88245         * lib/obstack.c [!defined _LIBC]: Likewise.
88246         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
88247         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
88248         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
88249
88250         More changes to assume C89 or better.
88251
88252         * lib/error.c (error_tail): Assume vprintf.
88253
88254         * lib/argmatch.c (getenv): Remove decl.
88255         * lib/progreloc.c (get_full_program_name): Define via prototype.
88256         * lib/setenv.c (clearenv): Likewise.
88257         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
88258         needed.
88259         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
88260         (malloc, memcpy): Remove decls.
88261         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
88262         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
88263         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
88264         (memcpy): Remove macro.
88265         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
88266         (__P): Remove.  All uses removed.
88267         (PTR): Remove.  All uses changed to void *.
88268         (CHAR_BIT, NULL): Remove.
88269         (spaces, zeros, memset_space, memset_zero)
88270         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
88271         Remove.
88272         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
88273         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
88274         Define with prototype.
88275         Remove now-unnecessary prototype decl.
88276         (extra_args_spec): Assume ANSI C.  All uses changed.
88277         (extra_args_spec_iso): Remove.
88278         (my_strftime, emacs_strftimeu): Define via prototype.
88279         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
88280         unconditionally.
88281         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
88282         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
88283         (strtoul, strtol): Remove decls.
88284         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
88285         LONG_MAX): Remove.
88286         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
88287         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
88288         (LOCALE_PARAM_PROTO): New macro.
88289         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
88290         (INTERNAL (strtol), strtol): Define with a prototype.
88291         (PARAMS): Remove.  All uses removed.
88292         * lib/tempname.c: Include <string.h> unconditionally.
88293         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
88294         * lib/xgethostname.c (main): Define with a prototype.
88295         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
88296         Include <stdlib.h> unconditionally.
88297         (calloc, malloc, realloc, free): Remove decls.
88298         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
88299         Include <stdlib.h> unconditionally.  Sort include file names.
88300         (strtod): Remove.
88301         (xstrtod): Define with a prototype.
88302         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
88303         (strtol, strtoul): Remove decls.
88304
88305 2003-09-11  Paul Eggert  <eggert@twinsun.com>
88306
88307         More patches to assume C89 or better.
88308         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
88309         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
88310         string.h, memchr, STDC_HEADERS.
88311
88312 2003-09-11  Paul Eggert  <eggert@twinsun.com>
88313
88314         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
88315         Include <stdlib.h>, <string.h> unconditionally.
88316         Remove now-unnecessary cast to char *.
88317         * lib/strnlen.c: Include <string.h> unconditionally.
88318         * lib/yesno.c (yesno): Define with a prototype.
88319
88320 2003-09-11  Bruno Haible  <bruno@clisp.org>
88321
88322         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
88323
88324 2003-09-10  Jim Meyering  <jim@meyering.net>
88325
88326         * lib/error.c: Correct indentation of cpp directives.
88327
88328 2003-09-10  Bruno Haible  <bruno@clisp.org>
88329
88330         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
88331         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
88332         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
88333         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
88334         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
88335         <stdlib.h> and <string.h> checks.
88336         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
88337         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
88338
88339 2003-09-10  Bruno Haible  <bruno@clisp.org>
88340
88341         * lib/strcspn.c: Include <string.h> unconditionally.
88342         * lib/strpbrk.c: Include <string.h> unconditionally.
88343         * lib/strstr.c: Include <string.h> unconditionally.
88344         * lib/unicodeio.c: Include <string.h> unconditionally.
88345         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
88346         * lib/unsetenv.c: Likewise.
88347         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
88348         * lib/yesno.c: Include <stdlib.h> unconditionally.
88349         (rpmatch): Add prototype.
88350
88351 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88352
88353         More patches to assume C89 or better.
88354         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
88355         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
88356         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
88357         or for string.h.
88358         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
88359         stdlib.h.
88360         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
88361         C headers.
88362         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
88363         string.h.
88364         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
88365         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
88366         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
88367         or for string.h.
88368         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
88369         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
88370         C headers.
88371         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
88372         memcpy.
88373         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
88374         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
88375         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
88376         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
88377         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
88378         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
88379         string.h, free.
88380         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
88381         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
88382         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
88383         C headers, or for string.h.
88384         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
88385         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
88386         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
88387         headers, memory.h, stdlib.h, string.h, strings.h.
88388         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
88389         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
88390         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
88391         strchr.
88392         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
88393         headers, memory.h, string.h.
88394         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
88395         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
88396         free.
88397         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
88398         headers.
88399         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
88400         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
88401         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
88402         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
88403         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
88404
88405 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88406
88407         More K&R removal.
88408
88409         * lib/acosl.c (main): Use a prototype.
88410         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
88411         tanl.c: Likewise.
88412
88413         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
88414
88415         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
88416         (getopt, etopt_long, getopt_long_only, _getopt_internal)
88417         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
88418         with a prototype.
88419         * lib/getopt.c (const): Remove macro.
88420         Include <string.h> unconditionally.
88421         (my_index): Remove; all uses changed to strchr.
88422         (strlen): Remove decl.
88423         (exchange): Remove forward decl; no longer needed.
88424         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
88425         Define with prototype.
88426         * lib/getopt1.c (const): Remove macro.
88427         (getopt_long, getopt_long_only, main): Define with prototype.
88428
88429         * lib/getugroups.c: Include <string.h> unconditionally.
88430
88431         * lib/getusershell.c: Include <stdlib.h> unconditionally.
88432         (getusershell, setusershell, endusershell, readname, main):
88433         Define with prototypes.
88434
88435         * lib/group-member.c: Include group-member.h first.
88436         Include <stdlib.h> unconditionally.
88437
88438         * lib/hard-locale.c: Include hard-locale.h first.
88439         Include <stdlib.h>, <string.h> unconditionally.
88440
88441         * lib/hash.c (free, malloc): Remove decls.
88442         Include <stdlib.h> unconditionally.
88443
88444         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
88445         (getenv): Do not declare.
88446
88447         * lib/idcache.c: Include <string.h> unconditionally.
88448
88449         * lib/long-options.c: Include long-options.h first, to test interface.
88450         Include <stdlib.h> unconditionally.
88451
88452         * lib/makepath.c: Include makepath.h first, to test interface.
88453         Include <stdlib.h> and <string.h> unconditionally.
88454
88455         * lib/linebuffer.c: Include <stdlib.h>.
88456         (free): Remove decl.
88457
88458         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
88459         stddef.h. rpl_malloc returns void *, not char *.
88460         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
88461         prototype.
88462
88463         * lib/md5.h: Include <limits.h> unconditionally.
88464         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
88465         (__P): Remove; all uses removed.
88466         * lib/md5.c: Include "md5.h" first.
88467         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
88468         md5_buffer, md5_process_bytes, md5_process_block):
88469         Define with prototypes.
88470         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
88471         * lib/sha.c: Include "sha.h" first.
88472         Include <stdlib.h>, <string.h> unconditionally.
88473
88474         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
88475         * lib/memcmp.c (__ptr_t): Likewise.
88476         * lib/memrchr.c (__ptr_t): Likewise.
88477         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
88478         Include <string.h> unconditionally.
88479         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
88480         * lib/memchr.c: Include <stdlib.h> unconditionally.
88481         * lib/memchr.c (LONG_MAX): Remove.
88482         * lib/memrchr.c (LONG_MAX): Likewise.
88483         * lib/memchr.c (__memchr): Define via a prototype.
88484         * lib/memrchr.c (__memrchr): Likewise.
88485         * lib/memcmp.c (__P): Remove, and remove all uses.
88486         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
88487         Remove forward decls; no longer needed.
88488         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
88489         Use types required by C89 in prototype.
88490
88491         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
88492         * lib/savedir.c: Likewise.
88493         * lib/mkdir.c (free): Remove decl.
88494         * lib/rmdir.c (rmdir): Define with a prototype.
88495         * lib/savedir.c: Include savedir.h first, to test interface.
88496
88497         * lib/mktime.c (STDC_HEADERS): Remove.
88498         Include <stdlib.h>, <string.h> unconditionally.
88499
88500         * lib/modechange.c: Include <stdlib.h> unconditionally.
88501         (malloc): Remove decl.
88502
88503         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
88504         (free): Remove decl.
88505
88506         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
88507         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
88508         (This type really should be intptr_t, but that's a C99ism.)
88509         (_obstack_memcpy): Remove: all uses changed to memcpy.
88510         Include <string.h> unconditionally.
88511         (struct obstack): Assume __STDC__ for types of members
88512         chunkfun, freefun, extra_arg.
88513         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
88514         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
88515         obstack_begin, obstack_specify_allocation,
88516         obstack_specify_allocation_with_arg, obstack_chunkfun,
88517         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
88518         Remove unprototyped decls and the macros that use them.
88519         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
88520         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
88521         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
88522         (defined __STDC__ && __STDC__)]:
88523         Remove nonprototyped code.
88524         Include <stdlib.h> unconditionally.
88525         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
88526         _obstack_allocated_p, _obstack_free, obstack_free,
88527         _obstack_memory_used, print_and_abort):
88528         Define using prototypes.
88529         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
88530         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
88531         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
88532         obstack_next_free, obstack_object_size, obstack_room) [0]:
88533         Remove unused, unprototyped code.
88534
88535         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
88536
88537         * lib/physmem.c (physmem_total, physmem_available, main): Define
88538         with prototypes.
88539
88540         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
88541         (main): Define with a prototype.
88542
88543         * lib/posixver.c (getenv): Remove decl.
88544
88545         * lib/putenv.c (malloc): Returns void *, not char *.
88546         Include <string.h> unconditionally.
88547         (strchr, memcpy, NULL): Do not define.
88548
88549         * lib/readtokens.c: Include readtokens.h first, to test interface.
88550         Include <stdlib.h>, <string.h> unconditionally.
88551         (init_tokenbuffer): Define with a prototype.
88552
88553         * lib/regex.c (PARAMS): Remove.  All uses removed.
88554         All uses of _RE_ARGS removed, too.
88555         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88556         unconditionally.
88557         (bzero): Assume memset exists.
88558         (memcmp, memcpy, NULL): Remove.
88559         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
88560         char, or assignments to local vars of type signed char.
88561         (init_syntax_once, PREFIX(extract_number_and_incr),
88562         PREFIX(print_partial_compiled_pattern),
88563         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
88564         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
88565         PREFIX(regex_grow_registers), PREFIX(regex_compile),
88566         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
88567         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
88568         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
88569         wcs_compile_range, byte_compile_range, truncate_wchar,
88570         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
88571         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
88572         count_mbs_length, wcs_re_match_2_internal,
88573         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
88574         PREFIX(alt_match_null_string_p),
88575         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
88576         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
88577         regfree, PREFIX(extract_number)): Define with prototype.  Remove
88578         now-unnecessary declaration, if any.
88579         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
88580         regcomp, regexec):
88581         Remove now-unnecessary casts among pointer types.
88582         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
88583
88584         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
88585         (free): Remove decl.
88586
88587         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
88588
88589         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
88590         (free): Remove decl.
88591
88592         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
88593         * lib/xgetcwd.c: Likewise.
88594
88595         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
88596         (free): Remove decl.
88597
88598         * lib/strchrnul.c (strchrnul): Define with a prototype.
88599         Fix bug: c_in was not converted to char before searching.
88600
88601         The following changes are not K&R related:
88602
88603         * lib/group-member.h: Include <sys/types.h>, so that this file is
88604         self-contained.
88605         * lib/makepath.h: Likewise.
88606
88607         * lib/getusershell.c (readname, default_index, line_size, readname):
88608         Use size_t, not int, for sizes.
88609         (readname): If the size overflows, report an error instead of
88610         looping forever.
88611
88612 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88613
88614         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
88615         libc.
88616
88617 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88618
88619         * README: New section: portability guidelines.
88620
88621 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88622
88623         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
88624         C89 spec.
88625
88626 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88627
88628         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
88629
88630 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88631
88632         Assume C89 or better; remove K&R cruft.
88633         A few of these changes were first proposed by Derek Robert Price
88634         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
88635
88636         * lib/addext.c: Include <string.h> unconditionally.
88637         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
88638         Don't declare getenv or malloc.
88639
88640         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
88641         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
88642         (NULL): Remove.
88643         (find_stack_direction, alloca): Use prototypes.
88644
88645         * lib/atexit.c (atexit): Define using a prototype.
88646
88647         * lib/basename.c, dirname.c, stripslash.c:
88648         Include <string.h> unconditionally.
88649
88650         * lib/bcopy.c: Include <stddef.h>.
88651         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
88652
88653         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
88654
88655         * lib/error.h (error, error_at_line, error_print_progname)
88656         [! (defined (__STDC__) && __STDC__)]: Remove decls.
88657         * lib/error.c: Include error.h first, to check interface.
88658         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88659         (VA_START): Remove; all uses changeed to va_start.
88660         (exit, strerror): Remove decls.
88661         (error_print_progname): Prototype uncondionally.
88662         Don't include <errno.h>; no longer needed.
88663         (private_strerror): Remove.
88664         (error_tail): Always define.
88665         (error, error_at_line): Assume C89 or better; always use prototypes.
88666         * lib/fatal.c: Include "fatal.h" first, to test interface.
88667         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88668         (VA_START): Remove; all uses changed to va_start.
88669         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
88670         this case.
88671         (exit): Remove decl.
88672         (fatal): Prototype unconditionally.  Assume va_start works.
88673         Abort at end, to pacify gcc.
88674
88675         * lib/euidaccess.c (main): Define with a prototype.
88676
88677         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
88678
88679         * lib/exitfail.c: Include <stdlib.h> unconditionally.
88680
88681         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
88682         prototypes.
88683         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
88684         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
88685         (getenv): Remove decl.
88686         (fnmatch): Define using a prototype.
88687         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
88688         (FCT): Define using a prototype.
88689
88690         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
88691
88692         * lib/gethostname.c: Include <stddef.h>.
88693         (gethostname): Define with prototype.  Length is size_t, not int.
88694
88695 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88696
88697         Assume C89 or better; remove K&R cruft.
88698         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
88699         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
88700         string.h, getenv, malloc.
88701         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
88702         headers.
88703         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
88704         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
88705         do not check for strerror.
88706         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
88707         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
88708         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
88709         do not check for doprnt or vprintf.
88710         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
88711         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
88712
88713 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88714
88715         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
88716         getversion.c should have been removed then, but was accidentally
88717         preserved.
88718
88719         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
88720         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
88721
88722 2003-09-08  Karl Berry  <karl@gnu.org>
88723
88724         * config/config.sub, config.guess, srclistvars.sh: update from savannah
88725                 config, forget about prep.
88726
88727         * config/depcomp, missing: update from automake.
88728
88729 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88730
88731         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
88732         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88733
88734 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88735
88736         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
88737         copy_tm_result.  Bug reported by Simon Josefsson in
88738         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88739
88740 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88741
88742         * m4/time_r.m4: New file.
88743         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
88744         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
88745         is. Check for timegm declaration.
88746         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
88747         Do not check for gmtime_r.
88748         Replace mktime if __mktime_internal does not exist and if mktime
88749         hasn't been replaced already.
88750
88751 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88752
88753         * lib/time_r.c, lib/time_r.h: New files.
88754
88755         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
88756         __localtime_r.
88757         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
88758         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
88759
88760         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
88761         __gmtime_r.
88762         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
88763         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
88764         Include <time_r.h>.
88765
88766         * lib/timegm.c: Switch to glibc implementation, with the following
88767         changes:
88768         [defined HAVE_CONFIG_H]: Include <config.h>.
88769         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
88770         (__mktime_internal) [!defined _LIBC]: New decl.
88771         (__gmtime_r) [!defined _LIBC]: New macro and function.
88772         (timegm): Use a prototype, since gnulib assumes C89.
88773         Do not bother declaring tmp to be const, as it's not really usefu.
88774         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
88775         (timegm): Declare only if HAVE_DECL_TIMEGM.
88776
88777 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88778
88779         * MODULES.html.sh (func_all_modules): Add time_r.
88780         * modules/time_r: New file.
88781         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
88782         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
88783
88784 2003-09-03  Paul Eggert  <eggert@twinsun.com>
88785
88786         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
88787         Bug reported by Lute Kamstra in
88788         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
88789
88790         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
88791         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
88792         course with correspondingly smaller numbers for tomorrow and
88793         yesterday.  From Tadayoshi Funaba.  Originally installed into
88794         sh-utils on 1999-08-07, but the patch got lost (I guess during the
88795         coreutils merge?).
88796
88797 2003-08-31  Simon Josefsson  <jas@extundo.com>
88798
88799         * modules/timegm: New file.
88800         * MODULES.html.sh (func_all_modules): Add timegm.
88801
88802 2003-08-31  Simon Josefsson  <jas@extundo.com>
88803
88804         * m4/timegm.m4: New file.
88805
88806 2003-08-31  Simon Josefsson  <jas@extundo.com>
88807
88808         * lib/timegm.h: New file.
88809         * lib/timegm.c: New file.  Based on
88810         wget-1.8.2/src/http.c:mktime_from_utc.
88811
88812 2003-08-31  Karl Berry  <karl@gnu.org>
88813
88814         * lib/argp.h: update from libc.
88815
88816 2003-08-28  Bruno Haible  <bruno@clisp.org>
88817
88818         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
88819         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
88820         followed by '#define fnmatch fnmatch_posix' gives an error.
88821
88822 2003-08-28  Bruno Haible  <bruno@clisp.org>
88823
88824         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
88825         warning on QNX, which defines O_BINARY to 000000.
88826
88827 2003-08-27  Jim Meyering  <jim@meyering.net>
88828
88829         * m4/mkstemp.m4: Require that the system mkstemp be able to create
88830         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
88831         would fail after 32.  Reported by Danny Levinson.  Details here:
88832         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
88833
88834 2003-08-24  Bruno Haible  <bruno@clisp.org>
88835
88836         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
88837         MSVC7 <stdio.h> is included later.
88838
88839 2003-08-22  Simon Josefsson  <jas@extundo.com>
88840
88841         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
88842
88843 2003-08-20  Karl Berry  <karl@gnu.org>
88844
88845         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
88846
88847 2003-08-20  Bruno Haible  <bruno@clisp.org>
88848
88849         * modules/progname: New file.
88850         * MODULES.html.sh (func_all_modules): Add progname.
88851
88852 2003-08-20  Bruno Haible  <bruno@clisp.org>
88853
88854         * lib/progname.h: New file, from GNU gettext.
88855         * lib/progname.c: New file, from GNU gettext.
88856         * lib/progreloc.c: New file, from GNU gettext.
88857
88858 2003-08-19  Jim Meyering  <jim@meyering.net>
88859
88860         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
88861         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
88862
88863 2003-08-19  Bruno Haible  <bruno@clisp.org>
88864
88865         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
88866         more.
88867
88868 2003-08-19  Bruno Haible  <bruno@clisp.org>
88869
88870         * lib/xstrdup.c: Assume <string.h> exists.
88871
88872 2003-08-18  Paul Eggert  <eggert@twinsun.com>
88873
88874         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
88875         in makefile rules.
88876
88877 2003-08-18  Jim Meyering  <jim@meyering.net>
88878
88879         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
88880         * m4/lib-ld.m4: Likewise.
88881
88882 2003-08-18  Jim Meyering  <jim@meyering.net>
88883
88884         * lib/setenv.h: Indent nested cpp directive.
88885         * lib/vasnprintf.c: Remove trailing blanks.
88886
88887 2003-08-17  Simon Josefsson  <jas@extundo.com>
88888
88889         * modules/xstrndup: New file.
88890         * MODULES.html.sh (func_all_modules): Add xstrndup.
88891
88892 2003-08-17  Simon Josefsson  <jas@extundo.com>
88893
88894         * modules/argp: Fix autoconf macro name. Add more dependencies.
88895
88896 2003-08-17  Simon Josefsson  <jas@extundo.com>
88897
88898         * m4/xstrndup.m4: New file.
88899
88900 2003-08-17  Simon Josefsson  <jas@extundo.com>
88901
88902         * m4/argp.m4: New file.
88903
88904 2003-08-17  Simon Josefsson  <jas@extundo.com>
88905             Bruno Haible  <bruno@clisp.org>
88906
88907         * lib/xstrndup.h: New file.
88908         * lib/xstrndup.c: New file.
88909
88910 2003-08-17  Bruno Haible  <bruno@clisp.org>
88911
88912         * modules/strndup (Files, Include): Add lib/strndup.h.
88913
88914 2003-08-17  Bruno Haible  <bruno@clisp.org>
88915
88916         * modules/euidaccess (Files): Add lib/euidaccess.h.
88917
88918 2003-08-17  Bruno Haible  <bruno@clisp.org>
88919
88920         * lib/strndup.h: New file.
88921
88922 2003-08-17  Bruno Haible  <bruno@clisp.org>
88923
88924         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
88925         like AC_GNU_SOURCE.
88926         * modules/extensions (configure.ac): Comment out the invocation of
88927         gl_USE_SYSTEM_EXTENSIONS.
88928
88929 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88930
88931         Merges from coreutils, etc.
88932         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
88933         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
88934         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
88935         fixing a typo.
88936         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
88937         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
88938
88939 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88940
88941         Document merge from coreutils.
88942         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
88943         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
88944         * modules/utime: Add m4/utimes-null.m4.
88945
88946 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88947
88948         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
88949         space, undoing this 2003-08-12 change:
88950         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
88951
88952 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88953
88954         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
88955         strtoul.c from libc, undoing this 2003-08-12 change:
88956         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
88957
88958 2003-08-16  Jim Meyering  <jim@meyering.net>
88959
88960         Merges from coreutils.
88961         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
88962         prefix.  Adjust cache variables similarly.  Create 500 rather than
88963         just 300 files, to exercise bug on Darwin6.5, too.
88964         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
88965         $missing_dir.
88966         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
88967         AM_SYS_POSIX_TERMIOS.
88968         Reported by mkc@mathdogs.com.
88969         Also change use of $am_cv_sys_posix_termios
88970         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
88971         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
88972         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
88973         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
88974         in /proc/mounts until it finds one with matching device number.  This
88975         is unnecessary when the FILE argument *is* a mount point.  No stat call
88976         is necessary in that case.  So, disable the statvfs-testing code on
88977         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
88978         as RedHat bug# 84846.
88979         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
88980         to 1MB, so as not to render systems with no stack size limit (e.g.,
88981         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
88982         Include <unistd.h>.  On some systems,
88983         it is required for the definition of _SC_PAGESIZE.
88984
88985 2003-08-16  Jim Meyering  <jim@meyering.net>
88986
88987         Merge from coreutils.
88988         * lib/xstrtoimax.c: #else #if -> #elif.
88989         * lib/xstrtoumax.c: Likewise.
88990
88991 2003-08-16  Jim Meyering  <jim@meyering.net>
88992
88993         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
88994         * m4/utimes.m4: Removed.
88995         * m4/utimes-null.m4: Renamed from utimes.m4.
88996
88997         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
88998         to 1MB, so as not to render systems with no stack size limit (e.g.,
88999         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
89000         Include <unistd.h>.  On some systems,
89001         it is required for the definition of _SC_PAGESIZE.
89002
89003 2003-08-16  Jim Meyering  <jim@meyering.net>
89004         and Paul Eggert  <eggert@cs.ucla.edu>
89005
89006         Merges from coreutils, etc.
89007
89008         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
89009         using the latest version from cvs.  This avoids problems with #line
89010         directives using a vendor (Sun) compiler.
89011         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
89012         Don't set GETGROUPS_LIB here; now it's
89013         done via getgroups.m4's wrapper function.
89014         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
89015         rather than just in sh-util/configure.in, so that the
89016         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
89017         same.
89018         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
89019         AC_FUNC_GETLOADAVG where to find getloadavg.c.
89020         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
89021         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
89022         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
89023         Remove code that is now done by the newly-required macros.
89024         Append $(EXEEXT) to DF_PROG.
89025         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
89026         Do not invoke or require the following here,
89027         since prereq.m4 or some gnulib .m4 now does this for us:
89028         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
89029         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
89030         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
89031         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
89032         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
89033         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
89034         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
89035         AC_FUNC_OBSTACK.
89036         Do not replace the following functions, as this is now the job
89037         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
89038         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
89039         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
89040         atexit getpass, strdup, getpagesize.
89041         Replace 'raise'.
89042         Do not check for the following functions, as this is now the job
89043         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
89044         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
89045         setregid.
89046         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
89047         Check for sys/sysctl.h.
89048         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
89049         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
89050         of checking for ssize_t ourselves.
89051
89052         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
89053         Require every macro that gnulib/modules/* suggests for us.
89054         (jm_PREREQ_ADDEXT): New macro.
89055         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
89056         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
89057
89058         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
89059         (gl_PHYSMEM): Use it.
89060         Also check for `table' function.
89061         Check for new headers and functions.
89062         Add check for sys/sysmp.h.
89063         With suggestions from Kaveh Ghazi.
89064         Ignore headers that are present but cannot be compiled.  This
89065         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
89066         C 5.4.
89067
89068 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89069
89070         Document merge from coreutils.
89071         * modules/userspec: Depend on posixver.
89072         * modules/strftime: Depend on tzset.
89073
89074 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89075
89076         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
89077         rather than tab, after '#' in shell-script copyright notices.
89078         Suggested by Bruno Haible.
89079
89080 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89081
89082         * config/srclist-update: Use three spaces, rather than tab, after '#'
89083         in shell-script copyright notices.  Suggested by Bruno Haible.
89084         Remove unnecessary parenthesization in regular expression.
89085
89086 2003-08-15  Jim Meyering  <jim@meyering.net>
89087
89088         Merge from coreutils.
89089         * lib/xgethostname.c: Include <stdlib.h>.
89090         (xghostname): Don't exit for anything other than memory-related
89091         failure; just return NULL.
89092         * lib/userspec.c: Include "posixver.h".
89093         (parse_user_spec): Accept `.' as a separator only
89094         in pre-POSIX-200112 mode.
89095         * lib/strtoimax.c: Use #elif rather than #else #if.
89096         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
89097         Remove function, now that we can rely on a working tzset function.
89098         [!_LIBC]: Ensure that the required autoconf test has been run.
89099         [!defined _NL_CURRENT && HAVE_STRFTIME]:
89100         Use underlying_strftime for %r.
89101         * lib/sha.c: Merge in some clean-up and optimization changes from
89102         glibc.
89103         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
89104         Ensure that it is a multiple of 64.
89105         Rearrange loop exit tests so as to avoid performing an
89106         additional fread after encountering an error or EOF.
89107         * lib/realloc.c: Update copyright date.
89108
89109 2003-08-15  Jim Meyering  <jim@meyering.net>
89110         and Paul Eggert  <eggert@twinsun.com>
89111
89112         Merge from coreutils.
89113         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
89114         member but strut utmpx does not.  Needed for AIX 4.3.3.
89115         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
89116
89117 2003-08-15  Jim Meyering  <jim@meyering.net>
89118         and Paul Eggert  <eggert@cs.ucla.edu>
89119
89120         Merges from coreutils, etc.
89121         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
89122         Require gl_FUNC_TZSET_CLOBBER.
89123         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
89124         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
89125         members.
89126
89127 2003-08-14  Paul Eggert  <eggert@twinsun.com>
89128
89129         Help the merge from coreutils.
89130         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
89131         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
89132         * m4/tzset.m4: Use it too.
89133
89134 2003-08-14  Paul Eggert  <eggert@twinsun.com>
89135
89136         * modules/tzset: New file.
89137
89138 2003-08-14  Jim Meyering  <jim@meyering.net>
89139
89140         Merges from coreutils.
89141         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
89142         variable names, rather than @FNMATCH_H@.
89143         * modules/alloca: Likewise for $(ALLOCA_H).
89144
89145         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
89146         the three copies of the literal target, `fnmatch.h'.
89147         * modules/alloca (alloca.h): Likewise.
89148
89149 2003-08-14  Jim Meyering  <jim@meyering.net>
89150
89151         Merge from coreutils.
89152         * m4/tzset.m4: New file.
89153         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
89154         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
89155         otherwise, AIX 5.1 systems would end up using the latter.
89156         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
89157         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
89158         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
89159         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
89160
89161 2003-08-14  Jim Meyering  <jim@meyering.net>
89162
89163         Merge from coreutils.
89164         * lib/obstack.h: Whitespace changes.
89165         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
89166         and xcalloc return values.
89167         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
89168         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
89169         hang on OSF/1 5.1 for DIR on both local and remote file systems.
89170         Reported by (and fix confirmed by) Nelson H. F. Beebe.
89171         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
89172         error from mntctl.
89173         Use mntctl's return value to drive the entry-processing loop, since
89174         we can't rely on the value of the vmt_length member in the last
89175         entry.  On some systems doing so could result in exhausting
89176         virtual memory.  Based in part on a patch from Mike Jetzer.
89177
89178 2003-08-14  Jim Meyering  <jim@meyering.net>
89179         and Paul Eggert  <eggert@twinsun.com>
89180
89181         Merges from coreutils, plus other fixes.
89182         * lib/physmem.c: Merge in portability changes from gcc/libiberty
89183         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
89184         for credits and details.  Thanks to Kaveh Ghazi for helping
89185         to keep these files in sync.
89186         (ARRAY_SIZE): Define it.
89187         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
89188         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
89189         (memcasecmp): Don't assume size_t fits in unsigned int.
89190         Remove casts and duplicate code.
89191         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
89192         (memcpy): Remove definition.
89193         Merge in some clean-up and optimization changes from glibc.
89194         [BLOCKSIZE]: Move definition to top of file.
89195         Ensure that it is a multiple of 64.
89196         Rearrange loop exit tests so as to avoid performing an
89197         additional fread after encountering an error or EOF.
89198         * lib/md5.h (md5_uintptr): Define.
89199         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
89200         return to the initial working directory.  Preserve errno
89201         for caller.
89202         * lib/idcache.c: Include "xalloc.h".
89203         (xmalloc, xrealloc): Remove decls.
89204         (getuser): Remove casts no longer required in C89.
89205         * lib/human.c: Include stdio.h, for sprintf.
89206         * lib/group-member.c: Include "xalloc.h".
89207         (xmalloc, xrealloc): Remove decls.
89208         (get_group_info): Remove casts no longer required in C89.
89209         * lib/getusershell.c (readname): Remove casts no longer required in
89210         C89.
89211         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
89212         * lib/getline.c: Whitespace fix, from coreutils.
89213
89214 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89215
89216         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
89217         Check for isascii.
89218
89219         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
89220         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
89221         Undo previous (whitespace-only) change.
89222
89223 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89224
89225         * lib/exclude.c: Include <ctype.h>
89226         (IN_CTYPE_DOMAIN): New macro.
89227         (is_space): New fn.
89228         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
89229         and empty lines.
89230
89231         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
89232         Undo previous (whitespace-only) change.
89233
89234 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89235
89236         * config/srclist-update: Change update back to the old behavior,
89237         leaving whitespace alone.  Use one 'sed' command rather than a
89238         pipeline.
89239         (fixlicense): Now a variable, not a function.
89240         (remove_trailing_blanks): Remove.
89241         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
89242         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
89243         Undo previous (whitespace-only) change.
89244
89245 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89246
89247         Merge from coreutils.
89248         * modules/euidaccess: Add lib_SOURCES, include for new
89249         file euidaccess.h
89250
89251 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89252
89253         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
89254         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
89255         Normalize leading white space and remove trailing white space.
89256
89257         Merge from coreutils
89258         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
89259
89260         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
89261         0.12.1.  These files are now being upgraded automatically by
89262         ../config/srclist-update.
89263
89264 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89265
89266         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
89267         Normalize leading white space and remove trailing white space.
89268         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
89269         notice, as per ../config/srclist-update.
89270
89271         Merge from coreutils.
89272         * lib/euidaccess.h: New file.
89273         * lib/euidaccess.c: Include it.
89274         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
89275         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
89276         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
89277
89278 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89279
89280         * config/srclist-update: Add copyright notice.
89281         (remove_id_lines, remove_trailing_blanks): New constants.
89282         (fixfile): Use them to normalize spacing a bit in copied files.
89283         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
89284         Normalize leading white space and remove trailing white space.
89285
89286         * config/texinfo.tex: Sync with texinfo.
89287
89288         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
89289         strtoul.c from libc, to merge coreutils whitespace changes.
89290
89291         * config/srclist.txt: Get the following m4 files from gettext:
89292         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
89293         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
89294         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
89295         wint_t.m4.
89296
89297 2003-08-12  Karl Berry  <karl@gnu.org>
89298
89299         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
89300         been made.
89301
89302 2003-08-11  Paul Eggert  <eggert@twinsun.com>
89303
89304         * modules/gnu-source, m4/gnu-source.m4:
89305         Remove; we're assuming Autoconf 2.54 or later now.
89306         Suggested by Bruno Haible.
89307         * MODULES.html.sh (func_all_modules): Remove gnu-source.
89308
89309 2003-08-11  Bruno Haible  <bruno@clisp.org>
89310
89311         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
89312
89313 2003-08-11  Bruno Haible  <bruno@clisp.org>
89314
89315         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
89316         (vasnprintf): Use it instead of wcslen.
89317
89318 2003-08-11  Bruno Haible  <bruno@clisp.org>
89319
89320         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
89321         value to ensure that _Bool promotes to int. Use #define for _Bool when
89322         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
89323
89324 2003-08-10  Karl Berry  <karl@gnu.org>
89325
89326         * lib/regex.h: update from libc (whitespace fix).
89327
89328 2003-08-09  Paul Eggert  <eggert@twinsun.com>
89329
89330         Merge some files from coreutils.  These changes were
89331         originally made by Jim Meyering.
89332         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
89333         many older Unixes require this.
89334         * lib/alloca.c (alloca): Remove cast to argument of free;
89335         no longer needed in C89.
89336         * lib/alloca_.h, regex.h: Fix white space to match
89337         what GNU indent does.
89338
89339 2003-08-09  Paul Eggert  <eggert@twinsun.com>
89340
89341         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
89342         apparently Emacs's Unicode mode got confused before my 2003-08-05
89343         checkin.
89344
89345 2003-08-08  Paul Eggert  <eggert@twinsun.com>
89346
89347         * m4/extensions.m4: New file.
89348         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
89349         Require gl_USE_SYSTEM_EXTENSIONS.
89350         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
89351         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
89352
89353 2003-08-08  Paul Eggert  <eggert@twinsun.com>
89354
89355         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
89356         * modules/extensions, modules/gnu-source: New files.
89357         * modules/timespec, modules/unlocked-io: Depend on extensions.
89358
89359 2003-08-07  Paul Eggert  <eggert@twinsun.com>
89360
89361         * modules/restrict: New file.
89362         * MODULES.html.sh (func_all_modules): Add restrict.
89363         * modules/regex: Depend on restrict.
89364
89365 2003-08-07  Paul Eggert  <eggert@twinsun.com>
89366
89367         * m4/restrict.m4: New file.
89368         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
89369
89370 2003-08-07  Bruno Haible  <bruno@clisp.org>
89371
89372         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
89373         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
89374
89375 2003-08-07  Bruno Haible  <bruno@clisp.org>
89376
89377         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
89378         makes the module 'getndelim2' compatible with the module 'getline'.
89379
89380 2003-08-05  Paul Eggert  <eggert@twinsun.com>
89381
89382         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
89383         byte with "\201" to avoid glitches when editing that source file
89384         with multi-gnome-terminal.
89385
89386 2003-08-05  Paul Eggert  <eggert@twinsun.com>
89387
89388         * lib/bumpalloc.h: Remove.
89389
89390 2003-08-05  Paul Eggert  <eggert@twinsun.com>
89391
89392         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
89393         * modules/bumpalloc: Remove.
89394
89395 2003-08-04  Paul Eggert  <eggert@twinsun.com>
89396
89397         * lib/getloadavg.c: Change copyright notice and spacing to conform to
89398         GNU coding style.
89399
89400         Merge from coreutils.
89401         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
89402         1. From glibc.
89403         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
89404         from Karl Berry, implemented by Jim Meyering.
89405         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
89406         from Dmitry V. Levin.
89407         Remove anachronistic cast of xrealloc.
89408         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
89409         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
89410         type. Otherwise, it wouldn't compile with at least /bin/cc on
89411         ymp-cray-unicos9.0.2.X.
89412         Combine two mostly-identical uses of alloca into one.
89413         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
89414
89415 2003-08-04  Dave Love  <d.love@dl.ac.uk>
89416
89417         [From Emacs.]
89418
89419         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
89420         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
89421         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
89422         obsolete NLIST_NAME_UNION.
89423         [__GNU__]: Undef BSD and FSCALE.
89424         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
89425
89426 2003-08-03  Paul Eggert  <eggert@twinsun.com>
89427
89428         * lib/stdbool_.h (_Bool): Make it signed char, instead of
89429         an enum type, so that it's guaranteed to promote to int.  See:
89430         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
89431
89432 2003-08-03  Karl Berry  <karl@gnu.org>
89433
89434         * config/depcomp: update from automake.
89435
89436 2003-07-31  Paul Eggert  <eggert@twinsun.com>
89437
89438         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
89439         (strerror): Don't assume that a printable int fits in 14 bytes.
89440
89441 2003-07-31  Bruno Haible  <bruno@clisp.org>
89442
89443         * modules/getpass-gnu: New file.
89444         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
89445
89446 2003-07-31  Bruno Haible  <bruno@clisp.org>
89447
89448         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
89449
89450 2003-07-24  Karl Berry  <karl@gnu.org>
89451
89452         * config/missing: update from automake.
89453
89454 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
89455             Bruno Haible  <bruno@clisp.org>
89456
89457         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
89458         * lib/getline.c (getline, getdelim): Likewise.
89459         Remove _GNU_SOURCE define; now it's defined in config.h through
89460         m4/getline.m4.
89461
89462 2003-07-23  Karl Berry  <karl@gnu.org>
89463
89464         * config/config.sub: update from prep.
89465
89466 2003-07-22  Paul Eggert  <eggert@twinsun.com>
89467
89468         * modules/xalloc (Depends-on): Add exitfail.
89469         * modules/xmemcoll: Likewise.
89470
89471 2003-07-22  Paul Eggert  <eggert@twinsun.com>
89472
89473         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
89474         over-parenthesization in macros.
89475
89476         Sync with coreutils.
89477
89478         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
89479         required by C99.
89480
89481         Use `exit_failure' for xalloc and xmemcoll instead of their own
89482         private exit-failure variables.
89483         * lib/xalloc.h (xalloc_exit_failure): Remove.
89484         * lib/xmalloc.c: Likewise.  Include exitfail.h.
89485         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
89486         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
89487         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
89488         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
89489
89490 2003-07-20  Jim Meyering  <jim@meyering.net>
89491
89492         * modules/closeout (Depends-on): Add exitfail.
89493         Suggestion from Bruno Haible.
89494
89495 2003-07-19  Karl Berry  <karl@gnu.org>
89496
89497         * config/config.sub: update from prep.
89498
89499 2003-07-18  Paul Eggert  <eggert@twinsun.com>
89500
89501         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
89502         Remove.
89503         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
89504         to test that it can stand by itself.  Include "exitfail.h".
89505         Clients should set exit_failure instead.
89506         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
89507
89508 2003-07-18  Bruno Haible  <bruno@clisp.org>
89509
89510         * modules/getndelim2: New file.
89511         * modules/getline: Share files with module getndelim2.
89512         * modules/getnline: Depend on getndelim2 instead of sharing files with
89513         it. Add getnline.c to lib_SOURCES.
89514         * MODULES.html.sh (func_all_modules): Add getndelim2.
89515
89516 2003-07-18  Bruno Haible  <bruno@clisp.org>
89517
89518         * m4/getndelim2.m4: New file.
89519         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
89520         invoke gl_PREREQ_GETNDELIM2.
89521         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
89522         gl_PREREQ_GETNDELIM2.
89523         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
89524         gl_GETNDELIM2.
89525
89526 2003-07-18  Bruno Haible  <bruno@clisp.org>
89527
89528         * lib/getndelim2.h: New file.
89529         * lib/getndelim2.c: Make into a module of its own. Include config.h,
89530         getndelim2.h.
89531         (getndelim2): Make non-static. Change return type to ssize_t.
89532         * lib/getline.h: Change argument names.
89533         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
89534         * lib/getnline.c: Include getndelim2.h.
89535
89536 2003-07-18  Andreas Schwab  <schwab@suse.de>
89537
89538         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
89539
89540 2003-07-17  Karl Berry  <karl@gnu.org>
89541
89542         * config/config.sub: update from prep.
89543
89544 2003-07-17  Bruno Haible  <bruno@clisp.org>
89545
89546         * modules/getnline: New file.
89547         * modules/getline: Add lib/getndelim2.c to source file list.
89548         * MODULES.html.sh (func_all_modules): Add getnline.
89549
89550 2003-07-17  Bruno Haible  <bruno@clisp.org>
89551
89552         * m4/getnline.m4: New file.
89553
89554 2003-07-17  Bruno Haible  <bruno@clisp.org>
89555
89556         * m4/Makefile.am.in: Remove file.
89557         * m4/Makefile.am: Remove file.
89558         * m4/Makefile.in: Remove file.
89559
89560 2003-07-17  Bruno Haible  <bruno@clisp.org>
89561
89562         * lib/getnline.h: New file.
89563         * lib/getnline.c: New file.
89564         * lib/getndelim2.c: New file, extracted from getline.c.
89565         (getndelim2): Renamed from getdelim2, with added nmax argument.
89566         * lib/getline.c: Include getndelim2.c.
89567         (getdelim2): Moved out to getndelim2.c.
89568         (getline, getdelim): Update.
89569
89570 2003-07-17  Bruno Haible  <bruno@clisp.org>
89571
89572         * lib/Makefile.am: Remove file.
89573         * lib/Makefile.in: Remove file.
89574
89575 2003-07-17  Bruno Haible  <bruno@clisp.org>
89576
89577         * configure.in: Remove file.
89578         * Makefile.in: Remove file.
89579
89580 2003-07-17  Bruno Haible  <bruno@clisp.org>
89581
89582         * MODULES.html.sh: Put the </BODY> right before </HTML>.
89583
89584 2003-07-16  Karl Berry  <karl@gnu.org>
89585
89586         * config/srclist-update: was running fixlicense twice, which caused
89587                 texinfo.tex to be nullified for some reason.  Simplify,
89588                 $gplsrc is no longer needed as far as I can see?
89589
89590 2003-07-16  Jim Meyering  <jim@meyering.net>
89591
89592         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
89593
89594 2003-07-15  Paul Eggert  <eggert@twinsun.com>
89595
89596         * config/srclist.txt: Get the following files from gettext-runtime/intl
89597         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
89598         ref-del.sin.  From Bruno Haible.
89599         * config/srclist-update (fixfile): Change grep pattern again, since the
89600         previous fix didn't work (there was another trailing $).  Use
89601         '[$]' to escape the $s.
89602
89603 2003-07-15  Karl Berry  <karl@gnu.org>
89604
89605         * lib/vasnprintf.c: update from gettext.
89606
89607 2003-07-15  Karl Berry  <karl@gnu.org>
89608
89609         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
89610         gets expanded when surrounded by '$'.
89611
89612 2003-07-15  Jim Meyering  <jim@meyering.net>
89613
89614         * modules/save-cwd: Don't depend on error.  From Derek Price.
89615
89616 2003-07-15  Jim Meyering  <jim@meyering.net>
89617
89618         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
89619
89620 2003-07-14  Simon Josefsson  <jas@extundo.com>
89621
89622         * modules/mempcpy: New file.
89623         * MODULES.html.sh (func_all_modules): Add mempcpy.
89624
89625 2003-07-14  Simon Josefsson  <jas@extundo.com>
89626
89627         * m4/mempcpy.m4: New file.
89628
89629 2003-07-14  Simon Josefsson  <jas@extundo.com>
89630
89631         * lib/mempcpy.h: New file.
89632         * lib/mempcpy.c: New file.
89633
89634 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89635
89636         * modules/getdate, modules/posixtm: Depend on mktime.
89637
89638 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89639
89640         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
89641         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
89642         unicodeio.c, unicodeio.h, unlocked-io.h:
89643         Switch from LGPL to GPL.
89644
89645 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89646
89647         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
89648         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
89649         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
89650         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
89651         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
89652         updated automatically by ../config/srclist-update.  This changes
89653         their license from LPGL to GPL.
89654
89655 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89656
89657         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
89658         assumed to refer to the root of the most recent stable gettext version.
89659         * config/srclistvars.sh: Add defaults for eggert.
89660         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
89661         Match "This program" as well as "The program".  This is needed
89662         for gettext.
89663
89664 2003-07-14  Jim Meyering  <jim@meyering.net>
89665
89666         Don't emit diagnostics.  Let callers do that.
89667         * lib/save-cwd.c: Don't include "error.h".
89668         (save_cwd): Don't call error.  Ensure that errno is valid
89669         when returning nonzero.
89670
89671         * lib/save-cwd.h (restore_cwd): Update prototype.
89672         * lib/save-cwd.c (restore_cwd): Remove two parameters.
89673         Simplify.  Don't call error upon failure.  Let callers do that.
89674         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
89675         when auditing is enabled.  But don't bother updating the #if.
89676
89677 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
89678
89679         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
89680         it breaks C++ compilation.
89681         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
89682
89683 2003-07-10  Simon Josefsson  <jas@extundo.com>
89684
89685         * modules/strchrnul (Makefile.am): Add strchrnul.h.
89686
89687 2003-07-10  Jim Meyering  <jim@meyering.net>
89688
89689         * m4/clock_time.m4: Remove trailing blank.
89690         * m4/intmax_t.m4: Likewise.
89691
89692 2003-07-10  Jim Meyering  <jim@meyering.net>
89693
89694         * lib/vasnprintf.c: Remove trailing blanks.
89695         Make cpp indentation consistent.
89696
89697 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89698
89699         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
89700         posixver.c, strftime.c, strnlen.c, strverscmp.c:
89701         Switch from LGPL to GPL.
89702
89703 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89704
89705         * config/srclist.txt: Sort sublists.  Add
89706         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
89707         that differ from gnulib for one reason or another; we'd like this list
89708         to be smaller but for now let's document what we have.
89709
89710 2003-07-08  Paul Eggert  <eggert@twinsun.com>
89711
89712         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
89713         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
89714         and sweeter "eval x=$x".
89715         * config/srclist.txt: Get lib/argp* from glibc.
89716
89717 2003-07-07  Paul Eggert  <eggert@twinsun.com>
89718
89719         * lib/mktime.c: Fix some boundary cases and remove need for floating
89720         point.
89721
89722         Issue a compile-time diagnostic if time_t is floating point, or if
89723         two's complement arithmetic is not in effect, or if arithmetic
89724         right shift does not propagate the sign.  These assumptions were
89725         all in the original code but they weren't checked.
89726
89727         (TIME_T_MIDPOINT, verify): New macros.
89728         (__isleap): Remove; it has integer overflow problems.
89729         (leapyear): New function, without those problems.
89730         (ydhms_tm_diff): Remove; splitting into two parts.
89731         (ydhms_diff): New function, containing the arithmetic part of
89732         the old ydhms_tm_diff function.  Issue a compile-time
89733         diagnostic if we are not using C99 integer division.
89734         Avoid casts when possible.
89735         (guess_time_tm): New function, containing the checking part of
89736         the old ydhms_tm_diff function.  Return the new value, rather than
89737         the difference between it and the old.  Accept a new argument T
89738         so that *T specifies the old value.  Check for overflow in the result.
89739
89740         (__mktime_internal): Use a time_t offset, not a long int offset.
89741         This undoes the 2003-06-04 change, which is no longer needed now
89742         that we have better overflow checking.
89743         (localtime_offset): Likewise.
89744
89745         (__mktime_internal): Avoid harmful overflow on hosts where time_t
89746         and long are 64-bit but int is only 32-bit.
89747         (ydhms_diff): Use long int to store year1 and yday1.
89748         Issue a compile-time diagnostic if long int is not wide enough.
89749
89750         (__mktime_internal): Use long int to store adjusted year and yday.
89751         Use plain C rather than preprocessor commands, if that doesn't
89752         affect efficiency.
89753         Check for overflow (and try to repair) after each probe
89754         rather than checking only at the very end.  This avoids some bugs
89755         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
89756         does not equal GMT offset at maximum time).
89757         Use integer to check for overflow rather than floating point; this
89758         is more portable to non-IEEE hosts, and is a tad faster.
89759         When we detect that we are oscillating between two values,
89760         don't check whether tm_isdst has the requested value, since
89761         we already know the answer.  When tm_isdst has the wrong value,
89762         use a different heuristic to find the right one, based on the
89763         extreme values actually observed in practice in tz2003a,
89764         rather than the (overly optimistic) "previous 3 calendar quarters".
89765
89766         (not_equal_tm, print_tm, check_result): Use "const T" rather than
89767         "T const" to accommodate glibc style.
89768         (check_result): Use less-confusing report format.  "long" -> "long int.
89769         (main): Likewise.
89770         Don't loop if the iteration overflows time_t.
89771         Allow a negative step in the iteration.
89772
89773 2003-07-06  Karl Berry  <karl@gnu.org>
89774
89775         * config/depcomp: update from automake.
89776         * config/config.sub: update from prep.
89777
89778 2003-07-03  Karl Berry  <karl@gnu.org>
89779
89780         * config/config.guess: update from prep.
89781
89782 2003-07-01  Paul Eggert  <eggert@twinsun.com>
89783
89784         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
89785         xreadlink.c now includes it unconditionally.
89786
89787 2003-07-01  Paul Eggert  <eggert@twinsun.com>
89788
89789         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
89790         having it depend on HAVE_SYS_TYPES_H.
89791
89792 2003-07-01  Bruno Haible  <bruno@clisp.org>
89793
89794         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
89795         <sys/types.h> should be sufficient.
89796         Reported by Paul Eggert.
89797
89798 2003-06-26  Karl Berry  <karl@gnu.org>
89799
89800         * config/depcomp: update from automake.
89801
89802 2003-06-26  Bruno Haible  <bruno@clisp.org>
89803
89804         * modules/human: Depend on module stdbool.
89805
89806 2003-06-25  Bruno Haible  <bruno@clisp.org>
89807
89808         * modules/readlink: New file.
89809         * modules/xreadlink: Depend on it.
89810         * MODULES.html.sh (func_all_modules): Add readlink.
89811
89812 2003-06-25  Bruno Haible  <bruno@clisp.org>
89813
89814         * m4/readlink.m4: New file.
89815
89816 2003-06-25  Bruno Haible  <bruno@clisp.org>
89817
89818         * lib/readlink.c: New file.
89819
89820 2003-06-22  Karl Berry  <karl@gnu.org>
89821
89822         * config/srclist.txt: update mkinstalldirs from automake.
89823         * config/mkinstalldirs: update.
89824
89825 2003-06-22  Bruno Haible  <bruno@clisp.org>
89826
89827         Portability to mingw32.
89828         * m4/ssize_t.m4: New file, from GNU gettext.
89829         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
89830         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
89831
89832 2003-06-22  Bruno Haible  <bruno@clisp.org>
89833
89834         * modules/safe-read: Add m4/ssize_t.m4.
89835         * modules/xreadlink: Add m4/ssize_t.m4.
89836
89837 2003-06-20  Bruno Haible  <bruno@clisp.org>
89838
89839         Assume C89, so PARAMS isn't needed.
89840         * lib/unicodeio.h (PARAMS): Remove.
89841         * lib/unicodeio.c: Don't use PARAMS.
89842
89843 2003-06-18  Karl Berry  <karl@gnu.org>
89844
89845         * config/config.{guess,sub}: update from prep.
89846
89847 2003-06-18  Jim Meyering  <jim@meyering.net>
89848
89849         Merge changes from coreutils.
89850         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
89851         Remove explicit declarations of xmalloc and realloc.
89852         Include xalloc.h.
89853         (read_utmp): Remove anachronistic cast of xmalloc.
89854
89855 2003-06-17  Paul Eggert  <eggert@twinsun.com>
89856
89857         Assume C89, so PARAMS isn't needed.
89858         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
89859         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
89860         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
89861         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
89862         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
89863         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
89864         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
89865         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
89866         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
89867         lib/xstrtod.h, lib/xstrtol.h: Likewise.
89868         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
89869         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
89870         no longer needed. Anyway, config.h should always be included before any
89871         other file.
89872
89873 2003-06-11  Simon Josefsson  <jas@extundo.com>
89874
89875         * modules/sysexits: New file.
89876         * MODULES.html.sh (func_all_modules): Add sysexits.
89877
89878 2003-06-11  Simon Josefsson  <jas@extundo.com>
89879
89880         * lib/sysexit_.h: New file.
89881
89882 2003-06-11  Derek Price  <derek@ximbiot.com>
89883
89884         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
89885         necessary.
89886
89887 2003-06-11  Bruno Haible  <bruno@clisp.org>
89888
89889         * m4/sysexits.m4: New file.
89890
89891 2003-06-10  Simon Josefsson  <jas@extundo.com>
89892
89893         * lib/argp.h: New file, from glibc.
89894         * lib/argp-ba.c: New file, from glibc.
89895         * lib/argp-eexst.c: New file, from glibc.
89896         * lib/argp-fmtstream.c: New file, from glibc.
89897         * lib/argp-fmtstream.h: New file, from glibc.
89898         * lib/argp-fs-xinl.c: New file, from glibc.
89899         * lib/argp-help.c: New file, from glibc.
89900         * lib/argp-namefrob.h: New file, from glibc.
89901         * lib/argp-parse.c: New file, from glibc.
89902         * lib/argp-pv.c: New file, from glibc.
89903         * lib/argp-pvh.c: New file, from glibc.
89904         * lib/argp-xinl.c: New file, from glibc.
89905
89906 2003-06-10  Simon Josefsson  <jas@extundo.com>
89907
89908         * modules/strchrnul: New file.
89909
89910 2003-06-10  Simon Josefsson  <jas@extundo.com>
89911
89912         * modules/argp: New file.
89913
89914 2003-06-10  Simon Josefsson  <jas@extundo.com>
89915
89916         * m4/strchrnul.m4: New file.
89917
89918 2003-06-10  Simon Josefsson  <jas@extundo.com>
89919
89920         * lib/strchrnul.h: New file.
89921         * lib/strchrnul.c: New file.
89922
89923 2003-06-10  Bruno Haible  <bruno@clisp.org>
89924
89925         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
89926
89927 2003-06-07  Karl Berry  <karl@gnu.org>
89928
89929         * config/config.{guess,sub}: update from prep.
89930
89931 2003-06-07  Jim Meyering  <jim@meyering.net>
89932
89933         * modules/strtod: Use $(...) notation, not @...@ for
89934         AC_REPLACE'd variables.
89935         * modules/localcharset: Likewise.
89936
89937 2003-06-07  Jim Meyering  <jim@meyering.net>
89938
89939         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
89940         in place of my name in the copyright comment.
89941         Remove definition and uses of __P.
89942
89943         From coreutils.
89944         * lib/stat.c: Don't declare xmalloc explicitly.
89945         Instead, include "xalloc.h".
89946         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
89947         xrealloc, and xcalloc return values.
89948         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
89949         Improve comment.
89950         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
89951
89952 2003-06-07  Bruno Haible  <bruno@clisp.org>
89953
89954         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
89955         avoid AC_CONFIG_LINKS.
89956         * modules/fnmatch (Makefile.am): Use explicit creation rule for
89957         fnmatch.h, to avoid AC_CONFIG_LINKS.
89958         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
89959
89960 2003-06-07  Bruno Haible  <bruno@clisp.org>
89961
89962         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
89963         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
89964         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
89965         directory.
89966         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
89967         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
89968         directory.
89969
89970 2003-06-06  Jim Meyering  <jim@meyering.net>
89971
89972         Merge from coreutils.
89973         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
89974         Consolidate declarations and initializations of *_base* locals.
89975
89976         Merge from coreutils.
89977         This avoids a core dump on systems without GNU putenv,
89978         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
89979         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
89980         (unsetenv): New static function, from GNU libc.
89981         (rpl_putenv): Use it.
89982
89983         * lib/modechange.c: Remove trailing blanks.
89984
89985         Merge from coreutils.
89986         * lib/fsusage.c: Remove declaration of statfs.
89987         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
89988
89989         * lib/posixtm.c: Include <stdbool.h> unconditionally.
89990
89991 2003-06-06  Jim Meyering  <jim@meyering.net>
89992
89993         * lib/stdbool_.h: Renamed from stdbool.h.in.
89994
89995 2003-06-06  Jim Meyering  <jim@meyering.net>
89996             Bruno Haible  <bruno@clisp.org>
89997
89998         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
89999         Adjust Makefile.am snippet not to redirect directly to target.
90000         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
90001
90002 2003-06-05  Paul Eggert  <eggert@twinsun.com>
90003
90004         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
90005         mismatch, look in future quarters as well as past.  This fixes a
90006         bug when processing fall-backwards gaps immediately after a long
90007         period of daylight-saving time.
90008
90009         * lib/mktime.c: Assume freestanding C89 or better.
90010         (HAVE_LIMITS_H): Remove.  Assume it's 1.
90011         (__P): Remove; not used.
90012         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
90013         (mktime, not_equal_tm, print_tm, check_result,
90014         main): Use prototypes.  Use const * where appropriate.
90015         (main): Fix typo in testing code that uncovered by above changes.
90016         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
90017
90018 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90019
90020         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
90021         locale.h, localeconv.  This merges changes from coreutils.
90022
90023         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
90024         It can be removed after the next Autoconf is released.
90025         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
90026         needed.
90027
90028 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90029
90030         * lib/mktime.c: Fix Debian bug 177940
90031         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
90032         (localtime_offset): Now long int, not time_t, because we want it
90033         to be guaranteed to be signed.  All uses changed.
90034         (__mktime_internal): If overflow would occur when adding offset,
90035         don't add it.
90036
90037         Merge 'human' changes from coreutils.  Rewrite to support
90038         locale-specific notations like thousands separators.
90039         * lib/human.c: Simplify authorship notice.
90040         Include human.h immediately after config.h.
90041         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
90042         <limits.h>: Do not include, since human.h does.
90043         (SIZE_MAX, UINTMAX_MAX): New macros.
90044         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
90045         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
90046         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
90047         (power_letter): Renamed from suffixes.
90048         (generate_suffix_backwards): Remove.
90049         (adjust_value): Now takes int style (because of human.h changes)
90050         and long double value (for greater precision on some platforms).
90051         (group_number): New function.
90052         (human_readable): Use it.  Use integer options, not enum.
90053         Put the options before the sizes in the arg list.
90054         Support all the new options.
90055         The old human_readable function has been removed;
90056         use inttostr.h instead.
90057         (human_readable, default_block_size, humblock):
90058         Use uintmax_t, not int, for block sizes.
90059         (human_readable_inexact, block_size_types): Remove.
90060         (block_size_opts): New constant.
90061         (human_options): Renamed from human_block_size, with new signature
90062         that allows block sizes up to UINTMAX_MAX.  All callers changed.
90063         * lib/human.h: Add copyright and authorship notice.
90064         Include <limits.h> and <stdbool.h> unconditionally.
90065         (PARAMS): Remove.  All uses removed.
90066         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
90067         (enum human_inexact_style): Remove tag; now a nameless enum.
90068         (human_floor, human_ceiling, human_round_to_even): Now have
90069         values 2, 0, 1 rather than -1, 1, 0.
90070         (human_group_digits, human_suppress_point_zero, human_autoscale,
90071         human_base_1024, human_SI, human_B): New constants.
90072         (human_readable_inexact, human_block_size): Remove.
90073         (human_readable): Size args are now uintmax_t, not int.
90074         (human_options): New decl.
90075
90076         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
90077         unnecessary now that we assume C89 or better.  This change
90078         imported from coreutils.
90079
90080         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
90081         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
90082         in the 2003-05-30 sync from glibc.
90083
90084         .h files should stand alone, but we shouldn't include <sys/types.h>
90085         if we can get away with just <stddef.h>.
90086
90087         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
90088         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
90089         rather than <sys/types.h>, as we merely need size_t.
90090         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
90091         to get size_t.
90092         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
90093         Include <stdio.h>, to get FILE.
90094         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
90095         memcasecmp.h has included <stddef.h> and all we need is size_t.
90096         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
90097         our interface, instead of including <sys/types.h>
90098
90099 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90100
90101         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
90102         now, as glibc mktime is buggy on non-glibc systems.
90103
90104 2003-06-03  Karl Berry  <karl@gnu.org>
90105
90106         * config/config.sub: update from prep.
90107
90108 2003-06-02  Paul Eggert  <eggert@twinsun.com>
90109
90110         [from coreutils]
90111         Fix some minor time-related bugs with POSIX time arguments.
90112         Some valid time stamps were being rejected (notably -1, and
90113         time stamps before 1900 on 64-bit hosts).  And some invalid
90114         time stamps were being accepted, e.g. September 31.
90115
90116         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
90117         that we can return (time_t) -1 successfully.
90118         * lib/posixtm.c: Likewise.
90119         [HAVE_STDBOOL_H]: Include <stdbool.h>.
90120         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
90121         (t): Remove static var.
90122         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
90123         of static var.  All uses changed.
90124         (year): Do not reject years before 1900; they can occur with
90125         64-bit time_t.
90126         (posix_time_parse): Do not check for out-of-range components;
90127         that is now the caller's responsibility, since our checks were
90128         only approximations.
90129         (posixtime): Use mktime to check for out-of-range components,
90130         since it knows them exactly.
90131         If mktime returns (time_t) -1, check whether an error actually occurred
90132         by invoking localtime on -1.
90133         (main) [TEST_POSIXTIME]: Check for input data errors, and report
90134         posixtime failures better.
90135         Improve the test data (in comments only).
90136
90137 2003-06-02  Karl Berry  <karl@gnu.org>
90138
90139         * config/mkinstalldirs (version): new variable.
90140         (--version): new option.
90141         (usage): improve message.
90142
90143 2003-05-30  Karl Berry  <karl@gnu.org>
90144
90145         * lib/mktime.c: update from libc.
90146
90147 2003-05-30  Bruno Haible  <bruno@clisp.org>
90148
90149         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
90150         * config/config.rpath: Upgrade to gettext-0.12.1.
90151
90152 2003-05-30  Bruno Haible  <bruno@clisp.org>
90153
90154         * m4/gettext.m4: Upgrade to gettext-0.12.1.
90155         * m4/nls.m4: New file, from gettext-0.12.1.
90156         * m4/po.m4: New file, from gettext-0.12.1.
90157         * m4/progtest.m4: Upgrade to gettext-0.12.1.
90158
90159 2003-05-30  Bruno Haible  <bruno@clisp.org>
90160
90161         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
90162         * lib/localcharset.h: Likewise.
90163         * lib/localcharset.c: Likewise.
90164
90165 2003-05-29  Karl Berry  <karl@gnu.org>
90166
90167         * config/config.rpath: update from gettext.
90168
90169 2003-05-28  Paul Eggert  <eggert@twinsun.com>
90170
90171         Assume the headers required for C89 freestanding compilers.
90172         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
90173         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
90174         * m4/human.m4 (gl_HUMAN): Likewise.
90175         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
90176         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
90177         * m4/userspec.m4 (gl_USERSPEC): Likewise.
90178         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
90179         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
90180         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
90181
90182 2003-05-28  Paul Eggert  <eggert@twinsun.com>
90183
90184         Assume the headers required for C89 freestanding compilers.
90185         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
90186         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
90187         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
90188         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
90189         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
90190         define, since <limits.h> is guaranteed to do that.
90191         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
90192         * lib/exclude.c: Include <stdbool.h> unconditionally.
90193         * lib/tempname.c: Include <stddef.h> unconditionally.
90194         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
90195         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
90196         <stddef.h> does that.
90197         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
90198         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
90199         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
90200         needed.
90201         * lib/xstrtol.c: Likewise.
90202         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
90203         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
90204
90205         * lib/addext.c (addext): Use assignment rather than cast, to avoid
90206         warnings on some platforms.
90207
90208         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
90209         arbitrarily.
90210
90211 2003-05-26  Jim Meyering  <jim@meyering.net>
90212
90213         Merge in a change from coreutils:
90214         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
90215         that is guaranteed to be `no'.  Use `no_such_member' to indicate
90216         that condition, rather than `-1' which is slightly misleading.
90217         Change the name of the cache variable to have the gl_ prefix.
90218         Prompted by a patch from Richard Dawe for DJGPP.
90219
90220 2003-05-24  Karl Berry  <karl@gnu.org>
90221
90222         * config/config.guess: update from prep.
90223
90224 2003-05-22  Karl Berry  <karl@gnu.org>
90225
90226         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
90227
90228 2003-05-20  Karl Berry  <karl@gnu.org>
90229
90230         * config/config.guess: update from prep.
90231
90232 2003-05-18  Karl Berry  <karl@gnu.org>
90233
90234         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
90235         might actually be set by the user.
90236
90237         * config/depcomp, install-sh, mdate-sh: update from automake.
90238
90239 2003-05-17  Bruno Haible  <bruno@clisp.org>
90240
90241         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
90242         invalid expansion for AC_EGREP_CPP.
90243         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
90244         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
90245         Suggested by Akim Demaille <akim@epita.fr> in
90246         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
90247
90248 2003-05-12  Jim Meyering  <jim@meyering.net>
90249
90250         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
90251         the space-padded-by-default conversion specifiers, %e, %k, %l.
90252
90253 2003-05-12  Bruno Haible  <bruno@clisp.org>
90254
90255         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
90256         the string is longer than 4 KB.
90257
90258 2003-05-11  Karl Berry  <karl@gnu.org>
90259
90260         * config/config.{guess,sub}: update from prep.
90261
90262 2003-05-09  Bruno Haible  <bruno@clisp.org>
90263
90264         * modules/error: Add m4/strerror_r.m4 to file list.
90265
90266 2003-05-03  Bruno Haible  <bruno@clisp.org>
90267
90268         Upgrade to Unicode-4.0.
90269         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
90270         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
90271         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
90272         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
90273         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
90274         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
90275         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
90276         Change width of U+E0100..U+E01EF from 1 to 0.
90277
90278 2003-04-25  Jim Meyering  <jim@meyering.net>
90279
90280         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
90281         of type size_t, not int.
90282
90283 2003-04-25  Bruno Haible  <bruno@clisp.org>
90284
90285         * lib/copy-file.c: Include <stddef.h>, for size_t.
90286
90287 2003-04-21  Paul Eggert  <eggert@twinsun.com>
90288
90289         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
90290         code which expansion is under static control.  Patch imported from
90291         Akim Demaille's patch to Bison; see
90292         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
90293
90294 2003-04-14  Bruno Haible  <bruno@clisp.org>
90295
90296         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
90297
90298 2003-04-11  Jim Meyering  <jim@meyering.net>
90299
90300         Merge changes from Coreutils.
90301
90302         2003-03-22  Jim Meyering  <jim@meyering.net>
90303
90304         * lib/strftime.c (widen): Cast alloca return value to proper type.
90305
90306         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
90307
90308         From GNU libc.
90309         * lib/strftime.c (my_strftime): Handle very large width
90310         specifications for numeric values correctly.  Improve checks for
90311         overflow.
90312
90313         2003-01-19  Jim Meyering  <jim@meyering.net>
90314
90315         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
90316         definitions.
90317         (nl_get_alt_digit) [! defined my_strftime]: Define.
90318         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
90319         _nl_get_alt_digit and _nl_get_walt_digit.
90320
90321         * lib/strftime.c (my_strftime): Merge in locale-related changes from
90322         libc. These changes have no effect outside of _LIBC.
90323
90324 2003-04-10  Bruno Haible  <bruno@clisp.org>
90325
90326         * modules/findprog: New file.
90327         * MODULES.html.sh (func_all_modules): Add it.
90328
90329 2003-04-10  Bruno Haible  <bruno@clisp.org>
90330
90331         * m4/findprog.m4: New file.
90332         * m4/eaccess.m4: New file.
90333
90334 2003-04-10  Bruno Haible  <bruno@clisp.org>
90335
90336         * lib/findprog.h: New file, from GNU gettext.
90337         * lib/findprog.c: New file, from GNU gettext.
90338
90339 2003-04-05  Jim Meyering  <jim@meyering.net>
90340
90341         Merge changes from Coreutils.
90342
90343         * lib/exclude.h (PARAMS): Remove definition and uses.
90344         * lib/exclude.c: Remove uses of `PARAMS'.
90345
90346         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
90347         Add test-cases for DOS filenames. Declare program_name.
90348         (main): Set up program_name.  Patch by Rich Dawe.
90349
90350         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
90351         error from mntctl.
90352         Use mntctl's return value to drive the entry-processing loop, since
90353         we can't rely on the value of the vmt_length member in the last
90354         entry.  On some systems doing so could result in exhausting
90355         virtual memory.  Based in part on a patch from Mike Jetzer.
90356
90357 2003-04-04  Bruno Haible  <bruno@clisp.org>
90358
90359         * modules/linebreak: New file.
90360         * MODULES.html.sh (func_all_modules): Add it.
90361
90362 2003-04-04  Bruno Haible  <bruno@clisp.org>
90363
90364         * m4/linebreak.m4: New file.
90365
90366 2003-04-04  Bruno Haible  <bruno@clisp.org>
90367
90368         * lib/linebreak.h: New file, from GNU gettext.
90369         * lib/linebreak.c: New file, from GNU gettext with slight
90370         modifications.
90371         * lib/lbrkprop.h: New file, from GNU gettext.
90372
90373 2003-04-03  Bruno Haible  <bruno@clisp.org>
90374
90375         * modules/utf8-ucs4: New file.
90376         * modules/utf16-ucs4: New file.
90377         * modules/ucs4-utf8: New file.
90378         * modules/ucs4-utf16: New file.
90379         * MODULES.html.sh (func_all_modules): Add them.
90380
90381 2003-04-03  Bruno Haible  <bruno@clisp.org>
90382
90383         * m4/utf-ucs4.m4: New file.
90384         * m4/ucs4-utf.m4: New file.
90385
90386 2003-04-03  Bruno Haible  <bruno@clisp.org>
90387
90388         * lib/utf8-ucs4.h: New file, from GNU gettext.
90389         * lib/utf16-ucs4.h: New file, from GNU gettext.
90390         * lib/ucs4-utf8.h: New file, from GNU gettext.
90391         * lib/ucs4-utf16.h: New file, from GNU gettext.
90392
90393 2003-04-02  Bruno Haible  <bruno@clisp.org>
90394
90395         * modules/binary-io: New file.
90396         * MODULES.html.sh (func_all_modules): Add it.
90397
90398 2003-04-02  Bruno Haible  <bruno@clisp.org>
90399
90400         * lib/binary-io.h: New file, from GNU gettext.
90401
90402 2003-04-01  Bruno Haible  <bruno@clisp.org>
90403
90404         * modules/pathname: New file.
90405         * MODULES.html.sh (func_all_modules): Add it.
90406
90407 2003-04-01  Bruno Haible  <bruno@clisp.org>
90408
90409         * lib/pathname.h: New file, from GNU gettext.
90410         * lib/concatpath.c: New file, from GNU gettext.
90411
90412 2003-03-30  Bruno Haible  <bruno@clisp.org>
90413
90414         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
90415
90416 2003-03-30  Bruno Haible  <bruno@clisp.org>
90417
90418         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
90419         function chown() doesn't exist.
90420
90421 2003-03-28  Bruno Haible  <bruno@clisp.org>
90422
90423         * modules/copy-file: New file.
90424         * MODULES.html.sh (func_all_modules): Add it.
90425
90426 2003-03-28  Bruno Haible  <bruno@clisp.org>
90427
90428         * m4/copy-file.m4: New file.
90429
90430 2003-03-28  Bruno Haible  <bruno@clisp.org>
90431
90432         * lib/copy-file.h: New file, from GNU gettext.
90433         * lib/copy-file.c: New file, from GNU gettext.
90434
90435 2003-03-18  Jim Meyering  <jim@meyering.net>
90436
90437         * lib/quote.c (quote_n): Fix typo in comment.
90438
90439 2003-03-18  Bruno Haible  <bruno@clisp.org>
90440
90441         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
90442         checking.
90443         * m4/onceonly_2_57.m4: Likewise.
90444
90445 2003-03-17  Bruno Haible  <bruno@clisp.org>
90446
90447         * m4/onceonly.m4: Require autoconf 2.54 or newer.
90448         (m4_quote): Remove macro.
90449         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
90450
90451 2003-03-14  Jim Meyering  <jim@meyering.net>
90452
90453         Merge changes from Coreutils.
90454         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
90455         to be const, in order to avoid warnings.
90456         (obstack_room): Likewise.
90457         (obstack_empty_p): Likewise.
90458
90459 2003-03-14  Bruno Haible  <bruno@clisp.org>
90460
90461         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
90462         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
90463
90464 2003-03-13  Paul Eggert  <eggert@twinsun.com>
90465
90466         Merge changes from Bison.
90467         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
90468         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
90469         when compiling Bison 1.875's `bitset bset = obstack_alloc
90470         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
90471         * lib/hash.c: Include <stdbool.h> unconditionally.
90472
90473 2003-03-13  Paul Eggert  <eggert@twinsun.com>
90474
90475         * m4/onceonly.m4 (m4_quote): New macro.
90476         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
90477         Quote AC_FOREACH variable-expansions properly.
90478
90479 2003-03-13  Paul Eggert  <eggert@twinsun.com>
90480
90481         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
90482
90483 2003-03-09  Paul Eggert  <eggert@twinsun.com>
90484
90485         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
90486         Reported by Bruce Becker; see:
90487         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
90488
90489 2003-03-03  Paul Eggert  <eggert@twinsun.com>
90490             Bruno Haible  <bruno@clisp.org>
90491
90492         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
90493         Reported by John Hughes, see
90494         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
90495
90496 2003-02-20  Bruno Haible  <bruno@clisp.org>
90497
90498         * MODULES.html.sh (func_all_modules): Add poll.
90499
90500 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90501
90502         * modules/poll: New file.
90503
90504 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90505
90506         * lib/poll_.h: New file.
90507         * lib/poll.c: New file.
90508
90509 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90510
90511         * m4/poll.m4: New file.
90512
90513 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90514
90515         * modules/mathl: New file.
90516
90517 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90518
90519         * lib/mathl.h: New file.
90520         * lib/acosl.c: New file.
90521         * lib/asinl.c: New file.
90522         * lib/atanl.c: New file.
90523         * lib/ceill.c: New file.
90524         * lib/cosl.c: New file.
90525         * lib/expl.c: New file.
90526         * lib/floorl.c: New file.
90527         * lib/frexpl.c: New file.
90528         * lib/ldexpl.c: New file.
90529         * lib/logl.c: New file.
90530         * lib/sincosl.c: New file.
90531         * lib/sinl.c: New file.
90532         * lib/sqrtl.c: New file.
90533         * lib/tanl.c: New file.
90534         * lib/trigl.c: New file.
90535         * lib/trigl.h: New file.
90536
90537 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90538
90539         * m4/mathl.m4: New file.
90540
90541 2003-02-18  Bruno Haible  <bruno@clisp.org>
90542
90543         * MODULES.html.sh (func_all_modules): Add mathl.
90544
90545 2003-02-17  Bruno Haible  <bruno@clisp.org>
90546
90547         * modules/mkdtemp: New module.
90548         * MODULES.html.sh (func_all_modules): Add it.
90549
90550 2003-02-17  Bruno Haible  <bruno@clisp.org>
90551
90552         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
90553
90554 2003-02-17  Bruno Haible  <bruno@clisp.org>
90555
90556         * lib/mkdtemp.h: New file, from GNU gettext.
90557         * lib/mkdtemp.c: New file, from GNU gettext.
90558
90559 2003-02-02  Jim Meyering  <jim@meyering.net>
90560
90561         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
90562         e.g. glibc-2.2.93.
90563
90564 2003-01-31  Bruno Haible  <bruno@clisp.org>
90565
90566         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
90567         'rpl_rename'.
90568         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
90569         'rpl_strnlen'.
90570         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
90571         'rpl_strtod'.
90572         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
90573         'rpl_utime'.
90574
90575 2003-01-31  Bruno Haible  <bruno@clisp.org>
90576
90577         * lib/rename.c: #undef rename before defining rpl_rename.
90578         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
90579
90580 2003-01-30  Bruno Haible  <bruno@clisp.org>
90581
90582         * modules/vasnprintf, modules/vasprintf: New modules.
90583         * MODULES.html.sh (func_all_modules): Add them.
90584
90585 2003-01-30  Bruno Haible  <bruno@clisp.org>
90586
90587         * m4/signed.m4: New file, from GNU gettext.
90588         * m4/longdouble.m4: New file, from GNU gettext.
90589         * m4/wchar_t.m4: New file, from GNU gettext.
90590         * m4/wint_t.m4: New file, from GNU gettext.
90591         * m4/vasnprintf.m4: New file.
90592         * m4/vasprintf.m4: New file.
90593
90594 2003-01-30  Bruno Haible  <bruno@clisp.org>
90595
90596         * lib/printf-args.h: New file, from GNU gettext.
90597         * lib/printf-args.c: New file, from GNU gettext.
90598         * lib/printf-parse.h: New file, from GNU gettext.
90599         * lib/printf-parse.c: New file, from GNU gettext.
90600         * lib/vasnprintf.h: New file, from GNU gettext.
90601         * lib/vasnprintf.c: New file, from GNU gettext.
90602         * lib/asnprintf.c: New file, from GNU gettext.
90603         * lib/vasprintf.h: New file, from GNU gettext with modifications.
90604         * lib/vasprintf.c: New file, from GNU gettext.
90605         * lib/asprintf.c: New file, from GNU gettext.
90606
90607 2003-01-29  Bruno Haible  <bruno@clisp.org>
90608
90609         * modules/stpncpy: New module.
90610         * MODULES.html.sh (func_all_modules): Add it.
90611
90612 2003-01-29  Bruno Haible  <bruno@clisp.org>
90613
90614         * m4/stpncpy.m4: New file.
90615
90616 2003-01-29  Bruno Haible  <bruno@clisp.org>
90617
90618         * lib/stpncpy.h: New file, from GNU gettext with modifications.
90619         * lib/stpncpy.c: New file, from GNU gettext with modifications.
90620
90621 2003-01-28  Bruno Haible  <bruno@clisp.org>
90622
90623         * modules/c-ctype: New module.
90624         * MODULES.html.sh (func_all_modules): Add it.
90625
90626 2003-01-28  Bruno Haible  <bruno@clisp.org>
90627
90628         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
90629         Paul Eggert.
90630         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
90631         Paul Eggert.
90632
90633 2003-01-27  Bruno Haible  <bruno@clisp.org>
90634
90635         * modules/xsetenv: New module.
90636         * MODULES.html.sh (func_all_modules): Add it.
90637
90638 2003-01-27  Bruno Haible  <bruno@clisp.org>
90639
90640         * lib/xsetenv.h: New file, from GNU gettext.
90641         * lib/xsetenv.c: New file, from GNU gettext.
90642
90643 2003-01-23  Jim Meyering  <jim@meyering.net>
90644
90645         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
90646         from working on systems without dirfd (at least Irix and OSF1/Tru64).
90647
90648 2003-01-23  Bruno Haible  <bruno@clisp.org>
90649
90650         * modules/minmax: New module.
90651         * MODULES.html.sh (func_all_modules): Add it.
90652
90653 2003-01-23  Bruno Haible  <bruno@clisp.org>
90654
90655         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
90656         Eggert.
90657
90658 2003-01-22  Bruno Haible  <bruno@clisp.org>
90659
90660         * modules/exit: New module.
90661         * MODULES.html.sh (func_all_modules): Add it.
90662
90663 2003-01-22  Bruno Haible  <bruno@clisp.org>
90664
90665         * lib/exit.h: New file, from GNU gettext.
90666
90667 2003-01-19  Bruno Haible  <bruno@clisp.org>
90668
90669         * gnulib-tool: Recognize option --extract-maintainer.
90670         (func_get_maintainer): New function.
90671         * modules/*: Add Maintainer entry.
90672
90673 2003-01-16  Jim Meyering  <jim@meyering.net>
90674
90675         * m4/regex.m4: The `regex' struct is both input and output.
90676         Initialize it before each use.  Patch by Tim Waugh.
90677
90678 2003-01-16  Bruno Haible  <bruno@clisp.org>
90679
90680         * MODULES.html.sh: Add a table of contents. Add the module name as
90681         leftmost column. Add hyperlinks.
90682
90683 2003-01-15  Bruno Haible  <bruno@clisp.org>
90684
90685         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
90686
90687 2003-01-15  Bruno Haible  <bruno@clisp.org>
90688
90689         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
90690         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
90691         suffix.
90692
90693 2003-01-15  Bruno Haible  <bruno@clisp.org>
90694
90695         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
90696
90697 2003-01-15  Bruno Haible  <bruno@clisp.org>
90698
90699         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
90700         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
90701
90702 2003-01-14  Jim Meyering  <jim@meyering.net>
90703
90704         * lib/same.c (same_name): Tweak a comment.
90705
90706 2003-01-14  Bruno Haible  <bruno@clisp.org>
90707
90708         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
90709         when a string comparison is sufficient.
90710
90711 2003-01-14  Bruno Haible  <bruno@clisp.org>
90712
90713         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
90714         'unsigned int'.
90715
90716 2003-01-14  Bruno Haible  <bruno@clisp.org>
90717
90718         * lib/hash-pjw.c: Add comment about low quality of this function.
90719
90720 2003-01-13  Bruno Haible  <bruno@clisp.org>
90721
90722         * modules/stpcpy: Distribute lib/stpcpy.h.
90723         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
90724
90725 2003-01-13  Bruno Haible  <bruno@clisp.org>
90726
90727         * modules/*: Add a description.
90728         * modules/strpbrk: Fix Makefile.am snippet.
90729         * modules/strtoimax: Fix dependencies.
90730         * modules/strtoumax: Likewise.
90731
90732 2003-01-13  Bruno Haible  <bruno@clisp.org>
90733
90734         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
90735         * modules/alloca (Makefile.am): All object files depend on alloca.h.
90736         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
90737
90738 2003-01-13  Bruno Haible  <bruno@clisp.org>
90739
90740         * gnulib-tool (func_create_testdir): Store config/* files in the main
90741         directory.
90742         * config.rpath: Move to ...
90743         * config/config.rpath: ... here.
90744         * modules/gettext: Contains config/config.rpath, not config.rpath.
90745         * modules/iconv: Likewise.
90746
90747 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90748
90749         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90750         to avoid collisions with libcurses and libreadline.
90751
90752         * m4/getstr.m4: Remove.
90753         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
90754
90755 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90756
90757         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90758         to avoid collisions with libcurses and libreadline.
90759
90760         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
90761         * lib/getstr.h, getstr.c: Remove.
90762         * lib/getline.c: Include "getline.h", to check interface.
90763         Move body of old getstr.c here: this defines MIN_CHUNK and
90764         declares getdelim2, which is renamed from getstr.
90765         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
90766
90767         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
90768         All uses changed.
90769         * lib/linebuffer.h: Likewise.
90770         (readline): Remove backward-compatibility macro.
90771
90772 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90773
90774         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90775         to avoid collisions with libcurses and libreadline.
90776         * getstr: Remove.
90777         * MODULES.html.sh: Remove getstr.
90778         * modules/getline: Depend on unlocked-io, not getstr.
90779
90780 2003-01-12  Jim Meyering  <jim@meyering.net>
90781
90782         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
90783
90784 2003-01-10  Bruno Haible  <bruno@clisp.org>
90785
90786         * modules/alloca: Change Makefile.am requirements. Simplify Include
90787         requirements. Add lib/alloca_.h to file list.
90788
90789 2003-01-10  Bruno Haible  <bruno@clisp.org>
90790
90791         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
90792
90793 2003-01-10  Bruno Haible  <bruno@clisp.org>
90794
90795         * lib/alloca_.h: New file.
90796         * lib/getdate.y: Unconditionally include alloca.h.
90797         * lib/makepath.c: Likewise.
90798         * lib/setenv.c: Likewise.
90799         * lib/userspec.c: Likewise.
90800
90801 2003-01-09  Karl Berry  <karl@gnu.org>
90802
90803         * MODULES.html.sh: include `dirname $0` in PATH, to find
90804         gnulib-tool.
90805
90806 2003-01-09  Bruno Haible  <bruno@clisp.org>
90807
90808         * modules/stdbool: Change configure.ac, Makefile.am requirements.
90809         Simplify Include requirements. Add lib/stdbool.h.in to file list.
90810
90811 2003-01-09  Bruno Haible  <bruno@clisp.org>
90812
90813         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
90814
90815 2003-01-09  Bruno Haible  <bruno@clisp.org>
90816
90817         * lib/stdbool.h.in: New file.
90818
90819 2003-01-09  Bruno Haible  <bruno@clisp.org>
90820
90821         * gnulib-tool (func_all_modules): Ignore files ending in ~.
90822         * MODULES.html.sh: Likewise.
90823
90824 2003-01-08  Jim Meyering  <jim@meyering.net>
90825
90826         * lib/full-write.c: Undefine and define-away `const' after inclusion
90827         of errno.h, not before.  Suggestion from Bruno Haible.
90828
90829 2003-01-08  Bruno Haible  <bruno@clisp.org>
90830
90831         * modules/full-read: Depend on full-write.
90832
90833 2003-01-08  Bruno Haible  <bruno@clisp.org>
90834
90835         * lib/safe-read.c: Include specification header first, to ensure its
90836         selfcontainedness.
90837         * lib/full-write.c: Likewise.
90838
90839 2003-01-07  Jim Meyering  <jim@meyering.net>
90840
90841         * lib/full-write.c: Rework so that it may serve to define full_read,
90842         too.
90843         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
90844
90845 2003-01-07  Bruno Haible  <bruno@clisp.org>
90846
90847         * lib/strtoimax.c: Include <stdint.h> as an alternative to
90848         <inttypes.h>.
90849         * lib/xstrtol.h: Likewise.
90850         * lib/xstrtoimax.c: Likewise.
90851         * lib/xstrtoumax.c: Likewise.
90852         * lib/human.h: Likewise.
90853
90854         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
90855         on systems that have <inttypes.h> but not <stdint.h>.
90856
90857 2003-01-07  Bruno Haible  <bruno@clisp.org>
90858
90859         * MODULES.html.sh: Add copyright notice.
90860         (missed_files): Omit CVS directory entries.
90861         (func_module): Make it work with sed-3.02.
90862         * MODULES.txt: Remove file.
90863
90864 2003-01-06  Jim Meyering  <jim@meyering.net>
90865
90866         * lib/version-etc.c: Update year in translatable copyright string.
90867
90868 2003-01-03  Karl Berry  <karl@gnu.org>
90869
90870         * config/config.{guess,sub}: update from prep.
90871
90872 2003-01-02  Karl Berry  <karl@gnu.org>
90873
90874         * doc/COPYING.DOC: belatedly updated to 1.2.
90875
90876 2003-01-01  Karl Berry  <karl@gnu.org>
90877
90878         * gnulib-tool (func_verify_module): report module name $module in
90879         error message, not $1.
90880         * gnulib-tool (create-testdir): don't complain if destdir couldn't
90881         be created, only if it doesn't exist.
90882         * gnulib-tool (last_checkin_date): don't expand the $Date here.
90883
90884 2002-12-31  Paul Eggert  <eggert@twinsun.com>
90885
90886         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
90887
90888 2002-12-31  Paul Eggert  <eggert@twinsun.com>
90889
90890         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
90891         memcmp if strcoll doesn't work.
90892
90893 2002-12-31  Bruno Haible  <bruno@clisp.org>
90894
90895         * lib/utime.c (utime_null): No need to call ftruncate if the file was
90896         nonempty.
90897
90898 2002-12-31  Bruno Haible  <bruno@clisp.org>
90899
90900         * lib/memcoll.c (STRCOLL): New macro.
90901         (memcoll): Use it.
90902
90903 2002-12-31  Bruno Haible  <bruno@clisp.org>
90904
90905         * lib/localcharset.h: New file.
90906         * lib/localcharset.c: Include it.
90907         * lib/unicodeio.c: Likewise.
90908
90909 2002-12-31  Bruno Haible  <bruno@clisp.org>
90910
90911         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
90912         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
90913
90914 2002-12-31  Bruno Haible  <bruno@clisp.org>
90915
90916         * lib/getline.h: Include <stddef.h>, for size_t.
90917
90918         * lib/unicodeio.h: Include <stddef.h>, for size_t.
90919         * lib/unicodeio.c: Don't include <stddef.h>.
90920
90921 2002-12-31  Bruno Haible  <bruno@clisp.org>
90922
90923         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
90924         HAVE_TM_ZONE.
90925
90926 2002-12-24  Karl Berry  <karl@gnu.org>
90927
90928         * config/config.guess: update from prep.
90929
90930 2002-12-24  Bruno Haible  <bruno@clisp.org>
90931
90932         General infrasructure.
90933         * m4/README: Rewritten.
90934         * m4/onceonly.m4: New file.
90935         * m4/onceonly_2_57.m4: New file.
90936
90937         Module atexit.
90938         * m4/atexit.m4: New file.
90939
90940         Module strtod.
90941         * m4/strtod.m4: New file.
90942
90943         Module strtol.
90944         * m4/strtol.m4: New file.
90945
90946         Module strtoul.
90947         * m4/strtoul.m4: New file.
90948
90949         Module memchr.
90950         * m4/memchr.m4: New file.
90951
90952         Module memcmp.
90953         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
90954         (jm_FUNC_MEMCMP): Invoke it.
90955
90956         Module memcpy.
90957         * m4/memcpy.m4: New file.
90958
90959         Module memmove.
90960         * m4/memmove.m4: New file.
90961
90962         Module memset.
90963         * m4/memset.m4: New file.
90964
90965         Module strcspn.
90966         * m4/strcspn.m4: New file.
90967
90968         Module strpbrk.
90969         * m4/strpbrk.m4: New file.
90970
90971         Module strstr.
90972         * m4/strstr.m4: New file.
90973
90974         Module strerror.
90975         * m4/strerror.m4: New file.
90976
90977         Module mktime.
90978         * m4/mktime.m4: Renamed from jm-mktime.m4.
90979         (gl_PREREQ_MKTIME): New macro.
90980         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
90981
90982         Module malloc.
90983         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
90984         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
90985         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
90986
90987         Module realloc.
90988         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
90989         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
90990         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
90991
90992         Module strftime.
90993         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
90994         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
90995         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
90996         gl_TM_GMTOFF.
90997         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
90998
90999         Module xalloc.
91000         * m4/xalloc.m4: New file.
91001
91002         Module alloca.
91003         * m4/alloca.m4: New file.
91004
91005         Module putenv.
91006         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
91007         (jm_FUNC_PUTENV): Invoke it.
91008
91009         Module setenv.
91010         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
91011         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
91012         when invoked twice.
91013         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
91014         gt_FUNC_SETENV.
91015
91016         Module memrchr.
91017         * m4/memrchr.m4: New file.
91018
91019         Module stpcpy.
91020         * m4/stpcpy.m4: New file.
91021
91022         Module strcase.
91023         * m4/strcase.m4: New file.
91024
91025         Module strdup.
91026         * m4/strdup.m4: New file.
91027
91028         Module strnlen.
91029         * m4/strnlen.m4: New file.
91030
91031         Module strndup.
91032         * m4/strndup.m4: New file.
91033
91034         Module xstrtod.
91035         * m4/xstrtod.m4: New file.
91036
91037         Module xstrtol.
91038         * m4/xstrtol.m4: New file.
91039
91040         Module getdate.
91041         * m4/getdate.m4: New file.
91042
91043         Module unlocked-io.
91044         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
91045         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
91046         * m4/jm-glibc-io.m4n: Remove file.
91047
91048         Module long-options.
91049         * m4/long-options.m4: New file.
91050
91051         Module md5.
91052         * m4/md5.m4: New file.
91053
91054         Module sha.
91055         * m4/sha.m4: New file.
91056
91057         Module getstr.
91058         * m4/getstr.m4: New file.
91059
91060         Module getline.
91061         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
91062         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
91063         <sys/types.h>, for size_t. Use the function name gnu_getline, not
91064         simply getline. Infoke gl_PREREQ_GETLINE.
91065
91066         Module obstack.
91067         * m4/obstack.m4: New file.
91068
91069         Module hash.
91070         * m4/hash.m4: New file.
91071
91072         Module readtokens.
91073         * m4/readtokens.m4: New file.
91074
91075         Module strverscmp.
91076         * m4/strverscmp.m4: New file.
91077
91078         Module stdbool.
91079         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
91080         OSF/1.
91081
91082         Module strtoll.
91083         * m4/strtoll.m4: New file.
91084
91085         Module strtoull.
91086         * m4/strtoull.m4: New file.
91087
91088         Module strtoimax.
91089         * m4/strtoimax.m4: New file.
91090
91091         Module strtoumax.
91092         * m4/strtoumax.m4: New file.
91093
91094         Module xstrtoimax.
91095         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
91096         jm_AC_PREREQ_XSTRTOIMAX.
91097         Moved the strtol prerequisites to strtol.m4.
91098         Moved the strtoll prerequisites to strtoll.m4.
91099         Moved the strtoimax prerequisites to strtoimax.m4.
91100
91101         Module xstrtoumax.
91102         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
91103         jm_AC_PREREQ_XSTRTOUMAX.
91104         Moved the strtoul prerequisites to strtoul.m4.
91105         Moved the strtoull prerequisites to strtoull.m4.
91106         Moved the strtoumax prerequisites to strtoumax.m4.
91107
91108         Module chown.
91109         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
91110         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
91111
91112         Module dup2.
91113         * m4/dup2.m4: New file.
91114
91115         Module ftruncate.
91116         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
91117         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
91118
91119         Module getgroups.
91120         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
91121         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
91122
91123         Module gettimeofday.
91124         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
91125         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
91126         gl_PREREQ_GETTIMEOFDAY.
91127
91128         Module mkdir.
91129         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
91130         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
91131
91132         Module mkstemp.
91133         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
91134         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
91135         jm_AC_TYPE_UINTMAX_T.
91136         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
91137
91138         Module stat.
91139         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
91140         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
91141
91142         Module lstat.
91143         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
91144         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
91145
91146         Module timespec.
91147         * m4/timespec.m4 (gl_TIMESPEC): New macro.
91148         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
91149         * m4/st_mtim.m4: Indentation.
91150
91151         Module nanosleep.
91152         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
91153         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
91154         gl_PREREQ_NANOSLEEP.
91155
91156         Module regex.
91157         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
91158         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
91159         (gl_REGEX): New macro.
91160
91161         Module rename.
91162         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
91163         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
91164
91165         Module rmdir.
91166         * m4/rmdir.m4: New file.
91167
91168         Module utime.
91169         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
91170         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
91171         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
91172
91173         Module dirname.
91174         * m4/dirname.m4: New file.
91175
91176         Module getopt.
91177         * m4/getopt.m4: New file.
91178
91179         Module unistd-safer.
91180         * m4/unistd-safer.m4: New file.
91181
91182         Module fnmatch.
91183         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
91184         declaration.
91185         (gl_PREREQ_FNMATCH_EXTRA): New macro.
91186         (gl_FUNC_FNMATCH_POSIX): New macro.
91187         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
91188         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
91189         simply fnmatch.
91190
91191         Module exclude.
91192         * m4/exclude.m4: New file.
91193
91194         Module human.
91195         * m4/human.m4: New file.
91196
91197         Module acl.
91198         * m4/acl.m4: Nop.
91199
91200         Module backupfile.
91201         * m4/backupfile.m4: New file.
91202         * m4/d-ino.m4: Indentation.
91203
91204         Module fsusage.
91205         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
91206         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
91207         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
91208
91209         Module dirfd.
91210         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
91211         requirements.
91212
91213         Module euidaccess.
91214         * m4/euidaccess.m4: New file.
91215
91216         Module file-type.
91217         * m4/file-type.m4: New file.
91218
91219         Module fileblocks.
91220         * m4/fileblocks.m4: New file.
91221
91222         Module filemode.
91223         * m4/filemode.m4: New file.
91224
91225         Module isdir.
91226         * m4/isdir.m4: New file.
91227
91228         Module lchown.
91229         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
91230         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
91231
91232         Module makepath.
91233         * m4/makepath.m4: New file.
91234
91235         Module modechange.
91236         * m4/modechange.m4: New file.
91237
91238         Module mountlist.
91239         * m4/mountlist.m4: New file.
91240         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
91241         Indentation.
91242
91243         Module path-concat.
91244         * m4/path-concat.m4: New file.
91245
91246         Module pathmax.
91247         * m4/pathmax.m4: New file.
91248
91249         Module same.
91250         * m4/same.m4: New file.
91251
91252         Module save-cwd.
91253         * m4/save-cwd.m4: New file.
91254
91255         Module savedir.
91256         * m4/savedir.m4: New file.
91257
91258         Module xgetcwd.
91259         * m4/xgetcwd.m4: New file.
91260         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
91261
91262         Module xreadlink.
91263         * m4/xreadlink.m4: New file.
91264
91265         Module safe-read.
91266         * m4/safe-read.m4: New file.
91267
91268         Module safe-write.
91269         * m4/safe-write.m4: New file.
91270
91271         Module closeout.
91272         * m4/closeout.m4: New file.
91273
91274         Module stdio-safer.
91275         * m4/stdio-safer.m4: New file.
91276
91277         Module getpass.
91278         * m4/getpass.m4: New file.
91279
91280         Module getugroups.
91281         * m4/getugroups.m4: New file.
91282
91283         Module group-member.
91284         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
91285         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
91286
91287         Module idcache.
91288         * m4/idcache.m4: New file.
91289
91290         Module userspec.
91291         * m4/userspec.m4: New file.
91292
91293         Module gettime.
91294         * m4/clock_time.m4: New file.
91295         * m4/gettime.m4: New file.
91296
91297         Module settime.
91298         * m4/settime.m4: New file.
91299
91300         Module posixtm.
91301         * m4/posixtm.m4: New file.
91302
91303         Module gethostname.
91304         * m4/gethostname.m4: New file.
91305
91306         Module canon-host.
91307         * m4/canon-host.m4: New file.
91308
91309         Module gettext.
91310         * m4/codeset.m4: New file, from gettext-0.11.5.
91311         * m4/gettext.m4: New file, from gettext-0.11.5.
91312         * m4/glibc21.m4: New file, from gettext-0.11.5.
91313         * m4/iconv.m4: New file, from gettext-0.11.5.
91314         * m4/intdiv0.m4: New file, from gettext-0.11.5.
91315         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
91316         * m4/inttypes.m4: New file, from gettext-0.11.5.
91317         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
91318         * m4/isc-posix.m4: New file, from gettext-0.11.5.
91319         * m4/lcmessage.m4: New file, from gettext-0.11.5.
91320         * m4/lib-ld.m4: New file, from gettext-0.11.5.
91321         * m4/lib-link.m4: New file, from gettext-0.11.5.
91322         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
91323         * m4/progtest.m4: New file, from gettext-0.11.5.
91324         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
91325         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
91326         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
91327
91328         Module localcharset.
91329         * m4/localcharset.m4: New file.
91330
91331         Module hard-locale.
91332         * m4/hard-locale.m4: New file.
91333
91334         Module mbswidth.
91335         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
91336         onceonly macros.
91337         * m4/mbrtowc.m4: Add comment.
91338
91339         Module memcasecmp.
91340         * m4/memcasecmp.m4: New file.
91341
91342         Module memcoll.
91343         * m4/memcoll.m4: New file.
91344
91345         Module unicodeio.
91346         * m4/unicodeio.m4: New file.
91347
91348         Module rpmatch.
91349         * m4/rpmatch.m4: New file.
91350
91351         Module yesno.
91352         * m4/yesno.m4: New file.
91353
91354         Module exitfail.
91355         * m4/exitfail.m4: New file.
91356
91357         Module c-stack.
91358         * m4/c-stack.m4 (gl_C_STACK): New macro.
91359         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
91360
91361         Module error.
91362         * m4/error.m4 (gl_ERROR): New macro.
91363         (jm_PREREQ_ERROR): Use onceonly macros.
91364
91365         Module fatal.
91366         * m4/fatal.m4: New file.
91367
91368         Module getloadavg.
91369         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
91370         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
91371
91372         Module getpagesize.
91373         * m4/getpagesize.m4: New file.
91374
91375         Module getusershell.
91376         * m4/getusershell.m4: New file.
91377
91378         Module physmem.
91379         * m4/physmem.m4: New file.
91380
91381         Module posixver.
91382         * m4/posixver.m4: New file.
91383
91384         Module quotearg.
91385         * m4/quotearg.m4: New file.
91386
91387         Module quote.
91388         * m4/quote.m4: New file.
91389
91390         Module readutmp.
91391         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
91392
91393         Module sig2str.
91394         * m4/sig2str.m4: New file.
91395
91396         Other.
91397         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
91398         ulonglong.m4.
91399         * m4/intmax_t.m4: New file.
91400         * m4/d-type.m4: Indentation.
91401         * m4/jm-macros.m4: Update.
91402         * m4/prereq.m4 (jm_PREREQ): Update.
91403         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
91404         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
91405         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
91406         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
91407         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
91408         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
91409         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
91410         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
91411         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
91412         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
91413         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
91414         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
91415         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
91416         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
91417         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
91418         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
91419         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
91420         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
91421         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
91422
91423 2002-12-24  Bruno Haible  <bruno@clisp.org>
91424
91425         * MODULES.txt: Update according to m4/ changes.
91426
91427         Module gettext.
91428         * config.rpath: New file, from gettext-0.11.5.
91429
91430         * modules/*: New module descriptions.
91431         * gnulib-tool: New file.
91432         * MODULES.html.sh: New file.
91433
91434 2002-12-21  Karl Berry  <karl@gnu.org>
91435
91436         * doc/fdl.texi: update to version 1.2.
91437
91438 2002-12-19  Karl Berry  <karl@gnu.org>
91439
91440         * config/config.guess: update from prep.
91441
91442 2002-12-18  Bruno Haible  <bruno@clisp.org>
91443
91444         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
91445         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
91446
91447 2002-12-17  Bruno Haible  <bruno@clisp.org>
91448
91449         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
91450         stdlib.h, string.h.
91451
91452 2002-12-17  Bruno Haible  <bruno@clisp.org>
91453
91454         * lib/canon-host.c (strdup): Remove unused declaration.
91455
91456         * lib/fsusage.c: Include full_read.h.
91457         (get_fs_usage): Use full_read instead of safe_read.
91458
91459         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
91460
91461 2002-12-12  Karl Berry  <karl@gnu.org>
91462
91463         * config/config.guess: update from prep.
91464
91465 2002-12-11  Bruno Haible  <bruno@clisp.org>
91466
91467         * m4/setenv.m4: New file, from gettext-0.11.5.
91468
91469 2002-12-11  Bruno Haible  <bruno@clisp.org>
91470
91471         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
91472         not unsetenv().
91473         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
91474         modifications:
91475
91476         2002-12-11  Bruno Haible  <bruno@clisp.org>
91477
91478                 * setenv.c (alloca): Fall back to malloc.
91479                 (freea): New macro.
91480                 (setenv): Use freea() to free memory allocated with alloca().
91481
91482         2002-11-13  Bruno Haible  <bruno@clisp.org>
91483
91484                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
91485                 function declarations.
91486                 * unsetenv.c (unsetenv): Likewise.
91487
91488         2002-03-04  Bruno Haible  <bruno@clisp.org>
91489
91490                 Portability to AIX 4.3.3.
91491                 * unsetenv.c: New file, extracted from setenv.c.
91492                 * setenv.c: Move the unsetenv() function to unsetenv.c.
91493
91494         2001-12-20  Bruno Haible  <bruno@clisp.org>
91495
91496                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
91497                 use malloc instead. For SunOS 4.
91498
91499         2001-12-11  Bruno Haible  <bruno@clisp.org>
91500
91501                 * setenv.c: Declare alloca.
91502                 (compar_fn_t): New typedef.
91503                 (KNOWN_VALUE, STORE_VALUE): Use it.
91504
91505         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
91506         setenv.h.
91507
91508 2002-12-10  Paul Eggert  <eggert@twinsun.com>
91509
91510         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
91511         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
91512         Choose values that are less likely to collide with system fnmatch
91513         options.
91514         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
91515         defined (e.g., a pure POSIX system).
91516         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
91517         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
91518
91519 2002-12-06  Paul Eggert  <eggert@twinsun.com>
91520
91521         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
91522         a pain in practice to deal with generated m4 files.  This change
91523         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
91524
91525         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
91526         and jm-glibc-io.m4, as they are no longer a special case.
91527         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
91528         kludge and the auto-generation stuff.  Check only whether the
91529         functions are declared, not whether they exist, since older hosts
91530         that don't declare the functions can't use the optimization anyway.
91531
91532 2002-12-06  Jim Meyering  <jim@meyering.net>
91533
91534         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
91535
91536         Merge in changes from libc's misc/error.c, in preparation
91537         for the merge of gnulib's changes back into libc.
91538
91539         * lib/error.c (_): Define only if not already defined.
91540         Move definition to follow all #include directives.
91541         Include unlocked-io.h only if !_LIBC.
91542         [_LIBC]: Include <libio/libioP.h>.
91543         [USE_IN_LIBIO]: Include <libio/iolibio.h>
91544         (fflush): Tweak definition to use INTUSE.
91545         (putc): Define.
91546
91547 2002-12-05  Paul Eggert  <eggert@twinsun.com>
91548
91549         * lib/alloca.c [defined emacs]: Include "lisp.h".
91550         (xalloc_die) [defined emacs]: New macro.
91551         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
91552         [! defined emacs]: Include <xalloc.h>.
91553         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
91554         (pointer): Typedef to POINTER_TYPE *.
91555         (malloc): Remove decl; we now always use xmalloc.
91556         (alloca): Use old-style definition, since Emacs needs this.
91557         Check for arithmetic overflow when computing combined size.
91558
91559 2002-12-04  Paul Eggert  <eggert@twinsun.com>
91560
91561         Do not generate unlocked-io.h automatically, since it's easier to
91562         maintain it by hand.
91563
91564         * lib/unlocked-io.h: New file, from GNU diffutils,
91565         but with proper copyright notice and attribution.
91566         * lib/gen-uio: Remove.
91567         * lib/Makefile.am: Add copyright notice.
91568         (libfetish_a_SOURCES): Add unlocked-io.h.
91569         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
91570         (DISTCLEANFILES, io_functions): Remove macros.
91571         (EXTRA_DIST): Remove gen_uio.
91572         (unlocked-io.h): Remove rule.
91573
91574 2002-12-04  Jim Meyering  <jim@meyering.net>
91575
91576         Reflect the fact that stat.c and lstat.c are no longer generated.
91577         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
91578         (DISTCLEANFILES): Likewise.
91579         (EXTRA_DIST): Likewise.
91580         (all_local): Don't depend on stat.c or lstat.c.
91581         (stat.c, lstat.c): Remove rules.
91582         (EXTRA_DIST): Remove xstat.in.
91583
91584         * lib/xstat.in: Remove file.  Contents moved into stat.c.
91585         * lib/stat.c: New file.  Contents mostly from xstat.in.
91586         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
91587         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
91588
91589         * lib/safe-read.c: Rework so that it may serve to define safe_write,
91590         too.
91591         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
91592
91593 2002-12-03  Jim Meyering  <jim@meyering.net>
91594
91595         * lib/safe-read.c, safe-write.c: Change variable names and comments,
91596         but not semantics, to minimize the differences between these two files.
91597         (safe_read): Change comment to mention SAFE_READ_ERROR.
91598
91599         * lib/safe-read.c (IS_EINTR): Define.
91600         (safe_read): Use IS_EINTR in place of in-function cpp directives.
91601
91602 2002-12-02  Jim Meyering  <jim@meyering.net>
91603
91604         * lib/safe-read.c (EINTR): Define.
91605         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91606         (INT_MAX): Provide fallback.
91607         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
91608
91609         * lib/safe-read.h (SAFE_READ_ERROR): Define.
91610
91611 2002-12-02  Bruno Haible  <bruno@clisp.org>
91612
91613         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
91614         Define, taken from safe-read.c.
91615         (INT_MAX): Provide fallback.
91616         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
91617         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
91618
91619         * lib/safe-read.c (EINTR): Remove definition.
91620         (safe_read): Don't use EINTR if it is absent.
91621
91622 2002-12-01  Jim Meyering  <jim@meyering.net>
91623
91624         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
91625         zero.
91626         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
91627
91628 2002-11-27  Paul Eggert  <eggert@twinsun.com>
91629
91630         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
91631         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
91632         with `if (! (value < limit)) abort ();', for readability.
91633
91634 2002-11-26  Karl Berry  <karl@gnu.org>
91635
91636         * lib/strdup.c: copy from libc again, with jim's ok.
91637         * lib/.cppi-disable: re-add strdup.c
91638
91639 2002-11-25  Karl Berry  <karl@gnu.org>
91640
91641         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
91642         instead of "strtol.c".
91643
91644 2002-11-25  Karl Berry  <karl@gnu.org>
91645
91646         * config/install-sh: update from automake for variable quoting, $0 in
91647         error msgs, etc.
91648
91649         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
91650         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
91651         entry.
91652
91653 2002-11-25  Jim Meyering  <jim@meyering.net>
91654
91655         * lib/mktime.c: Sync from libc, now that it has the latest fix.
91656
91657 2002-11-24  Karl Berry  <karl@gnu.org>
91658
91659         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
91660         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
91661
91662 2002-11-24  Jim Meyering  <jim@meyering.net>
91663
91664         Update from coreutils:
91665
91666         * lib/mktime.c: Merge in changes from libc.
91667
91668         Avoid a link-time failure on some Linux systems.
91669         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
91670         (otherwise).
91671         (__mon_yday): Declare with the STATIC attribute.
91672         (__mktime_internal): Likewise.
91673         Based on a report from Greg Schafer.
91674
91675 2002-11-23  Jim Meyering  <jim@meyering.net>
91676
91677         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
91678         Use `unsigned', not `int', as type of index.
91679
91680         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
91681
91682         * lib/fsusage.c: Remove unneeded parentheses around operands of
91683         `defined'.
91684
91685 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91686
91687         * lib/quotearg.h: Allow multiple inclusion by surrounding with
91688         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
91689         so that we can be included first.
91690         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
91691         * lib/quotearg.c: Include quotearg.h immediately after config.h.
91692         No need to include stddef.h or sys/types.h any more.
91693         Surround local include files with "", not "<>".
91694         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
91695         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
91696         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
91697         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
91698         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
91699         (ISPRINT): Remove; no longer needed now that we assume C89.
91700
91701         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
91702         Preserve errno.
91703
91704         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
91705         quotearg_char): Use SIZE_MAX rather than
91706         (size_t) -1 when we are talking about "infinity".
91707
91708         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
91709
91710 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91711
91712         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
91713         hint that one should use `if (! x) abort ();' rather than `assert
91714         (x);', and anyway it's one less thing to worry about configuring.
91715         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
91716         hash_rehash, hash_insert): Use abort rather than assert.
91717
91718 2002-11-22  Bruno Haible  <bruno@clisp.org>
91719
91720         * lib/safe-read.h: Assume C89. Add comments.
91721         (safe_read): Change return type to size_t.
91722         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
91723         byte counts > SSIZE_MAX correctly.
91724         * lib/safe-write.h: New file.
91725         * lib/safe-write.c: New file.
91726         * lib/full-read.h: New file.
91727         * lib/full-read.c: New file.
91728         * lib/full-write.h: Assume C89. Add comments.
91729         * lib/full-write.c: Include safe-write.h.
91730         (full_write): Rewritten to use safe_write.
91731         Suggested by Jim Meyering and Paul Eggert.
91732
91733 2002-11-21  Jim Meyering  <jim@meyering.net>
91734
91735         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
91736
91737         Merge in changes from the coreutils.
91738
91739         2002-09-25  Paul Eggert  <eggert@twinsun.com>
91740         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
91741         <stdint.h>.
91742         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
91743         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
91744         int.  Work more efficiently if X is the same width as uintmax_t.
91745         Do not compare X to -1, to avoid bogus compiler warning.
91746         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
91747         Don't assume that f_frsize and f_bsize are the same type.
91748
91749         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
91750         warning on FreeBSD.
91751
91752         * lib/makepath.c (make_path): Restore umask *before* creating the final
91753         component.
91754         (make_path): Minor reformatting.
91755
91756         * lib/xmalloc.c: Adjust to work with new autoconf macros,
91757         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
91758         HAVE_MALLOC/HAVE_REALLOC.
91759
91760         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
91761         dummy ones.  At least on GNU/Linux systems, `auto' means something
91762         else.
91763         From Michael Stone.
91764
91765 2002-11-21  Bruno Haible  <bruno@clisp.org>
91766
91767         Remove case insensitive option matching.
91768         * lib/argmatch.h (argcasematch): Remove declaration.
91769         (ARGCASEMATCH): Remove macro.
91770         (__xargmatch_internal): Remove case_sensitive argument.
91771         (XARGMATCH): Update.
91772         (XARGCASEMATCH): Remove macro.
91773         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
91774         case_sensitive argument.
91775         (argcasematch): Remove function.
91776         (__xargmatch_internal): Remove case_sensitive argument.
91777         (main): Use XARGMATCH instead of XARGCASEMATCH.
91778
91779         * lib/xmalloc.c: Change compile-time error message. Add comment about
91780         required autoconf version.
91781
91782 2002-11-20  Paul Eggert  <eggert@twinsun.com>
91783
91784         Merge argmatch cleanups from Bison.  Assume C89.
91785
91786         * lib/argmatch.c: Include config.h here, not in argmatch.h.
91787         Include stdlib.h, for EXIT_FAILURE.
91788         Always include <string.h>, since we assume C89.
91789         (EXIT_FAILURE): Remove pre-C89 bug workaround.
91790         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
91791         Include <stddef.h> instead, since it's all we need for size_t.
91792         (PARAMS): Remove.  All uses removed.
91793         (ARRAY_CARDINALITY): Do not bother to #undef.
91794         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
91795         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
91796         Remove unnecessary parentheses.
91797         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
91798         Insert necessary parentheses.
91799         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
91800         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
91801
91802 2002-11-19  Bruno Haible  <bruno@clisp.org>
91803
91804         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
91805         * lib/mbswidth.h: Include <stddef.h>, for size_t.
91806
91807         * lib/mbswidth.h (PARAMS): Remove macro.
91808         (mbswidth, mbsnwidth): Use ANSI C function declarations.
91809         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
91810
91811         * lib/gcd.h (PARAMS): Remove macro.
91812         (gcd): Use ANSI C function declarations.
91813         * lib/gcd.c (gcd): Likewise.
91814
91815 2002-11-15  Bruno Haible  <bruno@clisp.org>
91816
91817         * lib/strcspn.c: Include <stddef.h>.
91818         (strcspn): Use ANSI C function declaration. Change return type to
91819         size_t. Use NULL.
91820         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
91821         (strpbrk): Use NULL.
91822         * lib/strpbrk.h (PARAMS): Remove macro.
91823         (strpbrk): Use ANSI C function declaration.
91824         * lib/strstr.c: Don't include <sys/types.h>.
91825         * lib/strstr.h (PARAMS): Remove macro.
91826         (strstr): Use ANSI C function declarations.
91827
91828 2002-11-14  Karl Berry  <karl@gnu.org>
91829
91830         * config/mkinstalldirs: `do' on separate line, instead of
91831         `for var; do'.
91832
91833 2002-11-06  Bruno Haible  <bruno@clisp.org>
91834
91835         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
91836         * lib/gcd.c (gcd): Likewise.
91837
91838 2002-11-05  Bruno Haible  <bruno@clisp.org>
91839
91840         * lib/gcd.h: New file, from gettext-0.11.5.
91841         * lib/gcd.c: New file, from gettext-0.11.5.
91842
91843 2002-11-05  Bruno Haible  <bruno@clisp.org>
91844
91845         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91846         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91847         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91848         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91849
91850         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
91851         <libintl.h>.
91852         * lib/makepath.c: Include gettext.h instead of <locale.h> and
91853         <libintl.h>.
91854
91855         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
91856         * lib/human.c: Include gettext.h instead of <libintl.h>.
91857         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
91858         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
91859         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
91860         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
91861         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
91862         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
91863         (textdomain): Remove definition.
91864         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
91865
91866         * lib/long-options.c: Remove include of <libintl.h> and definition of
91867         _.
91868         * lib/same.c: Remove include of <libintl.h> and definition of _.
91869
91870 2002-11-04  Owen Taylor  <otaylor@redhat.com>
91871
91872         * lib/config.charset: A few additions for Solaris.
91873
91874 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
91875
91876         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
91877         * lib/localcharset.c (locale_charset): Declare as extern "C".
91878
91879 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
91880
91881         * lib/config.charset: msdos in uk_UA uses CP1125.
91882
91883 2002-11-04  Bruno Haible  <bruno@clisp.org>
91884
91885         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
91886         * lib/strcase.h: New file, from GNU gettext-0.11.5.
91887         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
91888         * lib/strstr.h: New file, from GNU gettext-0.11.5.
91889         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
91890
91891 2002-11-04  Bruno Haible  <bruno@clisp.org>
91892
91893         * lib/localcharset.c (locale_charset): Don't return an empty string.
91894
91895 2002-11-04  Bruno Haible  <bruno@clisp.org>
91896
91897         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
91898         aliases.
91899
91900 2002-11-04  Bruno Haible  <bruno@clisp.org>
91901
91902         * lib/config.charset: Update for newest glibc. Add canonical names
91903         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
91904
91905 2002-11-04  Bruno Haible  <bruno@clisp.org>
91906
91907         * lib/config.charset: Add support for NetBSD.
91908
91909 2002-11-04  Bruno Haible  <bruno@clisp.org>
91910
91911         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
91912
91913 2002-11-01  Bruno Haible  <bruno@clisp.org>
91914
91915         * configure.in: Add AC_CONFIG_AUX_DIR call.
91916         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
91917         test/Makefile.
91918         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
91919
91920 2002-09-28  Karl Berry  <karl@gnu.org>
91921
91922         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
91923         installed automake until the next release, since changes have been
91924         made.
91925
91926 2002-09-25  Karl Berry  <karl@gnu.org>
91927
91928         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
91929         * lib/getopt*: copy from libc/posix.
91930         * lib/gettext.h: copy from gettext.
91931         * lib/.cppi-disable: add strdup.c, gettext.h.
91932
91933 2002-09-25  Karl Berry  <karl@gnu.org>
91934
91935         * config/srclist.txt: enable gettext.h check.
91936         * config/config.{guess,sub}: update from prep.
91937         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
91938                 from automake 1.6.3.
91939         See srclist*.
91940
91941 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
91942
91943         * regex.c (PATFETCH): Remove the translating fetch.
91944         (PATFETCH_RAW): Rename to PATFETCH.
91945         (set_image_of_range): New fun.
91946         (SET_RANGE_TABLE_WORK_AREA): Use it.
91947         (regex_compile): Don't translate the pattern chars so eagerly.
91948         Only do it when inserting an `exactn' bytecode or when handling
91949         a char-range.
91950         (mutually_exclusive_p): Avoid empty statement.
91951
91952 2002-07-06  Jim Meyering  <meyering@lucent.com>
91953
91954         * m4/README: Don't mention Makefile.am.in.
91955         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
91956
91957 2002-07-01  Jim Meyering  <meyering@lucent.com>
91958
91959         * lib/c-stack.c: Include sys/time.h.
91960         From Volker Borchert.
91961
91962 2002-06-26  Paul Eggert  <eggert@twinsun.com>
91963
91964         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
91965
91966 2002-06-26  Paul Eggert  <eggert@twinsun.com>
91967
91968         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
91969         New macro.  Use it uniformly instead of
91970         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
91971         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
91972         reported by Vin Shelton.
91973
91974 2002-06-22  Paul Eggert  <eggert@twinsun.com>
91975
91976         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
91977         Do not assume SA_SIGINFO behavior.
91978         Bug reported by Jim Meyering on NetBSD 1.5.2.
91979
91980 2002-06-22  Jim Meyering  <meyering@lucent.com>
91981
91982         * m4/c-stack.m4: New file, from diffutils-2.8.2.
91983         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
91984
91985         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
91986         now that configure.ac uses AC_GNU_SOURCE.
91987         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
91988         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
91989
91990         Update to latest tools.  Suggestions from Paul Eggert.
91991         * m4/stdbool.m4: New file, from diffutils-2.8.2.
91992         * m4/gnu-source.m4: Update from diffutils-2.8.2.
91993         * m4/fnmatch.m4: Likewise.
91994         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
91995         to AC_HEADER_STDBOOL
91996
91997 2002-06-22  Jim Meyering  <meyering@lucent.com>
91998
91999         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
92000         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
92001
92002 2002-06-22  Jim Meyering  <meyering@lucent.com>
92003
92004         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
92005
92006         * lib/exitfail.c, exitfail.h: Likewise.
92007         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
92008
92009         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
92010         of fnmatch.h.
92011         (EXTRA_DIST): Add fnmatch_loop.c.
92012         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
92013
92014         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
92015         * lib/fnmatch.c: Update from diffutils-2.8.2.
92016         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
92017         * lib/fnmatch.h: Remove file.
92018
92019 2002-06-21  Jim Meyering  <meyering@lucent.com>
92020
92021         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
92022         * m4/mbrtowc.m4: Likewise.
92023
92024         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
92025         * m4/mbswidth.m4: Reflect name change:
92026         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
92027         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
92028
92029         * m4/lib-link.m4: Update from gettext-0.11.2.
92030         * m4/gettext.m4: Likewise.
92031
92032         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
92033         From Alfred M. Szmidt.
92034
92035 2002-06-18  Paul Eggert  <eggert@twinsun.com>
92036
92037         * lib/file-type.h: Report an error if neither S_ISREG nor
92038         S_IFREG is defined, instead of using a test specific to glibc
92039         2.2.  This should be safe, since POSIX requires S_ISREG and
92040         Unix Version 7 had S_IFREG.  We don't need to check for
92041         <sys/types.h> since we don't use any symbols that it defines.
92042
92043 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
92044
92045         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
92046         $@-t, so that each temporary file name is unique and valid in the first
92047         8 characters, for operation under DOS.
92048
92049 2002-06-15  Paul Eggert  <eggert@twinsun.com>
92050
92051         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
92052
92053 2002-06-15  Jim Meyering  <meyering@lucent.com>
92054
92055         Work even with DJGPP 2.03, which lacks support for symlinks.
92056         From Richard Dawe.
92057         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
92058         is defined.
92059         * lib/lchown.c (S_ISLNK): Likewise.
92060
92061 2002-06-15  Jim Meyering  <meyering@lucent.com>
92062
92063         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
92064         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
92065         have been included before this file.
92066
92067 2002-06-14  Jim Meyering  <meyering@lucent.com>
92068
92069         * lib/file-type.h: Use the version from diffutils-2.8.2.
92070         * lib/file-type.c: Likewise.
92071
92072 2002-06-07  Jim Meyering  <meyering@lucent.com>
92073
92074         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
92075         They're needed at least for NetBSD 1.5.2.
92076         ($statxfs_includes): Include those same headers.
92077         ($statxfs_includes): Include sys/vfs.h if available.
92078         ($statxfs_includes): Likewise for sys/statvfs.h.
92079         Check for the following members in both structs statfs and statvfs:
92080         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
92081
92082 2002-06-01  Jim Meyering  <meyering@lucent.com>
92083
92084         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
92085         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
92086
92087 2002-05-28  Jim Meyering  <meyering@lucent.com>
92088
92089         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
92090         Reported by Volker Borchert.
92091
92092 2002-05-27  Jim Meyering  <meyering@lucent.com>
92093
92094         Fix a problem seen only on nonconforming systems whereby ls.c's
92095         use of localtime, and then of gettimeofday would cause trouble:
92096         the localtime call used to initialize rpl_gettimeofday's save
92097         mechanism would clobber ls's current local time information so
92098         that in any long listing the first file would always be listed
92099         with date 1970-01-01.  Analysis by Volker Borchert.
92100
92101         * lib/gettimeofday.c (localtime): Undefine.
92102         (rpl_localtime): New function.
92103
92104 2002-05-27  Jim Meyering  <meyering@lucent.com>
92105
92106         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
92107         localtime.
92108
92109         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
92110         use the replacement function; it wouldn't resolve at link time.
92111         Reported by Volker Borchert.
92112
92113 2002-05-22  Jim Meyering  <meyering@lucent.com>
92114
92115         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
92116         file-type.h.
92117         * lib/file-type.h: New file.
92118         * lib/file-type.c (file_type): New file/function.  Extracted from
92119         diffutils.
92120
92121 2002-04-30  Jim Meyering  <meyering@lucent.com>
92122
92123         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
92124
92125 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92126
92127         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
92128
92129 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92130
92131         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
92132         Do not check for alloca.h (no longer used) or stdbool.h (was never
92133         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
92134
92135 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92136
92137         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
92138
92139 2002-04-29  Jim Meyering  <meyering@lucent.com>
92140
92141         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
92142         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
92143         Use AC_FUNC_STRNLEN here instead.
92144
92145         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
92146         With autoconf-2.53a, it's part of AC_PROG_CC.
92147
92148 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92149
92150         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
92151         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
92152
92153 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92154
92155         * lib/sig2str.h, lib/sig2str.c: New files.
92156         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
92157
92158 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92159
92160         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
92161         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
92162         of 127, since 64 is the largest conceivable number for ancient
92163         nonstandard hosts.
92164         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
92165
92166 2002-04-28  Jim Meyering  <meyering@lucent.com>
92167
92168         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
92169
92170 2002-04-24  Jim Meyering  <meyering@lucent.com>
92171
92172         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
92173         (jm_PREREQ): Use it.
92174
92175         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
92176         mach/mach.h fcntl.h.
92177         Check for this function: setlocale.
92178
92179 2002-04-24  Jim Meyering  <meyering@lucent.com>
92180
92181         * lib/gettext.h: New file, from Gettext.
92182         * lib/Makefile.am (INCLUDES): Remove -I../intl.
92183         (libfetish_a_SOURCES): Add gettext.h.
92184
92185 2002-04-16  Jim Meyering  <meyering@lucent.com>
92186
92187         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
92188         ut_pid, ut_id, ut_exit.
92189
92190 2002-04-16  Jim Meyering  <meyering@lucent.com>
92191
92192         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
92193         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
92194         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
92195
92196 2002-04-12  Jim Meyering  <meyering@lucent.com>
92197
92198         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
92199         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
92200         existence of the getmntinfo function.  Needed for Darwin 5.3.
92201
92202         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
92203         This is necessary at least on Darwin 5.3.
92204
92205         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
92206         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
92207         strnlen.o in the library, and that makes some versions of ranlib
92208         object.
92209
92210 2002-04-12  Jim Meyering  <meyering@lucent.com>
92211
92212         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
92213
92214 2002-04-09  Jim Meyering  <meyering@lucent.com>
92215
92216         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
92217         to be more precise.  Rather than saying we're checking whether the
92218         function `works', say what we're testing.
92219         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
92220         Reported by Bruno Haible.
92221
92222 2002-03-10  Jim Meyering  <meyering@lucent.com>
92223
92224         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
92225         Suggestion from Santiago Vila.
92226
92227 2002-03-08  Jim Meyering  <meyering@lucent.com>
92228
92229         * lib/rename.c: Mention that this wrapper is needed also on
92230         mips-dec-ultrix4.4 systems.
92231
92232 2002-03-02  Jim Meyering  <meyering@lucent.com>
92233
92234         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
92235         not HAVE_CLOCK_SETTIME.
92236
92237 2002-02-27  Paul Eggert  <eggert@twinsun.com>
92238
92239         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
92240         Check for clock_settime.
92241
92242 2002-02-27  Paul Eggert  <eggert@twinsun.com>
92243
92244         * lib/nanosleep.h: Rename to....
92245         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
92246
92247         * lib/gettime.c: New file.
92248         * lib/settime.c: New file.
92249         * lib/stime.c: Remove.
92250
92251         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
92252         timespec.h.  Remove nanosleep.h.
92253
92254 2002-02-25  Paul Eggert  <eggert@twinsun.com>
92255
92256         * m4/acl.m4: New file.
92257         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
92258         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
92259
92260 2002-02-25  Paul Eggert  <eggert@twinsun.com>
92261
92262         * lib/acl.c, lib/acl.h: New files.
92263         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
92264
92265 2002-02-24  Jim Meyering  <meyering@lucent.com>
92266
92267         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
92268         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
92269         cause trouble.  Reported by Nelson Beebe.
92270
92271 2002-02-23  Paul Eggert  <eggert@twinsun.com>
92272
92273         * lib/path-concat.c (xpath_concat): Reorder code to pacify
92274         compilers that don't know that xalloc_die never returns.
92275
92276 2002-02-20  Jim Meyering  <meyering@lucent.com>
92277
92278         * lib/getdate.c: Regenerate using bison-1.33.
92279
92280 2002-02-17  Jim Meyering  <meyering@lucent.com>
92281
92282         * config/config.guess (main): Don't use `head -1'; it's no longer
92283         portable. Use `sed 1q' instead.
92284
92285 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
92286
92287         * m4/codeset.m4: Upgrade to gettext-0.11.
92288         * m4/gettext.m4: Upgrade to gettext-0.11.
92289         * m4/glibc21.m4: Upgrade to gettext-0.11.
92290         * m4/iconv.m4: Upgrade to gettext-0.11.
92291         * m4/isc-posix.m4: Upgrade to gettext-0.11.
92292         * m4/lcmessage.m4: Upgrade to gettext-0.11.
92293         * m4/lib-ld.m4: New file, from gettext-0.11.
92294         * m4/lib-link.m4: New file, from gettext-0.11.
92295         * m4/lib-prefix.m4: New file, from gettext-0.11.
92296         * m4/progtest.m4: Upgrade to gettext-0.11.
92297
92298 2002-02-15  Paul Eggert  <eggert@twinsun.com>
92299
92300         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
92301         (jm_PREREQ): Use it.
92302
92303 2002-02-15  Paul Eggert  <eggert@twinsun.com>
92304
92305         * lib/posixver.c, lib/posixver.h: New files.
92306         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
92307
92308 2002-02-02  Paul Eggert  <eggert@twinsun.com>
92309             Bruno Haible  <bruno@clisp.org>
92310
92311         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
92312         (fwrite_success_callback): New declaration.
92313         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
92314         print_unicode_char. Call failure callback instead of error.
92315         (fwrite_success_callback): New function.
92316         (exit_failure_callback): New function.
92317         (fallback_failure_callback): New function.
92318         (print_unicode_char): Call unicode_to_mb.
92319
92320 2002-01-26  Jim Meyering  <meyering@lucent.com>
92321
92322         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
92323         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
92324
92325 2002-01-26  Jim Meyering  <meyering@lucent.com>
92326
92327         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
92328
92329 2002-01-22  Paul Eggert  <eggert@twinsun.com>
92330
92331         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
92332
92333 2002-01-22  Jim Meyering  <meyering@lucent.com>
92334
92335         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
92336         Otherwise, some versions of automake would omit the rule that makes
92337         Makefile from Makefile.in.
92338
92339 2002-01-21  Paul Eggert  <eggert@twinsun.com>
92340
92341         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
92342         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
92343         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
92344         (memcoll): Set errno to zero if there is no error.
92345
92346         * lib/quotearg.c (quotearg_buffer_restyled):
92347         Fix bug with quoting buffers containing NUL when backslashing escapes.
92348         This bug was exposed by the other changes in this patch.
92349         (quotearg_n_options): New arg ARGSIZE.
92350         All callers changed.
92351         (quoting_options_from_style): New function.
92352         (quotearg_n_style): Use it.
92353         (quotearg_n_style_mem): New function.
92354
92355         * lib/quotearg.h (quotearg_n_style_mem): New function.
92356
92357 2002-01-19  Jim Meyering  <meyering@lucent.com>
92358
92359         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
92360         Remove useless quotes: DF_PROG="df".
92361         * m4/strnlen.m4: New file.
92362
92363 2002-01-16  Paul Eggert  <eggert@twinsun.com>
92364
92365         * lib/backupfile.c (ISDIGIT): Comment fix.
92366         * lib/getdate.y (ISDIGIT): Likewise.
92367         * lib/posixtm.c (ISDIGIT, year): Likewise.
92368         * lib/strverscmp.c (ISDIGIT): Likewise.
92369         * lib/userspec.c (ISDIGIT): Likewise.
92370
92371 2002-01-16  Jim Meyering  <meyering@lucent.com>
92372
92373         * lib/getdate.y: Add three semicolons, each just before a closing
92374         brace. Bison (as of version 1.31) no longer papers over that mistake.
92375
92376 2002-01-05  Jim Meyering  <meyering@lucent.com>
92377
92378         * lib/version-etc.c (version_etc_copyright): Update copyright year.
92379
92380 2001-12-19  Paul Eggert  <eggert@twinsun.com>
92381
92382         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
92383         not silently exit merely because the output buffer happens to
92384         have nothing pending.
92385
92386 2001-12-18  Paul Eggert  <eggert@twinsun.com>
92387
92388         See the big note in ../ChangeLog.
92389         * lib/human.c (suffixes): Prefer K to k for 1024.
92390         (generate_suffix_backwards): New function.
92391         (human_readable_inexact): Use it.
92392         * lib/xstrtol.c (__xstrtol): If there is no number but there
92393         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
92394         Accept 'K' as well as 'k'.
92395
92396 2001-12-15  Jim Meyering  <meyering@lucent.com>
92397
92398         * lib/regex.h (__restrict_arr): Update from libc.
92399
92400         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
92401         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
92402         (STREQ): Define.
92403
92404 2001-12-14  Jim Meyering  <meyering@lucent.com>
92405
92406         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
92407         Suggestion from Bruno Haible.
92408
92409 2001-12-10  Jim Meyering  <meyering@lucent.com>
92410
92411         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
92412         xrealloc, Instead, include "xalloc.h".
92413         (initbuffer): Don't cast xmalloc return value to char*.
92414         (readline): Reword comment.
92415         Don't cast xrealloc return value to char*
92416         Return NULL, not 0.
92417
92418 2001-12-09  Jim Meyering  <meyering@lucent.com>
92419
92420         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
92421         about `signed and unsigned type in conditional expression'.
92422         * lib/posixtm.c (posix_time_parse): Likewise.
92423
92424         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
92425
92426         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
92427         to avoid a pedantic warning.
92428
92429         * lib/getstr.c: Don't include assert.h.
92430         (getstr): Remove warning-evoking assertions.
92431         Return -1 if offset parameter is out of bounds.
92432         Change the type of a local from int to size_t.
92433
92434         * lib/strftime.c (my_strftime_localtime_r): Include this function
92435         definition in the `#if ! HAVE_TM_GMTOFF' block.
92436
92437         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
92438         Include xalloc.h instead.
92439
92440 2001-12-02  Jim Meyering  <meyering@lucent.com>
92441
92442         * lib/tempname.c: Don't declare getenv, thus reverting the change of
92443         2001-11-18.  It's no longer necessary, now that stdlib.h is always
92444         included.
92445
92446         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
92447         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
92448
92449 2001-11-30  Akim Demaille  <akim@epita.fr>
92450
92451         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
92452         before being defined.
92453
92454 2001-11-27  Paul Eggert  <eggert@twinsun.com>
92455
92456         * lib/quotearg.h (quotearg_n, quotearg_n_style):
92457         First arg is int, not unsigned.
92458         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
92459         (SIZE_MAX, UINT_MAX): New macros.
92460         (quotearg_n_options): Abort if N is negative.
92461         Avoid overflow check on hosts where size_t is 64 bits and int
92462         is 32 bits, as overflow is impossible there.
92463         Fix off-by-one typo that caused unnecessary reallocation.
92464
92465 2001-11-27  Jim Meyering  <meyering@lucent.com>
92466
92467         * lib/tempname.c: Merge with version from libc.
92468         * lib/regex.c: Likewise.
92469
92470         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
92471         systems for which STDC_HEADERS is 0, it was not included, resulting in
92472         a warning about an integer-to-pointer conversion problem with getenv.
92473         Reported by Volker Borchert.
92474
92475 2001-11-26  Jim Meyering  <meyering@lucent.com>
92476
92477         * lib/gtod.h: Remove file.
92478         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
92479         * lib/gettimeofday.c: Don't include gtod.h.
92480         (GTOD_init): Remove function.
92481         (rpl_gettimeofday): Do its job here instead, rather than aborting.
92482         Suggestion from Volker Borchert.
92483
92484 2001-11-23  Jim Meyering  <meyering@lucent.com>
92485
92486         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
92487         it.
92488         * lib/hash.c (struct hash_table): Define it here instead.
92489
92490 2001-11-22  Jim Meyering  <meyering@lucent.com>
92491
92492         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
92493
92494 2001-11-20  Jim Meyering  <meyering@lucent.com>
92495
92496         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
92497         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
92498
92499 2001-11-19  Jim Meyering  <meyering@lucent.com>
92500
92501         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
92502         directory.  Use "conftestXXXXXX" as the template.
92503         Suggestion from Paul Eggert.
92504
92505         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
92506         immediately, so the test doesn't mistakenly hit the max-open-files
92507         limit.
92508
92509 2001-11-18  Paul Eggert  <eggert@twinsun.com>
92510
92511         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
92512         (TEMPORARIES): New macro.
92513         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
92514         removes an artificial limitation (e.g. HP-UX 10.20, where
92515         TMP_MAX is 17576).
92516
92517 2001-11-18  Jim Meyering  <meyering@lucent.com>
92518
92519         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
92520
92521 2001-11-18  Jim Meyering  <meyering@lucent.com>
92522
92523         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
92524         on SunOS 4.
92525
92526         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
92527         files will be created before anything else.
92528
92529 2001-11-17  Paul Eggert  <eggert@twinsun.com>
92530
92531         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
92532         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
92533
92534 2001-11-17  Jim Meyering  <meyering@lucent.com>
92535
92536         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
92537         Prompted by a report from Bob Proulx.
92538
92539         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
92540         Instead, require UTILS_FUNC_MKSTEMP.
92541
92542 2001-11-17  Jim Meyering  <meyering@lucent.com>
92543
92544         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
92545         Now, that's done as part of AC_FUNC_STRTOD.
92546
92547 2001-11-17  Jim Meyering  <meyering@lucent.com>
92548
92549         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
92550         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
92551         rather than group writable.  Patch by Juan F. Codagnone.
92552
92553         * lib/readtokens.c: Remove explicit declarations of xmalloc and
92554         xrealloc, Instead, include "xalloc.h".
92555
92556         * lib/mountlist.c: Include unlocked-io.h after all system headers.
92557         Remove explicit declarations of xmalloc, xrealloc,
92558         and xstrdup.  Instead, include "xalloc.h".
92559
92560         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
92561         unlocked-io.h.
92562         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
92563         Likewise.
92564         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
92565
92566         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
92567         Reported by Padraig Brady.
92568
92569         * lib/mkstemp.c: #undef mkstemp.
92570         Include config.h.
92571         (rpl_mkstemp): Rename from mkstemp.
92572         Protoize.
92573
92574 2001-11-16  Jim Meyering  <meyering@lucent.com>
92575
92576         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
92577         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
92578         determine the amount of total physical memory, use pstat_getstatic.
92579         HPUX-11 doesn't define _SC_PHYS_PAGES.
92580         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
92581         If sysconf couldn't be used to determine the amount of available
92582         physical memory, use both pstat_getstatic and pstat_getdynamic.
92583         Based on a patch from Bob Proulx.
92584
92585 2001-11-10  Jim Meyering  <meyering@lucent.com>
92586
92587         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
92588         (jm_PREREQ): Use it.
92589
92590 2001-11-09  Jim Meyering  <meyering@lucent.com>
92591
92592         * m4/jm-macros.m4: Require autoconf-2.52f.
92593         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
92594         Use these AC_-prefixed names, not the AM_-prefixed ones.
92595
92596         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
92597
92598 2001-11-05  Jim Meyering  <meyering@lucent.com>
92599
92600         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
92601
92602 2001-11-04  Jim Meyering  <meyering@lucent.com>
92603
92604         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
92605         $DEFS.
92606
92607 2001-11-03  Jim Meyering  <meyering@lucent.com>
92608
92609         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
92610         of AC_DEFUN.
92611
92612         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
92613         know the name of the variable in the macro definition.
92614
92615 2001-11-03  Jim Meyering  <meyering@lucent.com>
92616
92617         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
92618         in argmatch_to_argument call.
92619
92620         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
92621         argument.
92622
92623         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
92624         e.g., a fault due to an attempt to free a NULL pointer.
92625
92626 2001-11-01  Jim Meyering  <meyering@lucent.com>
92627
92628         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
92629         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
92630
92631 2001-11-01  Jim Meyering  <meyering@lucent.com>
92632
92633         * lib/dirfd.c, lib/dirfd.h: New files.
92634         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
92635
92636         * lib/hash.c (hash_print) [TESTING]: Clean up.
92637
92638 2001-10-22  Paul Eggert  <eggert@twinsun.com>
92639
92640         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
92641         to avoid a warning if -Wall.
92642
92643 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
92644
92645         * README: New file
92646         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
92647         (per RMS's instructions, this is now the canonical source)
92648         * lgpl/, gpl/: New directories.
92649
92650 2001-10-21  Paul Eggert  <eggert@twinsun.com>
92651
92652         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
92653
92654 2001-10-21  Jim Meyering  <meyering@lucent.com>
92655
92656         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
92657         this code would end up calling gettext even in packages built
92658         with --disable-nls.
92659         * lib/getopt.c (_): Likewise.
92660         * lib/regex.c (_): Likewise.
92661
92662 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92663
92664         * m4/error.m4 (jm_PREREQ_ERROR):
92665         Do not invoke AC_CHECK_FUNCS with strerror_r, as
92666         AC_FUNC_STRERROR_R does that.
92667         Check for strerror declaration.
92668
92669         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
92670         are supposed to have them these days.
92671         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
92672         Merge changes from latest Autoconf CVS.
92673         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
92674         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
92675         POSIX decided to standardize on the int flavor of strerror_r.
92676
92677 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92678
92679         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
92680         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
92681         Use strerror_r that is only a macro, even if it is not a function.
92682         (strerror): Check for HAVE_DECL_STRERROR before declaring.
92683         (private_strerror): Use prototypes, not old-style function definition.
92684         (print_errno_message): New function.
92685         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
92686         char*-flavored one.
92687         (error_tail, error, error_at_line): Use it.
92688
92689 2001-10-11  Jim Meyering  <meyering@lucent.com>
92690
92691         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
92692         and quote_n (1, ... to avoid clobbering a buffer.
92693
92694 2001-10-05  Jim Meyering  <meyering@lucent.com>
92695
92696         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
92697         hash-pjw.h.
92698         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
92699         * lib/hash-pjw.h: New file.
92700
92701 2001-09-30  Jim Meyering  <meyering@lucent.com>
92702
92703         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
92704         `struct fsstat' has the `f_fstypename' member.
92705         Use that to define FS_TYPE, which is now used to make
92706         the getfsstat link test tighter.
92707
92708 2001-09-30  Jim Meyering  <meyering@lucent.com>
92709
92710         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
92711         Include <sys/ucred.h>, for Apple Darwin.
92712         Include sys/mount.h and sys/fs_types.h only if available.
92713         (FS_TYPE): Define.
92714         (read_filesystem_list): Use FS_TYPE.
92715
92716 2001-09-29  Paul Eggert  <eggert@twinsun.com>
92717
92718         * lib/exclude.c (excluded_filename): 0 -> false, since it's
92719         a boolean context.
92720
92721 2001-09-29  Jim Meyering  <meyering@lucent.com>
92722
92723         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92724         [one-argument getmntent function]): Include stdio.h before mntent.h.
92725         SunOS 4.1.x needs it for the declaration of `FILE'.
92726         Patch by Volker Borchert.
92727
92728         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92729         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
92730         sys/fs_types.h, and make the link-test for getfsstat guard #include
92731         directives with appropriate #if HAVE_*_H tests so that we can
92732         detect getfsstat on Apple Darwin1.3.7 systems.
92733         Reported by Nelson Beebe.
92734         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
92735
92736 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92737
92738         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92739         #defines strtoimax.  Also treat the other strto* functions
92740         like strtoimax.
92741
92742         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
92743         Check for strtoul and strtoumax,
92744         as those declarations are made even in the signed case.
92745         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
92746         Likewise, for strtol and strtoimax.
92747
92748 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92749
92750         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92751         #defines strtoimax.  Also treat the other strto* functions
92752         like strtoimax.
92753
92754         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
92755         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
92756         (strtoimax, strtoumax): Do not declare if already defined as a macro.
92757
92758 2001-09-26  Jim Meyering  <meyering@lucent.com>
92759
92760         Most macros in unlocked-io.h had the wrong number of arguments.
92761         * lib/gen-uio: New script.
92762         (USE_UNLOCKED_IO): Define to 1 if not already defined.
92763         * lib/unlocked-io.hin: Remove file.
92764         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
92765         rather than trying to embed it here.
92766         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
92767         Reported by Padraig Brady.
92768
92769 2001-09-25  Volker Borchert  <bt@teknon.de>
92770
92771         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
92772         `result'.
92773
92774 2001-09-24  Jim Meyering  <meyering@lucent.com>
92775
92776         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
92777
92778 2001-09-23  Jim Meyering  <meyering@lucent.com>
92779
92780         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
92781         instead of the mere test for existence of mntent.h.  The latter
92782         would get a false-positive on AIX 3.4 systems.
92783         In the outer getmntent if-block, don't die if neither of the getmntent
92784         tests succeeds.  Instead, just fall through and continue with the
92785         remaining tests.
92786
92787 2001-09-23  Jim Meyering  <meyering@lucent.com>
92788
92789         * lib/mountlist.c: Remove useless parentheses in #if directives.
92790         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
92791         the deprecated MOUNTED symbol is no longer defined in mntent.h.
92792
92793 2001-09-22  Jim Meyering  <meyering@lucent.com>
92794
92795         * m4/gettext.m4: New file.  From gettext.
92796         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
92797         * m4/progtest.m4: Likewise
92798         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
92799         * m4/glibc21.m4: Likewise.
92800
92801         * m4/libintl.m4: Remove.  No longer used.
92802
92803 2001-09-22  Jim Meyering  <meyering@lucent.com>
92804
92805         * lib/localcharset.c: Update from latest gettext.
92806         * lib/config.charset: Likewise.
92807
92808 2001-09-20  Jim Meyering  <meyering@lucent.com>
92809
92810         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
92811         strtoimax.
92812         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
92813         strtoumax.
92814
92815 2001-09-20  Jim Meyering  <meyering@lucent.com>
92816
92817         * lib/xstrtol.c (strtoimax): Guard declaration with
92818         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
92819         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
92820         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
92821         (strtoumax): Likewise, for completeness (it wasn't necessary).
92822
92823 2001-09-17  Paul Eggert  <eggert@twinsun.com>
92824
92825         * lib/strtoimax.c (HAVE_LONG_LONG):
92826         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
92827         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
92828         to work around bug in IBM C compiler.
92829
92830 2001-09-17  Jim Meyering  <meyering@lucent.com>
92831
92832         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
92833         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
92834         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
92835         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
92836         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
92837         whenever the right hand side need not be expanded by the shell.
92838
92839 2001-09-16  Paul Eggert  <eggert@twinsun.com>
92840
92841         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
92842         library.  It's not correct, as some older glibcs are buggy.
92843         fnmatch wasn't fixed until glibc 2.2.
92844
92845         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
92846         special shell magic here.
92847
92848 2001-09-16  Jim Meyering  <meyering@lucent.com>
92849
92850         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
92851         * m4/jm-macros.m4: Require it.
92852
92853 2001-09-16  Jim Meyering  <meyering@lucent.com>
92854
92855         * lib/mkdir.c: New file.
92856
92857 2001-09-15  Jim Meyering  <meyering@lucent.com>
92858
92859         * m4/jm-macros.m4: Check for help2man.
92860
92861 2001-09-11  Jim Meyering  <meyering@lucent.com>
92862
92863         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
92864         The body, by Paul Eggert, was moved here from configure.in.
92865         * m4/jm-macros.m4: Require UTILS_HOST_OS.
92866
92867 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92868
92869         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
92870         (jm_PREREQ): Use it.
92871
92872 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92873
92874         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
92875         Use ssize_t, not int, to store result of readlink.
92876         Check for ssize_t overflow as well as size_t overflow,
92877         as POSIX says the result of readlink is implementation-defined
92878         when ssize_t overflows.
92879         Remove unnecessary cast to char*.
92880         Use free+malloc instead of realloc, as the storage doesn't need
92881         to be preserved and it's clearer and can be more efficient that way.
92882         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
92883         * lib/xreadlink.h (xreadlink): Update prototype.
92884
92885 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92886
92887         * lib/xgetcwd.c: Revert some of the previous change; intead,
92888         fix the HAVE_GETCWD_NULL code to behave more like the
92889         !HAVE_GETCWD_NULL code used to.
92890
92891         Include "xalloc.h".
92892         (xgetcwd): Do not return NULL when memory is exhausted; instead,
92893         invoke xalloc_die.
92894
92895 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92896
92897         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
92898         sys/param.h, as pathmax.h includes them.
92899
92900 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92901
92902         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
92903         (jm_PREREQ_XGETCWD): New macro.
92904
92905         * m4/getcwd.m4: New file.
92906
92907 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92908
92909         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
92910         like the HAVE_GETCWD_NULL code.
92911         Include pathmax.h if not HAVE_GETCWD.
92912         Do not include xalloc.h.
92913         (INITIAL_BUFFER_SIZE): New symbol.
92914         Do not use xmalloc / xrealloc, since the caller is responsible for
92915         handling errors.  Preserve errno around `free' during failure.
92916         Do not overrun buffer when using getwd.
92917
92918 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92919
92920         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
92921         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
92922         getcwd (NULL, 0).
92923
92924 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92925
92926         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
92927         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
92928         spotted by Jim Meyering.
92929
92930 2001-09-03  Jim Meyering  <meyering@lucent.com>
92931
92932         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
92933         failure.
92934
92935 2001-09-02  Jim Meyering  <meyering@lucent.com>
92936
92937         * lib/error.c: Update from GNU libc.
92938
92939 2001-09-01  Jim Meyering  <meyering@lucent.com>
92940
92941         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
92942         Used by df.
92943
92944 2001-09-01  Jim Meyering  <meyering@lucent.com>
92945
92946         * lib/xreadlink.c: New file.
92947         * lib/xreadlink.h: New file.
92948         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
92949         xreadlink.h.
92950
92951         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
92952         doesn't conflict with sparc Solaris 7's definition in
92953         /usr/include/sys/int_types.h.
92954
92955         * lib/exclude.c: Use `""', not `<>' to #include non-system header
92956         files.
92957         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
92958         and strncasecmp as r-values.  Unixware didn't have declarations.
92959
92960 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92961
92962         * lib/xstrtol.h: Add copyright notice.
92963         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
92964         LONGINT_INVALID_SUFFIX_CHAR.
92965
92966 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92967
92968         * lib/xstrtol.c (strtoimax): New decl.
92969
92970 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92971
92972         * lib/xgetcwd.c: Don't include pathmax.h.
92973         Include stdlib.h and unistd.h if available.
92974         Include xalloc.h.
92975         (xmalloc, xstrdup, free): Remove decls.
92976         (xgetcwd): Don't assume sizes fit in unsigned.
92977         Check for overflow when computing sizes.
92978         Simplify reallocation code.
92979
92980 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92981
92982         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
92983         a directory's st_size can have an arbitrary value, so the old
92984         usage could waste an arbitrary amount of memory.  All uses
92985         changed.
92986         * lib/savedir.h: Update prototype.
92987
92988 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92989
92990         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
92991
92992         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
92993         old strtoimax.c.
92994
92995         Also, make the following further changes to make this file's
92996         configuration more similar to that of strtol.c:
92997         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
92998         (strtoumax, uintmax_t, strtoull, strtol): Remove.
92999         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
93000         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
93001         changed to signed values.
93002
93003         And make the following changes as well:
93004         Fix copyright notice, as 1999 was missing.
93005         (verify): New macro.
93006         (strtoimax): Check sizes at compile-time, not run-time.
93007         Prefer strtol to strtoll if both work.
93008         (main): Remove; it was not that useful and was a pain to maintain.
93009
93010         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
93011
93012 2001-08-31  Jim Meyering  <meyering@lucent.com>
93013
93014         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
93015         Use an initial, malloc'd, buffer of length 128 rather than
93016         a statically allocated one of length 1024.
93017
93018 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93019
93020         Simplify code, partly by assuming autoconf 2.52 semantics.
93021
93022         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
93023
93024         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
93025         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
93026         All uses removed.
93027         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
93028         Move AC_REQUIRE to next-to-top level, to avoid confusion.
93029         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
93030         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
93031         jm_AC_HEADER_INTTYPES_H.
93032         * m4/jm-macros.m4 (jm_MACROS): Likewise.
93033
93034         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
93035
93036         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
93037         Quote first arg of AC_DEFUN.
93038         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
93039         since they are needed to parse the include file even if we need
93040         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
93041         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
93042         but with opposite signedness.
93043
93044 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93045
93046         Merge 'exclude' changes from tar 1.13.22.
93047         This fixes one or two unlikely storage allocation overflow bugs,
93048         but doesn't change user-visible behavior otherwise.
93049
93050 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93051
93052         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
93053         (jm_PREREQ_EXCLUDE): New macro.
93054
93055 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93056
93057         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
93058         tm to be declared.
93059
93060 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93061
93062         * lib/hash.c: Remove '2001' from copyright notice.
93063
93064 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93065
93066         * lib/full-write.h: New file.
93067         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
93068         * lib/full-write.c: Correct credits, as cccp.c no longer
93069         exists and anyway it was so heavily changed from the old cccp
93070         code as to be unrecognizable.  Include full-write.h.
93071         (full_write): Return size_t, with short writes meaning failure.
93072         All callers changed.  This fixes a bug with large buffers
93073         on 64-bit hosts.
93074         * lib/utime.c: Include full-write.h.
93075
93076 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93077
93078         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
93079         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
93080         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
93081         Include if available.
93082         (<xalloc.h>): Include
93083         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
93084         (verify): New macro.  Use it to verify that EXCLUDE macros do not
93085         collide with FNM macros.
93086         (struct patopts): New struct.
93087         (struct exclude): Use it, as exclude patterns now come with options.
93088         (new_exclude): Support above changes.
93089         (new_exclude, add_exclude_file):
93090         Initial size must now be a power of two to simplify overflow checking.
93091         (free_exclude, fnmatch_no_wildcards): New function.
93092         (excluded_filename): No longer requires options arg, as the options
93093         are determined by add_exclude.  Now returns bool, not int.
93094         (excluded_filename, add_exclude):
93095         Add support for the fancy new exclusion options.
93096         (add_exclude, add_exclude_file): Now takes int options arg.
93097         Check for arithmetic overflow when computing sizes.
93098         (add_exclude_file): xrealloc might modify errno, so don't
93099         realloc until after errno might be used.
93100
93101         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
93102         New macros.
93103         (free_exclude): New decl.
93104         (add_exclude, add_exclude_file): Now takes int options arg.
93105         (excluded_filename): No longer requires options arg, as the options
93106         are determined by add_exclude.  Now returns bool, not int.
93107
93108 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93109
93110         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
93111
93112 2001-08-27  Jim Meyering  <meyering@lucent.com>
93113
93114         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
93115
93116         * lib/version-etc.c (N_): Remove definition.
93117         Revert most of last change.
93118         Instead, simply don't mark the `Copyright...' string for translation.
93119         Based on advice from Paul Eggert.
93120
93121         * lib/strtoxmax.c: Tweak comment.
93122
93123 2001-08-26  Jim Meyering  <meyering@lucent.com>
93124
93125         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
93126
93127         * m4/xstrtoimax.m4: New file.
93128         * m4/xstrtoumax.m4: Add comments explaining why we
93129         AC_REPLACE_FUNCS(strtol).
93130
93131 2001-08-26  Jim Meyering  <meyering@lucent.com>
93132
93133         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
93134         of copyright with `%s' so translators don't get an untranslated
93135         message in 2002.
93136         (COPYRIGHT_YEAR): Define.
93137         (version_etc): Use fprintf rather than fputs.
93138         Suggestion from Ulrich Drepper.
93139
93140         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
93141
93142         * lib/strtoll.c: New file, from GNU libc.
93143         * lib/xstrtoimax.c: New file.
93144
93145         * lib/xstrtol.h: Add xstrtoimax.
93146         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
93147         * lib/strtoimax.c: New file.  Likewise, but first define
93148         STRTOUXMAX_SIGNED.
93149
93150         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
93151         ...
93152         * lib/strtoxmax.c: ... then renamed to this.
93153
93154 2001-08-18  Paul Eggert  <eggert@twinsun.com>
93155
93156         * m4/inttypes.m4: Add AC_PREREQ(2.13).
93157         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
93158         (jm_AC_TYPE_INTMAX_T): New macro.
93159         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
93160
93161         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
93162
93163         * m4/longlong.m4: Renamed from ulonglong.m4.
93164         * m4/inttypes.m4: Renamed from inttypes_h.m4.
93165         * m4/uintmax_t.m4: Removed.
93166
93167 2001-08-13  Paul Eggert  <eggert@twinsun.com>
93168
93169         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
93170         Port to Solaris 8, where 'sed' requires a space after the 'r'
93171         command, and where sh dislikes "$/".  Clean up the spacing a bit.
93172         Redirect output to $tmp just once.
93173
93174 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
93175
93176         * lib/addext.c (<errno.h>): Include.
93177         (errno): Declare if not defined.
93178         (addext): Work correctly when pathconf returns -1 and leaves
93179         errno alone because there is no limit.  Also, work even if
93180         pathconf returns a value greater than SIZE_MAX.
93181
93182 2001-08-12  Jim Meyering  <meyering@lucent.com>
93183
93184         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
93185         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
93186         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
93187         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
93188         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
93189         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
93190         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
93191         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
93192         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
93193         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
93194         utime.m4, utimes.m4, xstrtoumax.m4:
93195         Quote the first argument in each use of AC_DEFUN.
93196
93197 2001-08-12  Jim Meyering  <meyering@lucent.com>
93198
93199         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
93200         Simply `return getcwd (NULL, 0);'.
93201         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
93202         Use 1300 as initial value for length, not PATH_MAX.
93203
93204         * lib/pathmax.h: Clean up cpp syntax.
93205
93206 2001-08-12  Jim Meyering  <meyering@lucent.com>
93207
93208         * lib/gettimeofday.c: New file.
93209         * lib/gtod.h: New file.
93210         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
93211
93212 2001-08-05  Jim Meyering  <meyering@lucent.com>
93213
93214         * m4/jm-macros.m4: Require autoconf-2.52.
93215
93216 2001-08-04  Jim Meyering  <meyering@lucent.com>
93217
93218         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
93219         stmt, to get in sync with glibc.
93220
93221 2001-08-03  Paul Eggert  <eggert@twinsun.com>
93222
93223         The following changes are from gettext 0.10.39 as maintained by
93224         Bruno Haible.
93225
93226         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
93227         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
93228         with inverted sense.  All uses changed.
93229
93230         * lib/mbswidth.c: Don't include <limits.h>.
93231         Include <stdlib.h> and <string.h> unconditionally.
93232         (iswcntrl, mbsinit, ISCNTRL): New macros.
93233         (mbsnwidth): Use K&R style function declarations.
93234         Don't bother checking for MB_LEN_MAX == 1, since the compiler
93235         can optimize it when MB_CUR_MAX == 1.
93236         The width of control characters is zero, not 1.
93237
93238 2001-08-03  Paul Eggert  <eggert@twinsun.com>
93239
93240         The following changes are from gettext 0.10.39 as maintained by
93241         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
93242
93243         * m4/codeset.m4: Upgrade to serial AM1.
93244         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
93245         all uses changed.  Quote first arg of AC_DEFUN.
93246         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
93247
93248         * m4/iconv.m4: Upgrade to serial AM2.
93249         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
93250         Add --with-libconv-prefix.
93251         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
93252         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
93253         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
93254         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
93255         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
93256
93257         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
93258         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
93259         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
93260         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
93261         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
93262         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
93263         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
93264         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
93265         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
93266
93267         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
93268         string.h any more.
93269
93270         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
93271         not the default value.
93272
93273         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
93274         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
93275         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
93276         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
93277         Also check for iswcntrl, used for wcwidth fallback.
93278         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
93279         to Autoconf 2.13.
93280
93281 2001-08-03  Jim Meyering  <meyering@lucent.com>
93282
93283         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
93284         as it was in the original.  Reported by Paul Eggert.
93285
93286 2001-07-16  Jim Meyering  <meyering@lucent.com>
93287
93288         * m4/gettimeofday.m4: New file.
93289         Prompted by a report from Bernhard Baehr.
93290
93291 2001-07-15  Jim Meyering  <meyering@lucent.com>
93292
93293         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
93294         stuff. Now it's in ../Makefile.cfg.
93295
93296 2001-07-15  Jim Meyering  <meyering@lucent.com>
93297
93298         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
93299         (BUILT_SOURCES): Add unlocked-io.h.
93300         (io_functions): Define.
93301         (unlocked-io.h): New rule.
93302         (DISTCLEANFILES): Add unlocked-io.h.
93303         (all-local): Depend on unlocked-io.h, to ensure it is created.
93304
93305         * lib/unlocked-io.hin: New file
93306
93307         * lib/regex.c: Update from glibc.
93308
93309 2001-07-05  Jim Meyering  <meyering@lucent.com>
93310
93311         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
93312         recommendation.
93313         (libfetish_a_SOURCES): Put all .h files here instead.
93314         Remove a thus-exposed (better checks in automake) duplicate and
93315         two unnecessary .h files.
93316
93317 2001-07-04  Jim Meyering  <meyering@lucent.com>
93318
93319         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
93320         that generates jm-glibc-io.m4 so that it doesn't trigger any make
93321         distcheck failure.
93322
93323 2001-07-02  Jim Meyering  <meyering@lucent.com>
93324
93325         The following changes were prompted by suggestions from Bruno Haible.
93326
93327         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
93328         is now generated.
93329         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
93330         definition of EXTRA_DIST.
93331         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
93332         ensure that the generated file is created/updated whenever the list
93333         of $(unlocked_functions) is changed.
93334         (jm-glibc-io.m4): New rule.
93335         (unlocked-io.h): New rule -- currently unused.
93336
93337 2001-06-24  Jim Meyering  <meyering@lucent.com>
93338
93339         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
93340         unmatched right bracket, rather than kludging it with an extra,
93341         falsely-matching quote in a comment.  Patch by Akim Demaille.
93342
93343 2001-06-11  Jim Meyering  <meyering@lucent.com>
93344
93345         * lib/regex.c: Update from GNU libc.
93346
93347 2001-05-27  Jim Meyering  <meyering@lucent.com>
93348
93349         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
93350         Check for ut_type in struct utmp.
93351
93352 2001-05-27  Jim Meyering  <meyering@lucent.com>
93353
93354         * lib/readutmp.h (UT_TYPE): Define.
93355
93356 2001-05-24  Jim Meyering  <meyering@lucent.com>
93357
93358         * lib/argmatch.c: Include "quote.h".
93359         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
93360         quote function.  Reported by Göran Uddeborg.
93361
93362 2001-05-22  Jim Meyering  <meyering@lucent.com>
93363
93364         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
93365         now that we use the package-supplied version unconditionally.
93366         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
93367
93368 2001-05-21  Jim Meyering  <meyering@lucent.com>
93369
93370         * m4/regex.m4: Change a couple backticks to single quotes to avoid
93371         shell syntax errors.
93372
93373 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
93374
93375         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
93376
93377 2001-05-20  Paul Eggert  <eggert@twinsun.com>
93378
93379         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
93380         Don't bother to check library strftime, since
93381         we'll be using our own my_strftime function anyway.
93382         Define my_strftime instead of strftime.
93383
93384 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
93385
93386         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
93387         which is not yet declared.
93388
93389 2001-05-15  Jim Meyering  <meyering@lucent.com>
93390
93391         * m4/regex.m4: Use proper quoting so brackets appear in the test
93392         program.
93393         Reported by, and with help from, Bruno Haible.
93394
93395 2001-05-13  Jim Meyering  <meyering@lucent.com>
93396
93397         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
93398         undefined.
93399
93400 2001-05-11  Paul Eggert  <eggert@twinsun.com>
93401
93402         dirname code cleanup.  base_name now behaves more compatibly
93403         with POSIX basename when given file names that have trailing
93404         slashes, and similarly for dir_name.  Add new primitives
93405         base_len and dir_len.  Put the directory-name-related decls
93406         into dirname.h.
93407
93408         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
93409         * lib/backupfile.c (base_name): Likewise.
93410         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
93411         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
93412         * lib/makepath.c (strip_trailing_slashes): Likewise.
93413         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
93414         ISSLASH): Likewise.
93415         * lib/rename.c (strip_trailing_slashes): Likewise.
93416         * lib/same.c (base_name): Likewise.
93417         * lib/stripslash.c (ISSLASH): Likewise.
93418
93419         * lib/addext.c: Include <dirname.h> after size_t is defined.
93420         * lib/backupfile.c: Likewise.
93421
93422         * lib/addext.c (addext): Use base_len to trim redundant
93423         trailing slashes instead of doing it ourselves.
93424         But do not trim the last slash if it is not redundant.
93425
93426         * lib/backupfile.c (find_backup_file_name,
93427         max_backup_version): Use base_len instead of rolling it ourselves.
93428         Handle the case of "" and (on DOS) "C:" correctly.
93429
93430         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
93431         needed. Include <string.h>, <dirname.h>.
93432         (base_name): Allow file names ending in slashes, other than names
93433         that are all slashes.  In this case, return the basename followed
93434         by the slashes.  This is more general, and can be used in places
93435         where the original base_name purposely had an assertion failure.
93436         (base_len): New function.
93437
93438         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
93439         Do not include <assert.h>; no longer needed.
93440         Include xalloc.h.
93441         (memrchr): Remove decl.
93442         (dir_name_r): Remove.
93443         (dir_len): Renamed from dirlen.  All callers changed.
93444         Rewrite in terms of base_name, for simplicity and consistency.
93445         (dir_name): Never return NULL.  All callers changed.
93446         Do not include <stdlib.h> in test program; no longer needed.
93447         return 0; is fine for test program.
93448
93449         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
93450         New macros.
93451         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
93452
93453         * lib/path-concat.c (path_concat): Use base_len to compute
93454         base length, not strlen; this means we cannot rely on memcpy
93455         to null-terminate.
93456
93457         * lib/same.c (STREQ): Remove.
93458         (same_name): Handle the case where the basename ends in trailing '/'.
93459
93460         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
93461         a slash was stripped.  Do not strip the last slash after a
93462         file system prefix.
93463
93464 2001-05-11  Paul Eggert  <eggert@twinsun.com>
93465
93466         * lib/Makefile.am (libfetish_a_SOURCES):
93467         Add strftime.c, since we now compile it on all hosts.
93468
93469         * lib/strftime.c (my_strftime):
93470         Define to nstrftime if emacs, but only if my_strftime is not defined.
93471         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
93472         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
93473         Add one more extra argument: a nanoseconds value.
93474         All uses changed.
93475         (ns): New macro.
93476         (my_strftime function): Add %N format.
93477         (emacs_strftimeu): Renamed from emacs_strftime,
93478         with extra ut argument.
93479
93480 2001-05-09  Paul Eggert  <eggert@twinsun.com>
93481
93482         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
93483
93484 2001-04-21  Jim Meyering  <meyering@lucent.com>
93485
93486         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
93487         doesn't interfere.
93488
93489 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
93490
93491         * m4/ftruncate.m4: Check for chsize.
93492         Link with ftruncate.o unconditionally if ftruncate is missing.
93493         This was required when cross-compiling to i586-mingw32msvc.
93494
93495 2001-04-08  Jim Meyering  <meyering@lucent.com>
93496
93497         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
93498         recomputed; that's necessary when the offset spans a DST transition.
93499         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
93500
93501 2001-04-02  Jim Meyering  <meyering@lucent.com>
93502
93503         * lib/regex.h, regex.c: Update from GNU libc.
93504
93505 2001-03-24  Jim Meyering  <meyering@lucent.com>
93506
93507         * m4/jm-macros.m4: Require autoconf-2.49d.
93508
93509 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
93510
93511         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
93512
93513 2001-03-19  Paul Eggert  <eggert@twinsun.com>
93514
93515         * lib/version-etc.c (version_etc_copyright): Update to 2001.
93516
93517 2001-03-17  Jim Meyering  <meyering@lucent.com>
93518
93519         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
93520         now that the version in autoconf is equivalent.
93521         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
93522
93523         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
93524         Suggestion from Akim Demaille.
93525
93526         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
93527         (jm_PREREQ_TEMPNAME): New function.
93528
93529 2001-03-16  Paul Eggert  <eggert@twinsun.com>
93530
93531         * lib/tempname.c (uint64_t): Define to uintmax_t if
93532         not defined, and if UINT64_MAX is not defined.
93533         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
93534         Reported by John David Anglin.
93535
93536 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
93537
93538         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
93539         resolve alias if codeset is empty.
93540         * lib/config.charset (BeOS): Use wildcard syntax.
93541
93542 2001-03-13  Jim Meyering  <meyering@lucent.com>
93543
93544         * lib/path-concat.c (path_concat)
93545         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
93546         concatenating e.g., `C:' and `foo'.
93547         From Bruno Haible.
93548
93549 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
93550
93551         * lib/localcharset.c (locale_charset): Don't use
93552         setlocale(LC_CTYPE,NULL). Don't return NULL.
93553         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
93554
93555 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
93556
93557         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
93558         support for DOS/DJGPP.
93559
93560 2001-03-01  Paul Eggert  <eggert@twinsun.com>
93561
93562         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
93563         lacks mkstemp.  Compile our own tempname.c if we compile our own
93564         mkstemp.c, as mkstemp relies on tempname.
93565
93566 2001-03-01  Jim Meyering  <meyering@lucent.com>
93567
93568         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
93569         AH_VERBATIM really does output its argument verbatim.
93570
93571 2001-02-28  Paul Eggert  <eggert@twinsun.com>
93572
93573         * lib/Makefile.am (libfetish_a_SOURCES):
93574         Add dup-safer.c, fopen-safer.c.
93575         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
93576
93577         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
93578         * lib/unistd-safer.h: New files.
93579
93580 2001-02-25  Paul Eggert  <eggert@twinsun.com>
93581
93582         The mkstemp replacement is taken from glibc 2.2.2, with some
93583         portability fixes for use outside glibc, as follows:
93584
93585         * lib/tempname.c (struct_stat64): New macro.
93586         (direxists, __gen_tempname): Use it.
93587         This avoids a portability problem with Solaris 8.
93588
93589         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
93590         (<stddef.h>, <stdint.h>, <string.h>):
93591         Include only if STDC_HEADERS || _LIBC.
93592         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
93593         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
93594         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
93595         (__set_errno): Define this macro if <errno.h> doesn't.
93596         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
93597         Define these macros if <stdio.h> doesn't.
93598         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
93599         Define these macros if <sys/stat.h>
93600         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
93601         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
93602         __xstat64): Define if not _LIBC.
93603         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
93604         (__gen_tempname): Invoke gettimeofday only if
93605         HAVE_GETTIMEOFDAY || _LIBC;
93606         otherwise, fall back on plain "time".
93607         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
93608
93609         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
93610
93611         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
93612
93613 2001-02-18  Paul Eggert  <eggert@twinsun.com>
93614
93615         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
93616
93617 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93618
93619         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
93620         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
93621         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
93622         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
93623
93624 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93625
93626         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
93627         Remove workaround macros for hosts that have mbrtowc but not
93628         mbstate_t, as we now insist on proper declarations for both
93629         before using mbrtowc.
93630
93631 2001-02-17  Jim Meyering  <meyering@lucent.com>
93632
93633         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
93634         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
93635         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
93636         UnixWare 7.1.1.
93637
93638         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
93639         rather than AC_CACHE_VAL.
93640
93641 2001-02-17  Jim Meyering  <meyering@lucent.com>
93642
93643         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
93644         around included file name.
93645
93646         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
93647
93648         * lib/strftime.c: Update from GNU libc (the only changes were to
93649         comments).
93650
93651 2001-02-17  Jim Meyering  <meyering@lucent.com>
93652
93653         * lib/regex.c: Update from libc.
93654
93655 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
93656
93657         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
93658         clash.
93659
93660 2001-02-16  Paul Eggert  <eggert@twinsun.com>
93661
93662         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
93663         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
93664         Reported by Mark Hounschell via Paul Eggert.
93665
93666 2001-02-07  Jim Meyering  <meyering@lucent.com>
93667
93668         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
93669
93670 2001-02-05  Jim Meyering  <meyering@lucent.com>
93671
93672         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
93673         it includes the patch required for `large file' support with at least
93674         HP-UX's 10.20 /bin/cc.
93675
93676 2001-02-03  Jim Meyering  <meyering@lucent.com>
93677
93678         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
93679         AS_IF, now that it works once again (mysteriously).
93680         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93681
93682 2001-01-30  Jim Meyering  <meyering@lucent.com>
93683
93684         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
93685         * m4/chown.m4: Rename conftestchown to conftest.chown.
93686         * m4/rename.m4: s/conftestdir/conftest.d1/ and
93687         s/conftestdir2/conftest.d2/.
93688         * m4/utimes.m4: s/conftestdata/conftest.data/
93689         Inspired by Pavel Roskin's change in autoconf.
93690
93691 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
93692
93693         * lib/config.charset: Update for FreeBSD 4.2.
93694
93695 2001-01-27  Jim Meyering  <meyering@lucent.com>
93696
93697         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
93698         a use of AS_IF.
93699         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93700
93701 2001-01-26  Jim Meyering  <meyering@lucent.com>
93702
93703         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
93704         quotearg.c includes it.
93705
93706 2001-01-26  Jim Meyering  <meyering@lucent.com>
93707
93708         * lib/quotearg.c: Include stddef.h.
93709         * lib/quote.c: Include stddef.h.
93710         Reported by Axel Kittenberger.
93711
93712         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
93713         line in double quotes so that it evokes a better diagnostic.
93714         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
93715         Reported by Axel Kittenberger.
93716
93717 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
93718
93719         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
93720         as if it was a `charset'.
93721
93722 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93723
93724         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
93725         has const.
93726
93727 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93728
93729         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
93730         to avoid a warning.  Add back 'const' to inptr.
93731
93732 2001-01-20  Jim Meyering  <meyering@lucent.com>
93733
93734         Be sure that headers are checked before used in code compiled
93735         for the type checks.
93736         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
93737         In place of that, invoke jm_CHECK_ALL_TYPES.
93738         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
93739         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
93740         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
93741         The check for ssize_t was mistakenly run before the test for unistd.h.
93742
93743         The configure-time check for stdbool.h was missing.
93744         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
93745         (jm_PREREQ_HASH): New function.
93746
93747 2001-01-17  Jim Meyering  <meyering@lucent.com>
93748
93749         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
93750         for autoconf-2.49c.
93751         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
93752
93753 2001-01-16  Jim Meyering  <meyering@lucent.com>
93754
93755         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
93756         From Bruno Haible.
93757
93758 2001-01-14  Jim Meyering  <meyering@lucent.com>
93759
93760         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
93761         foo and bar.  Create conftestdir/ in the script, not in the C code.
93762         Remove directories in the script, not in the C code.
93763         Remove conftestdir{,2} before trying to create the directory.
93764         Make the entire configure script fail if the mkdir fails.
93765
93766 2001-01-14  Jim Meyering  <meyering@lucent.com>
93767
93768         * lib/rename.c: New file.  From Volker Borchert.
93769         Include stdlib.h, string.h or strings.h, and xalloc.h.
93770         Use strip_trailing_slashes rather than open-coding it.
93771
93772 2001-01-03  Paul Eggert  <eggert@twinsun.com>
93773
93774         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
93775
93776 2001-01-03  Jim Meyering  <meyering@lucent.com>
93777
93778         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
93779         of local `inptr' to avoid warning with some system declarations of
93780         iconv.
93781
93782 2001-01-02  Volker Borchert  <bt@teknon.de>
93783
93784         * m4/rename.m4: New file.
93785         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
93786
93787 2001-01-01  Jim Meyering  <meyering@lucent.com>
93788
93789         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
93790         even on systems with utmpx.h.  It's necessary for the declaration of
93791         utmp's ut_user member.  Reported by Andreas Jaeger.
93792
93793         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
93794         available. They are required for the declarations of getgrgid and
93795         getpwuid resp.
93796         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
93797         Reported by Andreas Jaeger.
93798
93799 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
93800
93801         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
93802         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
93803         so `make install' also works in VPATH builds.
93804
93805 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
93806
93807         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
93808         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
93809         can be used in subdirectories.
93810
93811 2000-12-29  Paul Eggert  <eggert@twinsun.com>
93812
93813         * lib/modechange.c: Do not assume that mode_t uses the
93814         traditional octal encoding.  E.g. "chmod 1 FOO" should set
93815         the other-execute bit of FOO even if S_IXOTH != 1.
93816
93817         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
93818         WOTH, XOTH, ALLM): New macros.
93819         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
93820          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
93821         Use them.
93822         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
93823         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
93824         (mode_compile):
93825         No need to use uintmax_t; unsigned long is long enough.
93826         Don't bother to get suffix since we don't use it.
93827
93828 2000-12-26  Jim Meyering  <meyering@lucent.com>
93829
93830         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
93831         better with autoheader.
93832
93833 2000-12-24  Jim Meyering  <meyering@lucent.com>
93834
93835         * lib/hash.c (is_prime): Return explicit boolean values.
93836         (hash_get_first): Return NULL to appease Irix5.6's 89.
93837         Reported by Nelson Beebe.
93838
93839 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
93840
93841         * lib/localcharset.c (locale_charset): Add support for Win32.
93842
93843 2000-12-18  Paul Eggert  <eggert@twinsun.com>
93844
93845         * lib/physmem.h, lib/physmem.c: New files.
93846
93847         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
93848         (noinst_HEADERS): Add physmem.h.
93849
93850         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
93851         't' for compatibility with Solaris 8 sort.
93852
93853 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
93854
93855         * lib/config.charset: Add support for BeOS.
93856
93857 2000-12-17  Jim Meyering  <meyering@lucent.com>
93858
93859         * m4/dos.m4 (jm_AC_DOS): New file and macro.
93860         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
93861
93862 2000-12-16  Jim Meyering  <meyering@lucent.com>
93863
93864         This bug had a serious impact on chown: `chown N:M FILE' (for integer
93865         N and M) would have treated it like `chown N:N FILE'.
93866
93867         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
93868
93869 2000-12-16  Jim Meyering  <meyering@lucent.com>
93870
93871         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
93872         SHELLS_FILE to a file name that's useful on djgpp systems.
93873         Include stdlib.h.
93874         (ADDITIONAL_DEFAULT_SHELLS): Define.
93875         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
93876         Based mostly on a patch from Prashant TR.
93877
93878 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
93879
93880         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
93881         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
93882         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
93883
93884 2000-12-08  Andreas Schwab  <schwab@suse.de>
93885
93886         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
93887         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
93888
93889 2000-12-07  Jim Meyering  <meyering@lucent.com>
93890
93891         * lib/stripslash.c (ISSLASH): Define.
93892         (strip_trailing_slashes): Use ISSLASH rather than comparing against
93893         `/'.
93894         From Prashant TR.
93895
93896         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
93897         (dir_name_r): Declare this function as static.
93898         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
93899         manifest itself on a name containing a mix of slashes and
93900         backslashes.
93901         Make this function work with names starting with a DOS-style
93902         drive letter and colon prefix.
93903         (dir_name): Append `.' if necessary.
93904         Based mostly on patches from Prashant TR and Eli Zaretskii.
93905
93906         * lib/dirname.h (dir_name_r): Remove prototype.
93907
93908 2000-12-06  Paul Eggert  <eggert@twinsun.com>
93909
93910         * m4/off_t-format.m4: Remove this file.
93911         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
93912
93913 2000-12-06  Jim Meyering  <meyering@lucent.com>
93914
93915         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
93916         replacement strtoull, we may well need the replacement strtoul, too.
93917         Check for declarations of strtoul and strtoull.
93918         Check for strtol.  Mainly as a cue to cause automake to include
93919         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
93920         Check for limits.h -- strtol.c needs it.
93921
93922 2000-12-05  Jim Meyering  <meyering@lucent.com>
93923
93924         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
93925
93926 2000-12-04  Jim Meyering  <meyering@lucent.com>
93927
93928         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
93929         Also include memory.h, stdlib.h, unistd.h if appropriate.
93930         Reported by Andreas Jaeger (conflicting declaration of malloc).
93931
93932 2000-12-02  Jim Meyering  <meyering@lucent.com>
93933
93934         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
93935         * m4/jm-macros.m4 (jm_MACROS): require it.
93936
93937 2000-12-02  Jim Meyering  <meyering@lucent.com>
93938
93939         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
93940
93941 2000-12-01  Paul Eggert  <eggert@twinsun.com>
93942
93943         * lib/memrchr.c: Include <config.h> before any system include file.
93944
93945 2000-11-30  Jim Meyering  <meyering@lucent.com>
93946
93947         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
93948
93949 2000-11-30  Jim Meyering  <meyering@lucent.com>
93950
93951         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
93952
93953 2000-11-29  Paul Eggert  <eggert@twinsun.com>
93954
93955         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
93956
93957 2000-11-26  Jim Meyering  <meyering@lucent.com>
93958
93959         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
93960
93961 2000-11-22  Paul Eggert  <eggert@twinsun.com>
93962
93963         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
93964         size of (size_t) -1; it's not portable.
93965
93966 2000-11-17  Jim Meyering  <meyering@lucent.com>
93967
93968         * lib/strstr.c: Update from GNU libc.
93969
93970 2000-11-17  Akim Demaille  <akim@epita.fr>
93971
93972         * lib/obstack.h: Formatting changes.
93973         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
93974         prevent type checking.
93975         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
93976         cast the value to (void *): assigning a `foo *' to a `void *'
93977         variable is valid.
93978         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
93979
93980 2000-11-16  Jim Meyering  <meyering@lucent.com>
93981
93982         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
93983
93984 2000-11-11  Jim Meyering  <meyering@lucent.com>
93985
93986         * lib/error.c: Add a couple #includes, merging from GNU libc version.
93987
93988 2000-11-10  Jim Meyering  <meyering@lucent.com>
93989
93990         * lib/obstack.h: Update from GNU libc.
93991         * lib/obstack.c: Likewise.
93992
93993 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
93994
93995         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
93996
93997 2000-11-06  Paul Eggert  <eggert@twinsun.com>
93998
93999         * lib/getusershell.c (setusershell): Use rewind rather than
94000         fseek/fseeko, to avoid configuration hassles with fseeko.
94001         Don't bother opening SHELLS_FILE if shellstream is NULL;
94002         it's not necessary.
94003
94004 2000-11-05  Jim Meyering  <meyering@lucent.com>
94005
94006         * lib/makepath.h (make_dir): Declare.
94007         * lib/makepath.c (make_dir): Remove `static' attribute.
94008         Tweak a comment.
94009
94010 2000-11-04  Jim Meyering  <meyering@lucent.com>
94011
94012         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
94013
94014 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
94015
94016         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
94017         last one in a bucket, advance to the next bucket.
94018
94019 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
94020
94021         * lib/fnmatch.c: Do not comment out all the code if we are using
94022         the GNU C library, because in some cases we are replacing buggy
94023         code in the GNU C library itself.
94024
94025 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
94026
94027         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
94028         (regex_compile): Catch bogus \(\1\).
94029
94030 2000-10-30  Paul Eggert  <eggert@twinsun.com>
94031
94032         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
94033         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
94034         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
94035
94036 2000-10-30  Paul Eggert  <eggert@twinsun.com>
94037
94038         * lib/error.h, getline.h, modechange.h:
94039         Remove "2000" from Copyright line, as the file hasn't been
94040         changed this year other than in the copyright notice.
94041
94042         * lib/xalloc.h: Add "2000" to Copyright line, as this file
94043         was changed this year.
94044
94045 2000-10-29  Jim Meyering  <meyering@lucent.com>
94046
94047         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
94048         renaming.
94049         * m4/ls-mntd-fs.m4: Likewise
94050
94051 2000-10-29  Jim Meyering  <meyering@lucent.com>
94052
94053         * lib/xstat.in: Fix grammar in comment.
94054
94055 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
94056
94057         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
94058         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
94059         doesn't define __restrict_arr.
94060
94061 2000-10-28  Jim Meyering  <meyering@lucent.com>
94062
94063         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
94064         (jm_PREREQ_MEMCHR): New function.
94065
94066 2000-10-28  Jim Meyering  <meyering@lucent.com>
94067
94068         * lib/memchr.c: Update from libc.
94069         Adjust for portability:
94070         [HAVE_STDLIB_H]: Include stdlib.h.
94071         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
94072         Undef __memchr, too.
94073         [!weak_alias]: Define __memchr to memchr.
94074
94075         * lib/regex.c: Update from libc.
94076         * lib/regex.h: Likewise.
94077         * lib/getopt1.c: Likewise.
94078         * lib/memcmp.c: Likewise.
94079
94080         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
94081         Avoid using fseek, when possible -- it's broken by design.
94082         Patch by Ulrich Drepper.
94083
94084 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
94085
94086         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
94087         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
94088         Giving in to popular pressure to shut up the compiler with casts.
94089
94090 2000-10-26  Jim Meyering  <meyering@lucent.com>
94091
94092         * lib/strftime.c: Update from libc.
94093
94094 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
94095
94096         * regex.c: More `unsigned char' -> `re_char' changes.
94097         Also change several `int' into `re_wchar_t'.
94098         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
94099         (PUSH_FAILURE_POINTER): Don't cast any more.
94100         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
94101         We want GCC to complain, since this piece of code makes
94102         re_match non-reentrant, which *should* be fixed.
94103         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
94104         (EXTEND_BUFFER): Use RETALLOC.
94105         (SET_LIST_BIT): Don't cast.
94106         (re_wchar_t): New type.
94107         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
94108         that those two functions will always properly return.
94109         (IMMEDIATE_QUIT_CHECK): Cast to void.
94110         (analyse_first): Use recursion rather than an explicit stack.
94111         (re_compile_fastmap): Can't fail anymore.
94112         (re_search_2): Don't check re_compile_fastmap for failure.
94113         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
94114         Now also sets the new value (passed in a new argument).
94115         (re_match_2_internal): Use it.
94116         Also, use a new var `reg' of type size_t when looping through regs
94117         rather than reuse the inappropriate `mcnt'.
94118
94119 2000-10-25  Jim Meyering  <meyering@lucent.com>
94120
94121         * lib/obstack.c: Update from libc.
94122
94123 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
94124
94125         * regex.c (regex_compile): Change the way of handling a range from
94126         a char less than 256 to a char not less than 256.
94127
94128 2000-10-24  Andrew Innes  <andrewi@gnu.org>
94129
94130         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
94131         NT-Emacs only.
94132         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
94133         so that re_search functions only quit when callers expect them to.
94134
94135 2000-10-23  Jim Meyering  <meyering@lucent.com>
94136
94137         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
94138         wrong.  That set_locale call must not have any side effects.
94139         From Paul Eggert.
94140
94141 2000-10-22  Jim Meyering  <meyering@lucent.com>
94142
94143         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
94144         [CYCLIC]: Remove now-unused definition.
94145
94146         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
94147         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
94148         Suggestion from Ulrich Drepper.
94149
94150 2000-10-21  Jim Meyering  <meyering@lucent.com>
94151
94152         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
94153         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
94154         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
94155
94156 2000-10-21  Jim Meyering  <meyering@lucent.com>
94157
94158         * lib/dirname.c (memrchr): Declare if necessary.
94159         (dir_name): Remove the restriction that there be no
94160         trailing slashes.  Now, this code skips past them, effectively
94161         ignoring them.
94162         [TEST_DIRNAME] (main): New unit tests.
94163
94164         * lib/memrchr.c: New file from GNU libc.
94165         Undef __memrchr, too.
94166         [!weak_alias]: Define __memrchr to memrchr.
94167         Guard weak_alias use with `#ifdef weak_alias'.
94168
94169 2000-10-21  Jim Meyering  <meyering@lucent.com>
94170
94171         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
94172         (dir_name): Use dir_name_r.
94173         * lib/dirname.h (dir_name_r): Declare it.
94174
94175 2000-10-17  Jim Meyering  <meyering@lucent.com>
94176
94177         * lib/quote.h (PARAMS): Define and use.
94178         Reported by Akim Demaille.
94179
94180         * lib/getopt.c: Update from libc.
94181
94182 2000-10-16  Jim Meyering  <meyering@lucent.com>
94183
94184         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
94185         setlocale.
94186         From Jan Fedak.
94187
94188 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
94189
94190         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
94191
94192 2000-09-25  Jim Meyering  <meyering@lucent.com>
94193
94194         * lib/md5.h (rol): Define (from GnuPG).
94195
94196         * lib/sha.c: Give credit (GnuPG) where due.
94197         (M): Use rol rather than open-coding it.
94198         Add a FIXME comment.
94199
94200 2000-09-21  Jim Meyering  <meyering@lucent.com>
94201
94202         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
94203         Reported by Michael Stone.
94204
94205 2000-09-20  Jim Meyering  <meyering@lucent.com>
94206
94207         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
94208         (noinst_HEADERS): Add sha.h.
94209         Based on code from Scott G. Miller and from GnuPG.
94210
94211 2000-09-18  Jim Meyering  <meyering@lucent.com>
94212
94213         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
94214         LIBS. Otherwise, everyone ends up linking with -lelf for some
94215         configurations.
94216         Reported by Mike Stone.
94217
94218 2000-09-15  Jim Meyering  <meyering@lucent.com>
94219
94220         * lib/regex.c: Update from libc.
94221
94222 2000-09-10  Jim Meyering  <meyering@lucent.com>
94223
94224         * lib/getopt.c (_getopt_internal): Update from glibc.
94225
94226 2000-09-09  Jim Meyering  <meyering@lucent.com>
94227
94228         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
94229         think it should be used as a general replacement for isascii.
94230         * lib/fnmatch.c: Likewise.
94231         * lib/mbswidth.c: Likewise
94232         * lib/regex.c: Likewise.
94233
94234         Don't use atoi.
94235         * lib/userspec.c: Include sys/param.h and limits.h.
94236         Include xstrtol.h.
94237         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
94238         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
94239         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
94240         UID, GID.  Check range.
94241
94242 2000-09-06  Jim Meyering  <meyering@lucent.com>
94243
94244         * lib/getopt.c (_getopt_internal): Update from glibc.
94245
94246 2000-08-30  Jim Meyering  <meyering@lucent.com>
94247
94248         * lib/strftime.c: Merge in changes from GNU libc.
94249
94250 2000-08-26  Jim Meyering  <meyering@lucent.com>
94251
94252         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
94253         * m4/fpending.m4: New file.
94254
94255 2000-08-26  Jim Meyering  <meyering@lucent.com>
94256
94257         * lib/closeout.c: Include "__fpending.h".
94258         (close_stdout_status): Return right away if there's nothing to flush.
94259
94260         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
94261         * lib/__fpending.c: New file.
94262         * lib/__fpending.h: New file.
94263
94264 2000-08-20  Jim Meyering  <meyering@lucent.com>
94265
94266         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
94267         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
94268         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
94269
94270 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
94271
94272         Improve fileutils installation on systems where running
94273         programs (like install) can't be unlinked.
94274         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
94275         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
94276
94277 2000-08-07  Paul Eggert  <eggert@twinsun.com>
94278
94279         Standardize on "memory exhausted" instead of "Memory exhausted"
94280         or "virtual memory exhausted".
94281         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
94282         "virtual memory exhausted".
94283         * lib/same.c (same_name): Invoke xalloc_die instead of printing
94284         our own message.
94285         * lib/userspec.c (parse_user_spec): Likewise.
94286         * lib/bumpalloc.h: comment fix
94287         * lib/same.c, userspec.c: Include xalloc.h.
94288
94289         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
94290         not char *const and pointing to a constant array.
94291         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
94292         (xrealloc): Comment fix.
94293
94294         * lib/userspec.c (parse_user_spec):
94295         Don't translate a message until just before returning,
94296         to avoid unnecessary translation.
94297
94298 2000-08-07  Jim Meyering  <meyering@lucent.com>
94299
94300         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
94301         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
94302         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
94303         getgroups.c, gethostname.c, getopt.h, group-member.c,
94304         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
94305         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
94306         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
94307         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
94308         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
94309         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
94310         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
94311         yesno.c: Back out Copyright date changes for each file with no change
94312         this year.  This eases coordination with other programs using the same
94313         source code modules.  From Paul Eggert.
94314
94315 2000-08-06  Paul Eggert  <eggert@twinsun.com>
94316
94317         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
94318         not char, for compatibility with glibc 2.1.3 strftime.c.
94319
94320 2000-08-03  Greg McGary  <greg@mcgary.org>
94321
94322         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
94323         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
94324         (EXTEND_BUFFER): Use them.
94325
94326 2000-08-01  Jim Meyering  <meyering@lucent.com>
94327
94328         * lib/dirname.c (ISSLASH): Define.
94329         (BACKSLASH_IS_PATH_SEPARATOR): Define.
94330         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
94331         both `\' and `/' may be use as path separators.
94332         Based on a patch from Prashant TR.
94333
94334 2000-07-31  Paul Eggert  <eggert@twinsun.com>
94335
94336         * lib/quotearg.c (quotearg_n_options): Don't make the initial
94337         slot vector a constant, since it might get modified.
94338
94339 2000-07-31  Jim Meyering  <meyering@lucent.com>
94340
94341         * lib/xmalloc.c: Use `virtual memory exhausted', not
94342         `Memory exhausted'.
94343         * lib/obstack.c (print_and_abort): Likewise.
94344
94345 2000-07-30  Paul Eggert  <eggert@twinsun.com>
94346
94347         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
94348         buffer, so that the caller can always quote one small
94349         component of a "memory exhausted" message in slot 0.
94350         From a suggestion by Jim Meyering.
94351
94352 2000-07-30  Jim Meyering  <meyering@lucent.com>
94353
94354         * lib/makepath.c (make_path): Quote the other instance, too.
94355
94356         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
94357         (STATIC_BUF_SIZE): Define.
94358         (quotearg_n_options): Use only statically allocated storage when
94359         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
94360         than STATIC_BUF_SIZE.
94361
94362 2000-07-29  Jim Meyering  <meyering@lucent.com>
94363
94364         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
94365         * lib/dirname.c (dir_name): Likewise.
94366
94367         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
94368         `/'.
94369
94370         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
94371         (dir_name): Assert that there are no trailing slashes.
94372
94373 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
94374
94375         * lib/mbswidth.h (mbswidth): Add a flags argument.
94376         (mbswidth): New declaration.
94377         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
94378         * lib/mbswidth.c (mbswidth): Add a flags argument.
94379         (mbsnwidth): New function.
94380
94381 2000-07-24  Jim Meyering  <meyering@lucent.com>
94382
94383         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
94384
94385 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94386
94387         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
94388
94389 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94390
94391         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
94392         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
94393         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
94394         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
94395         invoke multibyte primitives.
94396
94397 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94398
94399         * lib/quotearg.c:
94400         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
94401         so that mbstate_t is always defined.
94402
94403         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
94404         be 1 in at least one GCC installation, and this configuration
94405         error is likely to be common.  Ignoring MB_LEN_MAX hurts
94406         performance on hosts that have mbrtowc but have only unibyte
94407         locales, but I assume these hosts are rare.
94408
94409 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94410
94411         * lib/mbswidth.c (_XOPEN_SOURCE):
94412         Don't define; this causes problems on Solaris 7.
94413         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
94414
94415 2000-07-23  Jim Meyering  <meyering@lucent.com>
94416
94417         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
94418         too: getgrgid, getpwuid, getuid.
94419
94420 2000-07-23  Jim Meyering  <meyering@lucent.com>
94421
94422         * lib/basename.c (base_name): Add an assertion.
94423
94424 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
94425
94426         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
94427         shadow its mbsinit function.
94428
94429 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
94430
94431         * lib/mbswidth.h: New file.
94432         * lib/mbswidth.c: New file.
94433         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
94434         (noinst_HEADERS): Add mbswidth.h.
94435
94436 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
94437
94438         * lib/config.charset: Add support for FreeBSD. Improve support for
94439         HP-UX and IRIX 6.
94440
94441 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
94442
94443         * m4/mbswidth.m4: New file.
94444         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
94445
94446 2000-07-15  Jim Meyering  <meyering@lucent.com>
94447
94448         * lib/makepath.c: Include quote.h.
94449         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
94450         corresponding argument in a `quote (...)' call.
94451         Give better diagnostics.
94452
94453         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
94454         (noinst_HEADERS): Add quote.h.
94455
94456         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
94457         from tar's src/misc.c.
94458         * lib/quote.h: New file.  Prototypes for same.
94459
94460 2000-07-14  Paul Eggert  <eggert@twinsun.com>
94461
94462         From a suggestion by Bruno Haible.
94463         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
94464         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
94465         to decide whether to define the BeOS workaround macro;
94466         this adjusts to the change to AC_MBSTATE_T.
94467
94468 2000-07-14  Jim Meyering  <meyering@lucent.com>
94469
94470         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
94471         jm_AC_TYPE_UINTMAX_T.
94472
94473 2000-07-13  Paul Eggert  <eggert@twinsun.com>
94474
94475         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
94476
94477         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
94478         quotearg_buffer_restyled): Add support for
94479         clocale_quoting_style.  Undo previous change to
94480         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
94481         and "{RIGHT QUOTATION MARK}" msgids.
94482
94483 2000-07-10  Paul Eggert  <eggert@twinsun.com>
94484
94485         From a suggestion by Bruno Haible.
94486         * m4/mbstate_t.m4 (AC_MBSTATE_T):
94487         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
94488         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
94489         and mbstate_t, to a single-part test that simply defines mbstate_t.
94490         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
94491         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
94492
94493 2000-07-10  Jim Meyering  <meyering@lucent.com>
94494
94495         * m4/strerror_r.m4: Mirror the correction made in autoconf.
94496
94497         * m4/gnu-source.m4: Output to confdefs.h directly.
94498         Suggestion from Akim Demaille.
94499
94500 2000-07-09  Paul Eggert  <eggert@twinsun.com>
94501
94502         The old behavior of quoting `like this' doesn't look good with
94503         newer, ISO-style fonts.  See:
94504         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
94505
94506         Instead, quote "like this" by default.  Let the translator
94507         tailor the locale-specific quoting behavior by providing
94508         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
94509
94510         * lib/quotearg.c (N_): New macro.
94511         (gettext_default): New function.
94512         (quotearg_buffer_restyled): Use
94513         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
94514         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
94515
94516 2000-07-09  Jim Meyering  <meyering@lucent.com>
94517
94518         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
94519         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
94520
94521         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
94522         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
94523
94524 2000-07-09  Jim Meyering  <meyering@lucent.com>
94525
94526         * lib/Most files: Update copyright dates to include 2000.
94527
94528 2000-07-08  Jim Meyering  <meyering@lucent.com>
94529
94530         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
94531         if not defined.
94532         (xgethostname): Remove now-unnecessary #ifdef.
94533         Move declaration of `err' into loop where it's used.
94534
94535 2000-07-05  Paul Eggert  <eggert@twinsun.com>
94536         and Bruno Haible  <haible@clisp.cons.org>
94537
94538         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
94539         only if the test for an object-type mbstate_t fails.  This
94540         prevents us from mistakenly reporting that mbstate_t is a
94541         system object type after we "#define mbstate_t int" to work
94542         around its lack.
94543
94544 2000-07-05  Paul Eggert  <eggert@twinsun.com>
94545         and Bruno Haible  <haible@clisp.cons.org>
94546
94547         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
94548
94549 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94550
94551         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
94552         to strerror_r.
94553         Include <ctype.h> for use of isalpha.
94554
94555 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94556
94557         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
94558         by allocating a larger buffer. Test the gethostname return value for
94559         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
94560         returns an error and ENAMETOOLONG isn't defined.
94561
94562 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94563
94564         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
94565         dimension.
94566
94567 2000-07-04  Jim Meyering  <meyering@lucent.com>
94568
94569         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
94570         of the deprecated AC_CHECKING.
94571
94572 2000-07-04  Jim Meyering  <meyering@lucent.com>
94573
94574         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
94575         Reported by Bruno Haible.
94576
94577 2000-07-04  Jim Meyering  <meyering@lucent.com>
94578
94579         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
94580         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
94581         lacks mbrtowc.
94582
94583 2000-07-03  Paul Eggert  <eggert@twinsun.com>
94584
94585         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
94586         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
94587
94588 2000-07-03  Paul Eggert  <eggert@twinsun.com>
94589         and Bruno Haible  <haible@clisp.cons.org>
94590
94591         * lib/quotearg.c (mbrtowc):
94592         Assign to *pwc, and return 1 only if result is nonzero.
94593         (iswprint): Use ISPRINT when substituting our own mbrtowc.
94594
94595 2000-07-03  Jim Meyering  <meyering@lucent.com>
94596
94597         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
94598
94599 2000-07-03  Jim Meyering  <meyering@lucent.com>
94600
94601         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
94602         This is necessary to get a definition of e.g., UTMP_FILE on
94603         HP-UX 10.20.
94604         From Bob Proulx.
94605
94606 2000-07-02  Jim Meyering  <meyering@lucent.com>
94607
94608         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
94609
94610         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
94611         AC_LIBOBJ(function_name).
94612         * m4/chown.m4: Likewise.
94613         * m4/fnmatch.m4: Likewise.
94614         * m4/ftruncate.m4: Likewise.
94615         * m4/getgroups.m4: Likewise.
94616         * m4/getline.m4: Likewise.
94617         * m4/group-member.m4: Likewise.
94618         * m4/jm-macros.m4: Likewise.
94619         * m4/lstat.m4: Likewise.
94620         * m4/malloc.m4: Likewise.
94621         * m4/memcmp.m4: Likewise.
94622         * m4/nanosleep.m4: Likewise.
94623         * m4/putenv.m4: Likewise.
94624         * m4/realloc.m4: Likewise.
94625         * m4/regex.m4: Likewise.
94626         * m4/stat.m4: Likewise.
94627         * m4/strftime.m4: Likewise.
94628
94629 2000-07-02  Jim Meyering  <meyering@lucent.com>
94630
94631         * lib/quotearg.c (mbstate_t): Don't define here.
94632
94633 2000-07-02  Jim Meyering  <meyering@lucent.com>
94634
94635         * lib/nanosleep.c (SIGCONT): Define if not already defined.
94636
94637 2000-07-01  Jim Meyering  <meyering@lucent.com>
94638
94639         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
94640
94641 2000-07-01  Jim Meyering  <meyering@lucent.com>
94642
94643         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
94644         problem.
94645
94646 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94647
94648         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
94649         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
94650
94651 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94652
94653         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
94654         per change in ../m4/ls-mntd-fs.m4.
94655         (read_filesystem_list): Ignore symbolic links.
94656
94657 2000-06-29  Jim Meyering  <meyering@lucent.com>
94658
94659         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
94660         for declaration of strcmp.
94661
94662         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
94663
94664         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
94665         Avoid warning by casting result to `char *' to remove `const'.
94666
94667 2000-06-28  Jim Meyering  <meyering@lucent.com>
94668
94669         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
94670         included by quotearg.c, for which we perform this test.  From
94671         Bruno Haible.
94672
94673 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94674
94675         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
94676         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
94677         <utmpx.h> exists, put readutmp.o into LIBOBJS.
94678
94679 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94680
94681         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
94682
94683 2000-06-26  Paul Eggert  <eggert@twinsun.com>
94684
94685         savedir now sets errno on failure and invokes xmalloc to get memory.
94686         Fix a couple of other minor bugs while we're at it.
94687
94688         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
94689         (NAMLEN): Remove macro.
94690         (malloc, realloc): Remove decls.
94691         (stpcpy): Likewise.
94692         ("xalloc.h"): Include.
94693         (NAME_SIZE_DEFAULT): New macro.
94694         (savedir): Use xmalloc / xrealloc to allocate memory.
94695         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
94696         Skip "" directory entries.
94697         Use strlen to calculate directory entry length, since the old method
94698         is rarely used these days and isn't worth supporting.
94699         Don't use a pointer after freeing it.
94700         Check for integer overflow when calculating allocation size.
94701         Use memcpy to copy entries, instead of stpcpy.
94702         Set errno properly when returning NULL.
94703         Check for readdir error.
94704
94705 2000-06-26  Jim Meyering  <meyering@lucent.com>
94706
94707         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
94708
94709 2000-06-25  Jim Meyering  <meyering@lucent.com>
94710
94711         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
94712         Linux header bug when _XOPEN_SOURCE is defined to 500.
94713
94714 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94715
94716         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
94717         deficiency.
94718
94719 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94720
94721         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
94722         Include xalloc.h.
94723         Don't include <stdlib.h>.  Don't declare malloc, realloc.
94724
94725 2000-06-24  Jim Meyering  <meyering@lucent.com>
94726
94727         * m4/strerror_r.m4: Revive this file -- to try out an experimental
94728         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
94729         for which strerror does return char*, but which lacks a conveniently
94730         accessible declaration of the function.  If the compile-test says
94731         strerror_r doesn't work, then resort to a `run'-test that works on
94732         BeOS and segfaults on DEC Unix.
94733
94734 2000-06-24  Jim Meyering  <meyering@lucent.com>
94735
94736         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
94737
94738 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94739
94740         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
94741         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
94742
94743 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94744
94745         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
94746         (mbrtowc, mbstate_t): Define substitutes if
94747         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
94748         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
94749         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
94750
94751 2000-06-23  Jim Meyering  <meyering@lucent.com>
94752
94753         * m4/afs.m4: Add missing AC_MSG_RESULT.
94754         Reported by Bruno Haible.
94755
94756         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
94757         Suggestion from Bruno Haible.
94758
94759 2000-06-23  Jim Meyering  <meyering@lucent.com>
94760
94761         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
94762
94763 2000-06-21  Jim Meyering  <meyering@lucent.com>
94764
94765         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
94766
94767 2000-06-21  Jim Meyering  <meyering@lucent.com>
94768
94769         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
94770         (noinst_HEADERS): Add getstr.h.
94771
94772         * lib/getline.c (getstr): Move into a separate file.
94773         * lib/getstr.c (getstr): New file, extracted from getline.c, with
94774         the following changes: new parameter, delim2; both delim[12]
94775         parameters have type `int', not `char'.  The latter would lose
94776         with 8-bit delimiters.
94777         * lib/getstr.h: New file.
94778
94779 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94780
94781         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
94782         than 1024, return a memory chunk of least possible size, instead
94783         of size PATH_MAX + 2. In the loop, increment the size proportionally.
94784         Use free/xmalloc instead of xrealloc to avoid copying for very long
94785         paths.
94786
94787 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94788
94789         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
94790         the empty string.
94791
94792 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94793
94794         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
94795         address, not strdup.  Include <stdlib.h> and don't declare free().
94796
94797 2000-06-19  Jim Meyering  <meyering@lucent.com>
94798
94799         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
94800
94801 2000-06-18  Jim Meyering  <meyering@lucent.com>
94802
94803         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
94804
94805         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
94806         `checking whether...' message to be consistent with that of the
94807         lstat test.
94808
94809 2000-06-18  Jim Meyering  <meyering@lucent.com>
94810
94811         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
94812         Besides, these days every porting target provides a mkdir function.
94813
94814         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
94815         needed. (this snippet comes from src/system.h).
94816
94817 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
94818
94819         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
94820
94821 2000-06-15  Paul Eggert  <eggert@twinsun.com>
94822
94823         * lib/human.c (adjust_value): New function.
94824         (human_readable_inexact): Apply rounding style even when
94825         printing approximate values.
94826
94827 2000-06-14  Paul Eggert  <eggert@twinsun.com>
94828
94829         * lib/human.c (human_readable_inexact): Allow an input block
94830         size that is not a multiple of the output block size, and vice versa.
94831         Reported by Piergiorgio Sartor.
94832
94833 2000-06-14  Paul Eggert  <eggert@twinsun.com>
94834
94835         * lib/getdate.y (get_date): Apply relative times after time
94836         zone indicator, not before.  Reported by Todd A. Jacobs.
94837
94838 2000-06-13  Jim Meyering  <meyering@lucent.com>
94839
94840         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
94841
94842         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
94843
94844 2000-06-12  Paul Eggert  <eggert@twinsun.com>
94845
94846         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
94847
94848 2000-06-12  Jim Meyering  <meyering@lucent.com>
94849
94850         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
94851         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
94852         optional argument.
94853         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
94854         the optional argument, `lib'.
94855
94856 2000-06-08  Jim Meyering  <meyering@lucent.com>
94857
94858         * m4/largefile.m4: Remove file (now that it's part of autoconf).
94859
94860 2000-06-04  Paul Eggert  <eggert@twinsun.com>
94861
94862         Rewrite largefile configuration so that we don't need to run
94863         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
94864         AC_CANONICAL_HOST in configure.in -- jmm]
94865
94866         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
94867         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
94868         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
94869         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
94870         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
94871         All uses changed.
94872         Instead of inspecting the output of getconf, try to compile the
94873         test program without and with the macro definition.
94874         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
94875         for getconf.  Instead, check for the needed flags by compiling
94876         test programs.
94877
94878 2000-06-04  Paul Eggert  <eggert@twinsun.com>
94879
94880         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
94881
94882 2000-06-04  Jim Meyering  <meyering@lucent.com>
94883
94884         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
94885         SunOS 4.1.4 for which gid_t is an unsigned type.
94886
94887 2000-06-03  Jim Meyering  <meyering@lucent.com>
94888
94889         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
94890         now that autoconf requires that.
94891
94892         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
94893         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
94894         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
94895
94896 2000-06-03  Jim Meyering  <meyering@lucent.com>
94897
94898         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
94899
94900 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
94901
94902         * m4/glibc21.m4: New file.
94903         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
94904
94905 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
94906
94907         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
94908         newer, don't install charset.alias.
94909         * lib/config.charset: Change the Linux/glibc rules so they become empty
94910         on glibc-2.1 or newer.
94911
94912 2000-06-02  Jim Meyering  <meyering@lucent.com>
94913
94914         * lib/mountlist.c: Back out last change.  Instead, do this...
94915         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
94916         me_dummy member using the same `ignore'-testing code.
94917         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
94918         fs_type strings.
94919         From Mark D. Roth.
94920
94921 2000-05-29  Jim Meyering  <meyering@lucent.com>
94922
94923         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
94924         mounts with the `ignore' attribute.  Based on a patch from
94925         Mark D. Roth.
94926
94927 2000-05-28  Jim Meyering  <meyering@lucent.com>
94928
94929         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
94930         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94931         * m4/stat.m4: Likewise.
94932         * m4/lstat.m4: Likewise.
94933         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
94934
94935         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
94936         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
94937
94938 2000-05-26  Jim Meyering  <meyering@lucent.com>
94939
94940         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
94941
94942 2000-05-24  Jim Meyering  <meyering@lucent.com>
94943
94944         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
94945         autoconf requires that.
94946         * m4/lib-check.m4: Likewise.
94947         * m4/jm-macros.m4: Likewise.
94948         * m4/strftime.m4: Likewise.
94949
94950         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
94951         AC_CHECK_DECLS, now that autoconf requires that.
94952
94953 2000-05-22  Jim Meyering  <meyering@lucent.com>
94954
94955         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94956         * m4/lstat.m4: Likewise.
94957
94958 2000-05-22  Jim Meyering  <meyering@lucent.com>
94959
94960         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
94961
94962 2000-05-20  Jim Meyering  <meyering@lucent.com>
94963
94964         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
94965         (jm_PREREQ): Use it.
94966
94967 2000-05-18  Jim Meyering  <meyering@lucent.com>
94968
94969         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
94970         back, too, since it may have been modified by allocate_entry.
94971         (hash_delete): Rewrite to use neither the assignment operator
94972         nor the comma operator in an if-expression.
94973
94974 2000-05-15  Paul Eggert  <eggert@twinsun.com>
94975
94976         * lib/closeout.c:
94977         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
94978         Remove; no longer needed.
94979         "quotearg.h": Add include.
94980         (file_name): Do not bother to explicitly initialize to NULL; it's less
94981         efficient on some hosts.
94982         (close_stdout_status): Remove test as to whether stdout was already
94983         closed; it breaks for the case "echo x | sort >&-".
94984         Quote file name colons.
94985         Do not assume that _("write error") lacks format strings.
94986
94987 2000-05-15  Jim Meyering  <meyering@lucent.com>
94988
94989         * lib/version-etc.c (version_etc_copyright): Update the copyright
94990         string used in all --version output.
94991
94992 2000-05-14  Jim Meyering  <meyering@lucent.com>
94993
94994         * lib/closeout.c (close_stdout_set_file_name): New function.
94995         (close_stdout_status): Use new file-scoped global.
94996         Return right away if fstat says the stdout file descriptor is invalid.
94997         * lib/closeout.h (close_stdout_set_file_name): Declare.
94998
94999 2000-05-10  Jim Meyering  <meyering@lucent.com>
95000
95001         * lib/closeout.c [default_exit_status]: New file-scoped variable.
95002         (close_stdout_set_status): New function.
95003         * lib/closeout.h (close_stdout_set_status): Declare.
95004
95005 2000-05-09  Jim Meyering  <meyering@lucent.com>
95006
95007         * m4/gettext.m4: Rename this...
95008         * m4/libintl.m4: ...to this.
95009
95010 2000-05-08  Jim Meyering  <meyering@lucent.com>
95011
95012         * lib/long-options.c: Don't include closeout.h.
95013         (parse_long_options): Don't call close_stdout for --version.
95014
95015 2000-05-06  Paul Eggert  <eggert@twinsun.com>
95016
95017         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
95018         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
95019         2.1.3 bug.  This avoids a clash when files like regex.c define
95020         _GNU_SOURCE.
95021
95022 2000-05-06  Jim Meyering  <meyering@lucent.com>
95023
95024         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
95025         (AC_REPLACE_FUNCS): Add strnlen.
95026
95027         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
95028         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
95029
95030         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
95031         AC_SEARCH_LIBS call for nanosleep.
95032         (LIB_NANOSLEEP): Set and AC_SUBST.
95033
95034 2000-05-06  Jim Meyering  <meyering@lucent.com>
95035
95036         * lib/strnlen.c: Undefine __strnlen and strnlen.
95037         [!weak_alias]: Define __strnlen to strnlen.
95038
95039         * lib/atexit.c: New file, from libiberty.
95040
95041 2000-05-06  Jim Meyering  <meyering@lucent.com>
95042
95043         * lib/closeout.c (close_stdout_status): Also check for errors on the
95044         stderr stream.
95045
95046 2000-05-05  Jim Meyering  <meyering@lucent.com>
95047
95048         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
95049         AC_SEARCH_LIBS call for clock_gettime.
95050         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
95051
95052         * m4/search-libs.m4: Update from autoconf.
95053
95054         su doesn't work on Solaris 2.6.
95055         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
95056         <shadow.h>.  Reported by Dragos Harabor.
95057
95058 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
95059
95060         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
95061         memcpy instead of xmalloc, xrealloc, path_concat.
95062         (locale_charset): Treat empty environment variables as absent.
95063         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
95064
95065 2000-05-04  Jim Meyering  <meyering@lucent.com>
95066
95067         * lib/getopt.c: Update from glibc.
95068         * lib/obstack.c: Likewise.
95069         * lib/obstack.h: Likewise.
95070         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
95071         file
95072
95073         * lib/regex.h: Likewise.
95074         * lib/strndup.c: Likewise.
95075         * lib/strnlen.c: New file, from glibc.
95076
95077 2000-05-03  Jim Meyering  <meyering@lucent.com>
95078
95079         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
95080
95081 2000-05-02  Paul Eggert  <eggert@twinsun.com>
95082
95083         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
95084         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
95085         compile-time test, rather than inspecting host and OS, to
95086         decide whether to define _LARGEFILE_SOURCE.
95087
95088 2000-05-01  Jim Meyering  <meyering@lucent.com>
95089
95090         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
95091
95092         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
95093         Based on a patch from Bruno Haible.
95094
95095 2000-05-01  Jim Meyering  <meyering@lucent.com>
95096
95097         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
95098
95099 2000-04-29  Jim Meyering  <meyering@lucent.com>
95100
95101         * lib/path-concat.c: Declare strdup only if it's not defined.
95102         * lib/canon-host.c: Likewise.
95103
95104 2000-04-28  Jim Meyering  <meyering@lucent.com>
95105
95106         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
95107         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
95108         is included first, then limits.h is included by locale.h by libintl.h.
95109         From John David Anglin.
95110
95111 2000-04-25  Jim Meyering  <meyering@lucent.com>
95112
95113         * lib/makepath.c (S_IRWXUGO): Define.
95114         (make_path): Always perform explicit chmod if MODE specifies any
95115         of the `special' permission bits.  Prompted by a bug report against
95116         install from Mate Wierdl and Joost van Baal.
95117
95118 2000-04-18  Jim Meyering  <meyering@lucent.com>
95119
95120         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
95121         (jm_PREREQ): Use it.
95122
95123 2000-04-18  Jim Meyering  <meyering@lucent.com>
95124
95125         * lib/README: New file.
95126
95127         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
95128         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
95129
95130 2000-04-17  Jim Meyering  <meyering@lucent.com>
95131
95132         Get it right :-)
95133         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
95134         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
95135         Suggestion from Akim Demaille.
95136
95137 2000-04-17  Jim Meyering  <meyering@lucent.com>
95138
95139         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
95140         the definition of it to rpl_strftime also defined-away the system's
95141         declaration.
95142
95143 2000-04-15  Jim Meyering  <meyering@lucent.com>
95144
95145         Use `C' to denote so-called `contiguous' files, the same way
95146         that tar does.
95147         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
95148         (ftypelet): Use S_ISCTG.
95149         From Michael Deutschmann.
95150
95151 2000-04-14  Jim Meyering  <meyering@lucent.com>
95152
95153         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
95154         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
95155         clobbered.
95156
95157 2000-04-14  Jim Meyering  <meyering@lucent.com>
95158
95159         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
95160
95161 2000-04-13  Jim Meyering  <meyering@lucent.com>
95162
95163         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
95164         AH_VERBATIM to insert required #ifndef into config.h.in.
95165         Suggestion from Akim Demaille.
95166
95167 2000-04-12  Jim Meyering  <meyering@lucent.com>
95168
95169         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
95170         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
95171         Christian Krackowizer.
95172
95173         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
95174         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
95175         (AC_SYS_LARGEFILE): Require.
95176         (AM_C_PROTOTYPES): Require.
95177
95178 2000-04-08  Jim Meyering  <meyering@lucent.com>
95179
95180         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
95181         names don't conflict.  Reported by Eli Zaretskii.
95182
95183 2000-04-07  Jim Meyering  <meyering@lucent.com>
95184
95185         * lib/putenv.c: Move inclusion of errno.h so it follows that of
95186         sys/types.h, to work around system header problems on AIX 3.2.5.
95187         From Bruno Haible.
95188
95189 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
95190
95191         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
95192         bug.  Deal with the different error behavior of Irix iconv.
95193
95194 2000-04-05  Paul Eggert  <eggert@twinsun.com>
95195
95196         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
95197         IRIX if the installer said otherwise.
95198
95199 2000-04-05  Jim Meyering  <meyering@lucent.com>
95200
95201         Portability tweaks required for ultrix4.3.
95202         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
95203         (jm_CHECK_DECLS): Add getutent to the list of functions.
95204         (_jm_DECL_HEADERS): Add utmpx.h.
95205         From John David Anglin.
95206
95207         * m4/strftime.m4: Back out the 2000-04-02 change.
95208         Instead of that change, simply undefine putenv in the test program.
95209
95210 2000-04-05  Jim Meyering  <meyering@lucent.com>
95211
95212         Portability tweaks required for ultrix4.3.
95213         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
95214         getutent.
95215         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
95216         * lib/canon-host.c: Declare strdup.
95217         * lib/path-concat.c: Likewise.
95218         From John David Anglin.
95219
95220 2000-04-04  Jim Meyering  <meyering@lucent.com>
95221
95222         Be more DOS 8.3-friendly.
95223         * lib/ref-add.sin: Renamed from ref-add.sed.in.
95224         * lib/ref-del.sin: Renamed from ref-del.sed.in.
95225         * lib/Makefile.am: Reflect renaming.
95226         Reported by Eli Zaretskii.
95227
95228         Use a temporary file name that won't clash with `charset.alias'
95229         in the DOS 8.3 name space.
95230         * lib/Makefile.am (charset_tmp): Define.
95231         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
95232         (uninstall-local): Likewise.
95233         Reported by Eli Zaretskii.
95234
95235 2000-04-03  Jim Meyering  <meyering@lucent.com>
95236
95237         * m4/gettext.m4: Fix typo in comment.
95238
95239         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
95240         textutils/configure.in).  Suggestion from Paul Eggert.
95241         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
95242
95243 2000-04-02  Paul Eggert  <eggert@twinsun.com>
95244
95245         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
95246         variable in the shell rather than using putenv, which isn't
95247         portable.  This avoids the configure-time inter-test dependency
95248         on the potentially-renamed putenv function.
95249
95250 2000-03-30  Paul Eggert  <eggert@twinsun.com>
95251
95252         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
95253         before checking struct stat.st_blksize, so that
95254         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
95255
95256 2000-03-29  Paul Eggert  <eggert@twinsun.com>
95257
95258         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
95259         since strftime.c uses HAVE_STRFTIME to decide whether to use
95260         the underlying strftime.
95261
95262 2000-03-29  Paul Eggert  <eggert@twinsun.com>
95263
95264         * lib/time/strftime.c (my_strftime): Make sure we call the system
95265         strftime, not ourselves, when invoking the underlying strftime.
95266
95267 2000-03-24  Jim Meyering  <meyering@lucent.com>
95268
95269         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
95270         (charset_alias): Define.
95271         (install-exec-local): Factor out common code.
95272         (uninstall-local): Split lines longer than 80.
95273         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
95274         (SUFFIXES): Define.
95275         (.sed.in.sed): New rule.  Don't redirect directly to $@.
95276         (CLEANFILES): Add ref-add.sed and ref-del.sed.
95277
95278 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
95279
95280         * lib/config.charset: Output a line containing "Packages using this
95281         file".
95282         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
95283         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
95284         ref-del.sed): New rules.
95285
95286 2000-03-17  Jim Meyering  <meyering@lucent.com>
95287
95288         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
95289         Otherwise, include <strings.h>
95290
95291 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
95292
95293         * lib/unicodeio.c (utf8_wctomb): New function.
95294         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
95295         format instead of in UCS-4 with platform dependent endianness.
95296
95297 2000-03-10  Jim Meyering  <meyering@lucent.com>
95298
95299         * m4/lib-check.m4: Look for getspnam in -lgen, too.
95300         From Marco Franzen.
95301
95302 2000-03-07  Paul Eggert  <eggert@twinsun.com>
95303
95304         * lib/savedir.c (savedir): Work even if directory size is
95305         negative; this can happen with some screwy NFS configurations.
95306
95307 2000-03-06  Jim Meyering  <meyering@lucent.com>
95308
95309         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
95310         if it's NULL (because we ran out of memory).  From Bruno Haible.
95311
95312 2000-03-05  Jim Meyering  <meyering@lucent.com>
95313
95314         * lib/localcharset.c ("path-concat.h"): Include.
95315         (get_charset_aliases): Use path_concat instead of ANSI string
95316         concatenation.
95317
95318         * lib/unicodeio.h (PARAMS): Define.
95319         Use it to guard prototype.
95320
95321 2000-03-04  Jim Meyering  <meyering@lucent.com>
95322
95323         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
95324         for lib/localcharset.c.
95325
95326 2000-03-04  Jim Meyering  <meyering@lucent.com>
95327
95328         * lib/Makefile.am (install-exec-local): Create $(libdir) before
95329         installing into it.
95330         (uninstall-local): Uncomment this rule so `make distcheck' works
95331         once again.
95332
95333         * lib/unicodeio.c (<errno.h>): Include it.
95334         (errno): Declare if not defined.
95335
95336         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
95337
95338         * lib/config.charset: New version, incorporating remarks from a linux
95339         i18n mailing list.  From Bruno Haible.
95340
95341 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
95342
95343         * m4/codeset.m4: New file.
95344         * m4/iconv.m4: New file.
95345         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
95346
95347 2000-03-03  Jim Meyering  <meyering@lucent.com>
95348
95349         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
95350
95351 2000-03-02  Jim Meyering  <meyering@lucent.com>
95352
95353         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
95354         the messages come out on separate lines.
95355
95356         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
95357         rather than jm_CHECK_DECLARATIONS.
95358         * m4/decl.m4: Remove now-unused file.
95359
95360         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
95361         geteuid.
95362
95363 2000-03-02  Jim Meyering  <meyering@lucent.com>
95364
95365         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
95366
95367 2000-03-01  Jim Meyering  <meyering@lucent.com>
95368
95369         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
95370         * lib/unicodeio.c: Likewise.
95371
95372 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
95373
95374         * lib/config.charset: New file.
95375         * lib/localcharset.c: New file.
95376         * lib/unicodeio.h, lib/unicodeio.c: New files.
95377         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
95378         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
95379         (noinst_HEADERS): Add unicodeio.h.
95380         (all-local, install-exec-local, charset.alias): New targets.
95381
95382 2000-02-28  Paul Eggert  <eggert@twinsun.com>
95383
95384         * lib/quotearg.c (ALERT_CHAR): New macro.
95385         (quotearg_buffer_restyled): Use it.
95386
95387 2000-02-27  Jim Meyering  <meyering@lucent.com>
95388
95389         * m4/check-decl.m4: Add getenv to the list.
95390
95391 2000-02-27  Jim Meyering  <meyering@lucent.com>
95392
95393         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
95394         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
95395
95396         * lib/backupfile.c: Guard inclusion of stdlib.h with
95397         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
95398         Declare malloc if needed.
95399
95400         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
95401         `#ifndef HAVE_DECL..'
95402         now that autoconf always defines the HAVE_DECL_ symbols.
95403         * lib/human.c: Likewise.
95404         * lib/same.c: Likewise.
95405         * lib/strtoumax.c: Likewise.
95406
95407         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
95408         declaration check was not run.
95409         * lib/hash.c: Likewise.
95410         * lib/human.c: Likewise.
95411         * lib/same.c: Likewise.
95412         * lib/strtoumax.c: Likewise.
95413
95414         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
95415         `.', then first look up the entire `.'-containing string as a login
95416         name.
95417
95418 2000-02-23  Jim Meyering  <meyering@lucent.com>
95419
95420         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
95421         in place of my hack.
95422
95423 2000-02-18  Paul Eggert  <eggert@twinsun.com>
95424
95425         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
95426         (textint): New typedef.
95427         (parser_control): Member year changed from int to textint.
95428         All uses changed.
95429         (YYSTYPE): Removed; replaced by %union with int and textint members.
95430         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
95431         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
95432         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
95433         (tSNUMBER, tUNUMBER): Now of type <textintval>.
95434         (date, number, to_year): Use width of number in digits, not its value,
95435         to determine whether it's a 2-digit year, or a 2-digit time.
95436         (yylex): Store number of digits of numeric tokens.
95437         Reported by John Kendall.
95438
95439         (parser_control): Changed from struct parser_control to typedef (for
95440         consistency).  All uses changed.
95441
95442         (tID): Removed; not used.
95443         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
95444
95445 2000-02-14  Paul Eggert  <eggert@twinsun.com>
95446
95447         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
95448         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
95449
95450 2000-02-12  Jim Meyering  <meyering@lucent.com>
95451
95452         * lib/userspec.c (ISDIGIT): Define it.
95453         (isdigit): Remove definition.
95454         (is_number): Use ISDIGIT, not isdigit.
95455         <libintl.h>: Include.
95456         (_ and N_): Define.
95457         (parse_user_spec): Mark translatable strings.
95458
95459 2000-02-10  Jim Meyering  <meyering@lucent.com>
95460
95461         With these changes, nanosleep.[ch] are finally enough like the other
95462         lib/* replacement files to compile on a few more losing systems.
95463
95464         * lib/nanosleep.h: Don't include config.h.
95465         Remove prototype from declaration of nanosleep.
95466         (PARAMS): Remove now-unneeded definition.
95467         * lib/nanosleep.c: #undef nanosleep.
95468         (rpl_nanosleep): Rename from nanosleep.
95469
95470 2000-02-10  Jim Meyering  <meyering@lucent.com>
95471
95472         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
95473         gnu_nanosleep to rpl_nanosleep.
95474
95475 2000-02-09  Jim Meyering  <meyering@lucent.com>
95476
95477         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
95478         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
95479
95480 2000-02-08  Akim Demaille  <akim@epita.fr>
95481
95482         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
95483         `[' and `]' and remove uses of `changequote'.
95484         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
95485         (AC_SYS_LARGEFILE): Likewise.
95486         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
95487         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
95488         of changequote.
95489         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
95490         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
95491         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
95492         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
95493
95494 2000-02-05  Jim Meyering  <meyering@lucent.com>
95495
95496         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
95497         Remove explicit use of AC_HEADER_TIME.  It is required by
95498         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
95499         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
95500         in autoconf whereby the expansion of the latter ended up preceding
95501         the expansion of its prerequisite, AC_HEADER_TIME.
95502         Reported by Volker Borchert.
95503
95504 2000-02-03  Jim Meyering  <meyering@lucent.com>
95505
95506         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
95507
95508 2000-02-03  Jim Meyering  <meyering@lucent.com>
95509
95510         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
95511         rather than with `#if HAVE_UTMPNAME'.
95512
95513 2000-02-02  Jim Meyering  <meyering@lucent.com>
95514
95515         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
95516         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
95517         Reported by Eli Zaretskii.
95518
95519 2000-02-01  Jim Meyering  <meyering@lucent.com>
95520
95521         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
95522
95523 2000-01-31  Jim Meyering  <meyering@lucent.com>
95524
95525         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
95526         functions.  Add the time.h and sys/time.h headers along with the
95527         AC_REQUIRE'ment of AC_HEADER_TIME.
95528
95529 2000-01-31  Jim Meyering  <meyering@lucent.com>
95530
95531         * lib/nanosleep.h (nanosleep): Guard declaration with
95532         `#if ! HAVE_DECL_NANOSLEEP'.
95533         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
95534         the declaration in that vendor's sys/timers.h.
95535         Reported by Christian Krackowizer.
95536
95537         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
95538         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
95539         (ISPRINT): Likewise.
95540         Reported by Tom Tromey.
95541
95542 2000-01-30  Jim Meyering  <meyering@lucent.com>
95543
95544         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
95545
95546         * m4/prereq.m4 (utmp_includes): Define.
95547         Check for ut_user and ut_name members in both struct utmpx
95548         and struct utmp.
95549
95550 2000-01-30  Jim Meyering  <meyering@lucent.com>
95551
95552         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
95553         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
95554         header files where only utmpx.ut_user is declared.
95555
95556         * lib/readutmp.h (UT_USER): Define.
95557
95558 2000-01-29  Jim Meyering  <meyering@lucent.com>
95559
95560         * m4/lib-check.m4: New file containing library-related checks from
95561         fileutils and sh-utils (textutils had none).
95562
95563 2000-01-28  Jim Meyering  <meyering@lucent.com>
95564
95565         * m4/perl.m4: Change format of warning message to look more like that
95566         from the missing script.  Suggestion from François Pinard.
95567
95568 2000-01-25  Jim Meyering  <meyering@lucent.com>
95569
95570         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
95571         well as time.h in the compile check.
95572         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
95573         Fix typo in cross-compiling case: s/yes/no/.
95574
95575 2000-01-23  Jim Meyering  <meyering@lucent.com>
95576
95577         * m4/jm-macros.m4: Move df-related tests here from
95578         fileutils/configure.in
95579
95580         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
95581         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
95582
95583         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
95584         s/space/ac_fsusage_space/.
95585         (jm_FILE_SYSTEM_USAGE): Take two parameters.
95586
95587         * m4/ftruncate.m4: New file (derived from part of
95588         fileutils/configure.in).
95589         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
95590         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
95591
95592         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
95593         AC_SUBST these here, rather than just in sh-util/configure.in, so
95594         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
95595         all the same.
95596         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
95597         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
95598         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
95599         (AC_SUBST(POW_LIBM)): Likewise.
95600         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
95601
95602 2000-01-23  Jim Meyering  <meyering@lucent.com>
95603
95604         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
95605         obstack.c.
95606
95607 2000-01-22  Jim Meyering  <meyering@lucent.com>
95608
95609         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
95610
95611         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
95612
95613         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
95614         configure.in
95615         (AC_CHECK_HEADERS): Likewise for sh-utils.
95616         (AC_CHECK_HEADERS): Likewise for textutils.
95617         Merge the three lists of headers.
95618
95619         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
95620         from fileutils' configure.in.
95621
95622         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
95623         code. Moved tests into their own function (_jm_DECL_HEADERS) in
95624         check-decl.m4.
95625
95626         * m4/check-decl.m4: Use #if rather than #ifdef.
95627         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
95628         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
95629         (_jm_DECL_HEADERS): Define new function.
95630         (jm_CHECK_DECLARATIONS): Require it.
95631
95632 2000-01-22  Jim Meyering  <meyering@lucent.com>
95633
95634         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
95635         [! HAVE_DECL_STRTOULL]: Declare strtoull.
95636         Required for some AIX systems.  Reported by Christian Krackowizer.
95637         [TESTING] (main): New function.
95638
95639         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
95640         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
95641         letters.
95642
95643         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
95644         iswprint.
95645
95646         * lib/strverscmp.c (ISDIGIT): Define.
95647         (strverscmp): Use ISDIGIT, not isdigit.
95648
95649 2000-01-19  Jim Meyering  <meyering@lucent.com>
95650
95651         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
95652         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
95653         defines `struct timespec' in <sys/time.h>
95654
95655         * m4/c-bs-a.m4: Remove uses of changequote altogether.
95656         Thanks to Akim for explaining.
95657
95658 2000-01-17  Paul Eggert  <eggert@twinsun.com>
95659
95660         * lib/nanosleep.c (nanosleep):
95661         Don't use SA_INTERRUPT to decide whether to call sigaction, as
95662         POSIX.1 doesn't require SA_INTERRUPT and some systems
95663         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
95664         it's been part of POSIX.1 since day 1 (in 1988).
95665
95666 2000-01-17  Jim Meyering  <meyering@lucent.com>
95667
95668         * lib/interlock: Remove unused file.  Reported by François Pinard.
95669
95670 2000-01-16  Paul Eggert  <eggert@twinsun.com>
95671
95672         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
95673         alert, backslash, formfeed, and vertical tab unnecessarily in
95674         shell quoting style.
95675
95676 2000-01-16  Jim Meyering  <meyering@lucent.com>
95677
95678         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
95679         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
95680         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
95681         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
95682
95683 2000-01-16  Jim Meyering  <meyering@lucent.com>
95684
95685         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
95686         because the latter didn't work.
95687
95688 2000-01-15  Jim Meyering  <meyering@lucent.com>
95689
95690         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
95691         (AC_REPLACE_FUNCS): Add memcpy and memset.
95692         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
95693         Add strpbrk.
95694         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
95695
95696 2000-01-12  Jim Meyering  <meyering@lucent.com>
95697
95698         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
95699         (jm_PREREQ): Use it.
95700         (jm_PREREQ_READUTMP): New macro.
95701         (jm_PREREQ): Use it.
95702
95703 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95704
95705         Quote multibyte characters correctly.
95706         * m4/c-bs-a.m4: New file.
95707         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
95708         (jm_PREREQ): Use it.
95709
95710 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95711
95712         * m4/uintmax_t.m4: Port to autoconf 2.13.
95713
95714 2000-01-08  Jim Meyering  <meyering@ascend.com>
95715
95716         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
95717         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
95718
95719 2000-01-04  Jim Meyering  <meyering@ascend.com>
95720
95721         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
95722         jm_STRUCT_DIRENT_D_TYPE.
95723         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
95724         jm_STRUCT_DIRENT_D_INO.
95725         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
95726         jm_STRUCT_UTIMBUF.
95727         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
95728         renamings.
95729         * m4/utime.m4: Likewise.
95730
95731         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
95732         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
95733
95734 2000-01-03  Paul Eggert  <eggert@twinsun.com>
95735
95736         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
95737         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
95738
95739 2000-01-02  Jim Meyering  <meyering@ascend.com>
95740
95741         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
95742         remember if this is necessary.
95743
95744 1999-12-26  Jim Meyering  <meyering@ascend.com>
95745
95746         * m4/jm-macros.m4: Use it here.
95747         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
95748
95749 1999-12-23  Jim Meyering  <meyering@ascend.com>
95750
95751         * m4/jm-macros.m4: Check for clock_gettime (moved from
95752         fileutils/configure.in)
95753         Check for gettimeofday.
95754
95755 1999-12-20  Jim Meyering  <meyering@ascend.com>
95756
95757         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
95758         autoconf-2.14a-1999-12-20.
95759
95760 1999-12-19  Jim Meyering  <meyering@ascend.com>
95761
95762         * m4/lstat-slash.m4: New file.
95763         * m4/jm-macros.m4: Use the new macro:
95764         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95765
95766 1999-12-07  Jim Meyering  <meyering@ascend.com>
95767
95768         * m4/perl.m4: Require that File::Compare be available, too.
95769         Too many systems seem to lack it.
95770
95771         * m4/strftime.m4: Add checks for most of the cpp macros tested in
95772         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
95773
95774 1999-11-18  Paul Eggert  <eggert@twinsun.com>
95775
95776         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
95777         problem with the QNX 4.25 shell, which doesn't propagate exit
95778         status of failed commands inside shell assignments.
95779
95780 1999-11-17  Jim Meyering  <meyering@ascend.com>
95781
95782         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
95783
95784 1999-11-07  Jim Meyering  <meyering@ascend.com>
95785
95786         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
95787
95788 1999-11-06  Jim Meyering  <meyering@ascend.com>
95789
95790         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
95791         * m4/jm-macros.m4 (jm_MACROS): Use it here.
95792
95793 1999-11-05  Jim Meyering  <meyering@ascend.com>
95794
95795         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
95796         configure.in of textutils, fileutils, and sh-utils into this one
95797         (shared between those packages) file.
95798         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
95799         AC_STRUCT_ST_BLKSIZE.
95800
95801 1999-11-03  Jim Meyering  <meyering@ascend.com>
95802
95803         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
95804         of AC_CHECK_TYPE checks includes unistd.h.
95805         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
95806         Suggestion from Akim Demaille.
95807
95808 1999-10-30  Jim Meyering  <meyering@ascend.com>
95809
95810         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
95811         m4-quoted string.
95812         * m4/ls-mntd-fs.m4: Likewise.
95813         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
95814         * m4/jm-winsz1.m4: Likewise.
95815
95816         * m4/const.m4: Remove file, since the fix made it into the experimental
95817         version of autoconf.
95818         * m4/mktime.m4: Likewise.
95819
95820         * m4/check-type.m4: Remove file, now that the latest version of
95821         AC_CHECK_TYPE takes a third arg to specify additional #includes.
95822
95823         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
95824         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
95825         AC_CHECK_TYPE.
95826
95827 1999-10-04  Jim Meyering  <meyering@ascend.com>
95828
95829         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
95830
95831 1999-09-22  Paul Eggert  <eggert@twinsun.com>
95832
95833         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
95834         2.95.1 bug with HP-UX 10.20.
95835
95836 1999-09-17  Jim Meyering  <meyering@ascend.com>
95837
95838         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
95839         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
95840         due to missing strdup (against sh-utils-2.0).
95841
95842 1999-08-29  Jim Meyering  <meyering@ascend.com>
95843
95844         * m4/jm-macros.m4: Require jm_BISON.
95845         * m4/bison.m4: New file.
95846
95847 1999-08-17  Paul Eggert  <eggert@twinsun.com>
95848
95849         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
95850         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
95851
95852 1999-08-05  Jim Meyering  <meyering@ascend.com>
95853
95854         * m4/getline.m4: Rename test file from conftestdata to conftest.data
95855         to avoid conflicts with `conftest' on 8+3 filesystems.
95856         Suggestion from Eli Zaretskii.
95857
95858 1999-08-04  Jim Meyering  <meyering@ascend.com>
95859
95860         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
95861         fileutils and sh-utils (textutils's getline test was inadequate).
95862         (AM_FUNC_GETLINE): Run this test.
95863         (AC_CHECK_FUNCS): Check for getdelim.
95864         Reported by Bob Proulx.
95865
95866 1999-08-02  Jim Meyering  <meyering@ascend.com>
95867
95868         * m4/jm-macros.m4: Add a comment.
95869
95870 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95871
95872         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
95873         <inttypes.h> defines strtoumax as a macro (and not as a
95874         function).
95875
95876 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95877
95878         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
95879         that we can shift, multiply and divide unsigned long long
95880         values; Ultrix cc can't do it.
95881
95882 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95883
95884         * m4/mktime.m4: New file, which is a preview of what should appear
95885         in the next public autoconf release.
95886
95887 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95888
95889         * m4/lfs.m4: Remove this file.
95890         * m4/largefile.m4: New file.  It contains the old contents of
95891         lfs.m4, except that all names with prefix AC_LFS have been
95892         changed to use the prefix AC_SYS_LARGEFILE instead, to be
95893         compatible with future autoconf versions.  Also, some minor m4
95894         quoting problems have been fixed.
95895
95896 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95897
95898         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
95899         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
95900         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
95901         and simplify the shell code.
95902
95903 1999-08-01  Jim Meyering  <meyering@ascend.com>
95904
95905         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
95906         m4.
95907
95908 1999-07-20  Jim Meyering  <meyering@ascend.com>
95909
95910         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
95911
95912 1999-07-15  Jim Meyering  <meyering@ascend.com>
95913
95914         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
95915
95916 1999-05-22  Jim Meyering  <meyering@ascend.com>
95917
95918         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
95919
95920 1999-05-20  Jim Meyering  <meyering@ascend.com>
95921
95922         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
95923         Add a colon after each `then' in case $4 is empty.
95924
95925 1999-05-16  Jim Meyering  <meyering@ascend.com>
95926
95927         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
95928
95929 1999-05-10  Jim Meyering  <meyering@ascend.com>
95930
95931         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
95932
95933         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
95934         AC_FUNC_MKTIME.
95935
95936 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
95937
95938         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
95939
95940 1999-05-04  Paul Eggert  <eggert@twinsun.com>
95941
95942         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
95943         not CPPFLAGS, so that linking works correctly in IRIX.
95944
95945 1999-04-30  Paul Eggert  <eggert@twinsun.com>
95946
95947         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
95948
95949 1999-04-20  Paul Eggert  <eggert@twinsun.com>
95950
95951         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
95952         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
95953         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
95954         jm_AC_TYPE_UNSIGNED_LONG_LONG.
95955         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
95956
95957         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
95958
95959 1999-04-20  Jim Meyering  <meyering@ascend.com>
95960
95961         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
95962         AC_REPLACE xstroull if necessary.  From Paul Eggert.
95963         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
95964
95965 1999-04-18  Jim Meyering  <meyering@ascend.com>
95966
95967         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
95968         * m4/jm-macros.m4: Use it.
95969
95970 1999-04-06  Jim Meyering  <meyering@ascend.com>
95971
95972         * m4/strftime.m4: Remove test for %f.
95973
95974 1999-03-29  Jim Meyering  <meyering@ascend.com>
95975
95976         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
95977         superset of the AC_TYPE_* checks in the textutils, fileutils,
95978         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
95979         AC_TYPE_PID_T.
95980
95981 1999-03-28  Jim Meyering  <meyering@ascend.com>
95982
95983         * m4/jm-macros.m4: Define GNU_PACKAGE here.
95984         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
95985         replaced e.g., in the *.sh files of the sh-utils.
95986
95987 1999-03-20  Jim Meyering  <meyering@ascend.com>
95988
95989         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
95990         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
95991         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
95992
95993 1999-03-19  Jim Meyering  <meyering@ascend.com>
95994
95995         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
95996
95997 1999-03-12  Jim Meyering  <meyering@ascend.com>
95998
95999         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
96000
96001 1999-03-07  Jim Meyering  <meyering@ascend.com>
96002
96003         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
96004         declared.
96005
96006 1999-02-17  Jim Meyering  <meyering@ascend.com>
96007
96008         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
96009         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
96010
96011 1999-02-07  Jim Meyering  <meyering@ascend.com>
96012
96013         * m4/group-member.m4: New file -- extracted from sh-utils'
96014         configure.in.
96015
96016         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
96017         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
96018
96019 1999-02-06  Jim Meyering  <meyering@ascend.com>
96020
96021         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
96022         * m4/fnmatch.m4: Likewise.
96023         * m4/getgroups.m4: Likewise.
96024         * m4/lstat.m4: Likewise.
96025         * m4/malloc.m4: Likewise.
96026         * m4/putenv.m4: Likewise.
96027         * m4/realloc.m4: Likewise.
96028         * m4/regex.m4: Likewise.
96029         * m4/stat.m4: Likewise.
96030         * m4/strftime.m4: Likewise.
96031         Suggestion from Alain Magloire.
96032
96033         * m4/chown.m4: Use `.$ac_objext', not `.o'.
96034         * m4/fnmatch.m4: Likewise.
96035         * m4/getgroups.m4: Likewise.
96036         * m4/getline.m4: Likewise.
96037         * m4/lstat.m4: Likewise.
96038         * m4/malloc.m4: Likewise.
96039         * m4/memcmp.m4: Likewise.
96040         * m4/putenv.m4: Likewise.
96041         * m4/realloc.m4: Likewise.
96042         * m4/regex.m4: Likewise.
96043         * m4/stat.m4: Likewise.
96044         * m4/strftime.m4: Likewise.
96045         Suggestion from Alain Magloire.
96046
96047         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
96048         an argument.
96049
96050         * m4/regex.m4: Add a run-time Test for proper operation of
96051         re_compile_pattern.
96052
96053 1999-01-31  Jim Meyering  <meyering@ascend.com>
96054
96055         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
96056
96057 1999-01-30  Jim Meyering  <meyering@ascend.com>
96058
96059         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
96060
96061         * m4/jm-mktime.m4: Make this a wrapper around the official
96062         AM_FUNC_MKTIME rather than my private copy, now that the official one
96063         is up to date.
96064         * m4/mktime.m4: Remove file.
96065
96066         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
96067         * m4/uptime.m4: Likewise.
96068         * m4/uintmax_t.m4: Likewise.
96069
96070 1999-01-28  Jim Meyering  <meyering@ascend.com>
96071
96072         * m4/jm-macros.m4: Use jm_AFS.
96073         * m4/afs.m4: New file (from fileutils' configure.in).
96074
96075         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
96076         * m4/chown.m4: Likewise.
96077         * m4/d-ino.m4: Likewise.
96078         * m4/d-type.m4: Likewise.
96079         * m4/fnmatch.m4: Likewise.
96080         * m4/getgroups.m4: Likewise.
96081         * m4/gettext.m4: Likewise.
96082         * m4/jm-mktime.m4: Likewise.
96083         * m4/jm-winsz2.m4: Likewise.
96084         * m4/lcmessage.m4: Likewise.
96085         * m4/ls-mntd-fs.m4: Likewise.
96086         * m4/malloc.m4: Likewise.
96087         * m4/memcmp.m4: Likewise.
96088         * m4/putenv.m4: Likewise.
96089         * m4/realloc.m4: Likewise.
96090         * m4/st_mtim.m4: Likewise.
96091         * m4/strftime.m4: Likewise.
96092
96093 1999-01-16  Jim Meyering  <meyering@ascend.com>
96094
96095         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
96096         (ARGMATCH_DIE_DECL): Define.
96097
96098 1999-01-12  Jim Meyering  <meyering@ascend.com>
96099
96100         * m4/Makefile.am.in: Rewrite to avoid using fmt.
96101         Reported by Lars Hecking.
96102
96103 1999-01-10  Jim Meyering  <meyering@ascend.com>
96104
96105         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
96106         gross kludge.
96107         * m4/inttypes_h.m4: Likewise.
96108         * m4/lstat.m4: Likewise.
96109         * m4/malloc.m4: Likewise.
96110         * m4/readdir.m4: Likewise.
96111         * m4/realloc.m4: Likewise.
96112         * m4/st_dm_mode.m4: Likewise.
96113         * m4/stat.m4: Likewise.
96114         * m4/utimbuf.m4: Likewise.
96115         * m4/utimes.m4: Likewise.
96116
96117         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
96118         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
96119         comments in config.h.in are meaningful.
96120
96121         * m4/jm-macros.m4: Require autoconf-2.13 here.
96122
96123         * m4/regex.m4: By default, don't use the included regex.c on systems
96124         with glibc 2.  Suggestion from Uli Drepper.
96125
96126 1999-01-02  Jim Meyering  <meyering@ascend.com>
96127
96128         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
96129
96130 1998-12-18  Jim Meyering  <meyering@ascend.com>
96131
96132         * m4/Makefile.am.in (Makefile.am): Simplify rule.
96133         Based on a suggestion from Lars Hecking.
96134
96135 1998-11-16  Paul Eggert  <eggert@twinsun.com>
96136
96137         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
96138
96139 1998-11-16  Jim Meyering  <meyering@ascend.com>
96140
96141         * m4/lfs.m4: Double-quote the `uname...` expression.
96142
96143 1998-11-14  Jim Meyering  <meyering@ascend.com>
96144
96145         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
96146         * m4/stat.m4: Likewise.
96147
96148 1998-11-03  Jim Meyering  <meyering@ascend.com>
96149
96150         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
96151         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
96152
96153 1998-10-18  Jim Meyering  <meyering@ascend.com>
96154
96155         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
96156
96157 1998-10-17  Jim Meyering  <meyering@ascend.com>
96158
96159         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
96160         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
96161         calls for those previously hard-coded headers.  Instead, take a new
96162         parameter.
96163         (jm_CHECK_DECLARATIONS): Reflect interface change.
96164         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
96165         (jm_CHECK_DECL_LOCALTIME_R): New macro.
96166
96167         * m4/mktime.m4: Test for spring-forward gap before long-running test.
96168
96169 1998-10-14  Jim Meyering  <meyering@ascend.com>
96170
96171         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
96172         instead of "TZ=America/Vancouver".  From Paul Eggert.
96173
96174 1998-10-11  Jim Meyering  <meyering@ascend.com>
96175
96176         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
96177         This adds a test for a recently added compatibility fix for mktime.c.
96178         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
96179
96180 1998-09-27  Jim Meyering  <meyering@ascend.com>
96181
96182         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
96183
96184         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
96185         ../configure.in, including a change from Gordon Matzigkeit to allow
96186         cross-compiling for the Hurd.
96187
96188         * m4/glibc.m4: New file/macro to test for the GNU C Library
96189         versions 1 and 2.  From Gordon Matzigkeit.
96190         Indent.
96191
96192 1998-09-21  Jim Meyering  <meyering@ascend.com>
96193
96194         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
96195
96196 1998-08-18  Paul Eggert  <eggert@twinsun.com>
96197
96198         Port nanosecond-resolution times to UnixWare 2.1.2 and
96199         pedantic Solaris 2.6.
96200
96201         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
96202         AC_STRUCT_ST_MTIM.
96203         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
96204         Generate name of ns member, instead of just 1 or undef.
96205         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
96206
96207 1998-08-15  Jim Meyering  <meyering@ascend.com>
96208
96209         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
96210         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
96211         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
96212         instead of jm_TYPE_SSIZE_T.
96213
96214 1998-08-12  Jim Meyering  <meyering@ascend.com>
96215
96216         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
96217
96218 1998-08-02  Jim Meyering  <meyering@ascend.com>
96219
96220         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
96221         in acconfig.h manually.
96222
96223 1998-07-31  Paul Eggert  <eggert@twinsun.com>
96224
96225         * m4/st_mtim.m4: New file.
96226
96227 1998-07-28  Jim Meyering  <meyering@ascend.com>
96228
96229         * m4/utimes.m4: Undef stat.
96230
96231 1998-07-25  Jim Meyering  <meyering@ascend.com>
96232
96233         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
96234         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
96235
96236 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
96237
96238         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
96239         uid and gid actually remain unchanged.
96240
96241 1998-07-07  Jim Meyering  <meyering@ascend.com>
96242
96243         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
96244
96245 1998-07-04  Jim Meyering  <meyering@ascend.com>
96246
96247         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
96248         to prove that this macro can be used in packages without regex.c.
96249
96250 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
96251
96252         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
96253         is to be used.
96254
96255 1998-07-03  Jim Meyering  <meyering@ascend.com>
96256
96257         * m4/gettext.m4: Add -lintl if it's found to be necessary.
96258
96259         * m4/gettext.m4: New file -- from gettext-0.10.35.
96260         * m4/lcmessage.m4: Likewise.
96261         * m4/progtest.m4: Likewise.
96262
96263         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
96264         * m4/jm-macros.m4: Require the new macro.
96265
96266 1998-06-29  Jim Meyering  <meyering@ascend.com>
96267
96268         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
96269         for the definition of NGROUPS (used in a system header included
96270         by sys/mount.h).
96271
96272 1998-06-28  Jim Meyering  <meyering@ascend.com>
96273
96274         * m4/ls-mntd-fs.m4: New file.
96275         * m4/fstypename.m4: New file.
96276
96277         * m4/jm-macros.m4: Require the new macro.
96278         * m4/jm-glibc-io.m4: New file.
96279
96280 1998-05-19  Jim Meyering  <meyering@ascend.com>
96281
96282         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
96283         * m4/lchown.m4: New file.
96284
96285         * m4/Makefile.am.in: New file.
96286         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
96287
96288 1998-05-14  Jim Meyering  <meyering@ascend.com>
96289
96290         * m4/Makefile.am (EXTRA_DIST): Add them.
96291         * m4/jm-macros.m4: New file.
96292         * m4/utimbuf.m4: New file.
96293
96294 1998-05-12  Jim Meyering  <meyering@ascend.com>
96295
96296         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
96297
96298 1998-05-11  Jim Meyering  <meyering@ascend.com>
96299
96300         * m4/isc-posix.m4: New file.
96301
96302 1998-05-10  Jim Meyering  <meyering@ascend.com>
96303
96304         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
96305
96306 1998-05-09  Jim Meyering  <meyering@ascend.com>
96307
96308         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
96309         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
96310         with automake.
96311
96312         * m4/ssize_t.m4: New file.
96313         * m4/mktime.m4: Remove file -- the new automake has this now.
96314
96315 1998-04-26  Jim Meyering  <meyering@ascend.com>
96316
96317         * m4/assert.m4: New file.
96318         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
96319
96320 1998-04-05  Jim Meyering  <meyering@ascend.com>
96321
96322         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
96323         (jm_PREREQ): Use it here.
96324
96325 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
96326
96327         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
96328         in acconfig.h.
96329
96330 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
96331
96332         * m4/prereq.m4: New file.
96333         * m4/error.m4: New file.
96334         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
96335
96336 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
96337
96338         * m4/getline.m4: Don't set am_cv_func_working_getline before the
96339         cache-check for the same variable -- that defeated the purpose of
96340         the test; the test program was never run.  This was a problem only
96341         on systems with losing getline functions -- HP-UX 10.20 is one.
96342         Reported by Bjorn Helgaas.
96343
96344 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
96345
96346         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
96347
96348 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
96349
96350         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
96351
96352         * m4/const.m4: New file.  Use an initializer in this declaration
96353         typedef int charset[2]; const charset x;
96354         Reported by Bob Glickstein.
96355
96356 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
96357
96358         * m4/chown.m4: Fix reversed types on -1 args to chown.
96359         From Kaveh Ghazi.
96360
96361 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
96362
96363         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
96364         Add lseek and memchr.
96365
96366         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
96367         T.E.Dickey <dickey@clark.net> said that some older preprocessors
96368         have a 20-character limit on names.
96369
96370 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
96371
96372         * m4/inttypes_h.m4: New file.
96373         * m4/uintmax_t.m4: New file.
96374         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
96375
96376
96377         -----
96378
96379         Local Variables:
96380         coding: utf-8
96381         End:
96382
96383         Copyright (C) 1997-2012 Free Software Foundation, Inc.
96384
96385         Copying and distribution of this file, with or without
96386         modification, are permitted provided the copyright notice
96387         and this notice are preserved.